Raw

Лабораторна робота 2 — Створення системи логічних предикатів

Друга лабораторна робота курсу «Основи дискретної математики». Ви будуєте невелику базу знань мовою логічного програмування Prolog: описуєте генеалогічне дерево набором фактів і виражаєте родинні відношення (брат, сестра, батьки, дід, баба, дядько, тітка, двоюрідні) через правила — логічні формули над базовими предикатами. Робота виконується в онлайн-середовищі SWISH і є практичним продовженням Лекції 6 «Логіка предикатів».

Стисло

Тема Предикати як відношення; факти, правила та запити в Prolog
Передумова Лекція 6 — Логіка предикатів
Середовище SWISH SWI-Prolog — у браузері, реєстрація не потрібна
Результат База знань (.pl-програма) + звіт (див. 5report.md)
Оцінювання Три рівні: базовий 60–74 / середній 75–89 / високий 90–100 (див. 4task.md)

Зміст

# Частина Файл
1 Мета роботи 1purpose.md
2 Методичні вказівки (теорія, середовище, приклади) 2method.md
4 Завдання та порядок виконання 4task.md
5 Зміст звіту 5report.md
6 Контрольні запитання 6questions.md

Домовленості

  • Мова. Програма (факти, правила, запити) — мовою Prolog; звіт — українською.
  • Індивідуальний варіант. Значення для дерева (імена людей, зв’язки) ви обираєте самостійно; двох однакових дерев у групі бути не повинно. Дерево має бути достатньо розгалуженим, щоб усі предикати вашого рівня давали непорожні відповіді (див. вимоги в 4task.md).
  • Пишете самі. У 2method.md показано метод на демонстраційному прикладі; правила для власного дерева ви складаєте самостійно. Готового коду для завдання не наведено.
  • Синтаксична дисципліна Prolog. Імена-константи (атоми) пишуть з малої літери (ivan, petro), змінні — з великої (X, Y, Z). Кожне речення програми завершують крапкою.
  • Самодостатність. Уся потрібна теорія зібрана в 2method.md; зовнішні джерела не потрібні.

Підсумок

Робота перетворює поняття Лекції 6предикат як відношення, квантори, вираження одних відношень через інші — на працездатну програму. Спочатку родину описують фактами (man/1, woman/1, father/2, mother/2), потім складніші відношення виводять правилами: brother, sister, parents (базовий рівень), grandfather, grandmother (середній рівень), uncle, aunt, cousin (високий рівень). Перевіряють результат запитами в SWISH, спостерігаючи, як інтерпретатор виконує уніфікацію та пошук із поверненням. Це прямий місток від логіки предикатів до декларативного програмування.

Laboratory/Laboratory2/main.md · 4.6 KB · updated 2026-08-04 14:33