Raw

1. Мета роботи

Навчитися описувати відношення предметної області системою логічних предикатів і реалізовувати цю систему мовою Prolog: задавати знання фактами, виражати похідні відношення правилами (логічними формулами над базовими предикатами) та отримувати відповіді запитами.

Виконавши роботу, студент повинен уміти:

  • тлумачити предикат як відношення — розуміти місність (арність) предиката, його область визначення та значення {1,0}\{1,0\}, і бачити nn-місний предикат як підмножину декартового степеня MnM^{n} (зв’язок з Лекцією 6);
  • формалізувати предметну область фактами — описати генеалогічне дерево набором фактів man/1, woman/1, father/2, mother/2 із власними значеннями;
  • виражати похідні відношення правилами — записувати родинні відношення (brother, sister, parents, grandfather, grandmother, uncle, aunt, cousin) як кон’юнкцію базових предикатів з умовою нерівності \=, спираючись на допоміжний предикат parent/2;
  • розрізняти атоми та змінні — застосовувати правило «мала літера — константа, велика — змінна» й розуміти роль анонімної змінної _;
  • формулювати й читати запити — ставити запитання до бази знань і правильно тлумачити відповіді true/false та підстановки значень змінних;
  • пояснювати механізм виконання — на прикладі своїх запитів описати уніфікацію та пошук із поверненням (backtracking) і причину появи кількох відповідей;
  • працювати в середовищі SWISH — набирати програму, зберігати її та виконувати запити в онлайн-інтерпретаторі SWI-Prolog.

Робота закріплює матеріал Лекції 6 — Логіка предикатів, перетворюючи означення предиката, кванторів і законів алгебри предикатів на невелику, але повноцінну базу знань, яку можна запитувати.

Laboratory/Laboratory2/1purpose.md · 3.0 KB · updated 2026-08-04 14:33