С помощью
истинными
.
Предложения Пролога состоят из
и
.
Тело
- это список
, разделенных запятыми. Запятая понимается как конъюнкция.
Факты - это предложения, имеющие пустое тело. Вопросы имеют только тело. Правила имеют голову и (непустое) тело.
По ходу вычислений вместо переменной может быть подставлен другой объект. Мы говорим в этом случае, что переменная
Предполагается, что на переменные действует квантор всеобщности, читаемый как 'для всех...'. Однако для переменных, появляющихся только в теле, возможны и другие формулировки. Например,
имеетребенка( X) :- родитель( X, Y).
можно прочитать двумя способами:
(а)
если X - отец Y, то
X имеет ребенка.
(б)
X имеет ребенка, если
существует
X - родитель Y.
Упражнения
1. 3. Оттранслируйте следующие утверждения в правила на Прологе:
(a) Всякий, кто имеет ребенка, - счастлив (введите одноаргументное отношение счастлив).
(b) Всякий X, имеющий ребенка, у которого есть сестра, имеет двух детей (введите новое отношение иметьдвухдетей).
Посмотреть ответ
1. 4. Определите отношение внук, используя отношение родитель. Указание: оно будет похоже на отношение родительродителя (см. рис. 1.3).
Посмотреть ответ
1. 5. Определите отношение тетя( X, Y) через отношение родитель и сестра. Для облегчения работы можно сначала изобразить отношение тетя в виде диаграммы по типу тех, что изображены на рис. 1.3.
Посмотреть ответ
Назад | Содержание | Вперёд
Назад | Содержание | Вперёд
1. 3. Рекурсивное определение правил
Давайте добавим к нашей программе о родственных связях еще одно отношение - предок. Определим его через отношение родитель. Все отношение можно выразить с помощью двух