ВУЗ:
Составители:
Рубрика:
19
для данного предложения. Анонимные переменные не отличаются от
обычных при поиске соответствий, но не принимают значений и не
появляются в ответах. Различные вхождения знака подчеркивания означают
различные анонимные переменные.
Отношения между объектами в Прологе называются фактами. Факт
соответствует фразе Хорна, состоящей из одного положительного литерала.
Факт – это простейшая разновидность предложения
Пролога.
Любой факт имеет соответствующее значение истинности и определяет
отношение между термами.
Факт является простым предикатом, который записывается в виде
функционального терма, состоящего из имени отношения и объектов,
заключенных в круглые скобки, например:
мать( мария, анна).
отец( иван, анна).
Точка, стоящая после предиката, указывает на то, что рассматриваемое
выражение является
фактом.
Вторым типом предложений Пролога является вопрос или цель. Цель –
это средство формулировки задачи, которую должна решать программа.
Простой вопрос (цель) синтаксически является разновидностью факта,
например:
Цель: мать (мария, юлия).
В данном случае программе задан вопрос, является ли мария матерью
юлии. Если необходимо задать вопрос, кто является матерью юлии, то
цель
будет иметь следующий вид:
Цель: мать( X, юлия).
Сложные цели представляют собой конъюнкцию простых целей и
имеют следующий вид:
Цель: Q
1
, Q
2
,…,Q
n
, где запятая обозначает операцию конъюнкции, а Q
1
,
Q
2
,…,Q
n
– подцели главной цели.
Конъюнкция в Прологе истинна только при истинности всех компонент,
однако, в отличие от логики, в Прологе учитывается порядок оценки
истинности компонент (слева направо).
Пример 15.
Пусть задана семейная БД при помощи перечисления родительских
отношений в виде списка фактов:
мать( мария, анна).
мать(мария, юлия).
мать( анна, петр).
отец(
иван, анна).
отец( иван, юлия).
Тогда вопрос, является ли иван дедом петра, можно задать в виде
следующей цели:
Цель: отец( иван, X), мать(X, петр).
Страницы
- « первая
- ‹ предыдущая
- …
- 17
- 18
- 19
- 20
- 21
- …
- следующая ›
- последняя »