Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
05_LR_FLP.doc
Скачиваний:
5
Добавлен:
11.07.2019
Размер:
110.59 Кб
Скачать

Методичні вказівки

Етапи виконання роботи

Виконання завдання складається з чотирьох етапів:

  1. складання схеми зв’язків між об’єктами;

  2. формулювання і запис правила з використанням квантору загальності [4];

  3. запис правила на мові Prolog;

  4. формулювання запитань та отримання відповідей у середовищі Prolog.

При виконанні другого етапу достатньо звертати увагу лише на декларативний сенс правила. У відмінності від цього, на наступному етапі більш уваги слід звернути на процедурний сенс правила для підвищення ефективності пошуку рішень.

Приклад виконання завдання

Задача: Скласти правило для визначення предикату «донька» на основі фактів . жінка (ім’я), батьки (ім’я_батька, ім’я_дитини).

Рішення: Предикат «донька» позначимо daughter(X, Y), де X – імя доньки, Y – імя одного з батьків (мамо або тато). Базу фактів можна скласти на основі схеми родинних відношень, яка представлена на рис. 5.1. Необхідно додати ще факти, які визначать жінок:

woman(тетяна).

woman(ліза).

woman(ганна).

woman(марина).

woman(юлія).

Предикат можна сформулювати наступним чином: для всіх X і Y, X є донькою Y, якщо X є жінкою, і Y є батьком X.

Тоді, правило на мові Prolog має вигляд:

daughter(X,Y) :- woman(X), parent(Y,X).

Після цього можна поставити запитання (табл. 5.3)

Таблиця 5.3 – Приклади запитань

Запитання

Пояснення

Відповідь

? daughter(ганна,марина).

Чи є Ганна донькою Марини?

Yes

? daughter(ганна, X).

Хто є батьком (мати або тато) Ганни?

X = марина;

X = сергій

? daughter(X,марина).

Хто є донькою Марини?

X = ганна

? daughter(_,ліза).

Чи є у Лізи донька?

No

Контрольні запитання

  1. Визначення поняття предикату.

  2. Визначення понять: факт, правило, запитання.

  3. Основні визначення мови Prolog: терм, атом, константа, змінна, структура.

  4. Правила уніфікації термів.

  5. Поясніть, як Prolog-система дає відповідь на запитання.

52

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]