double arrow

Листинг 2.1.Программа о семейных отношениях

domains

person=symbol

predicates

parent(person,person)

female(person)

sister(person,person)

clauses

parent(pam,bob). %определение отношений

parent(tom,bob). % на основе фактов

parent(bob,ann).

parent(bob,pat).

parent(pat,jim).

parent(tom,liz).

female(ann).

female(pat).

female(liz).

female(pam).

sister(X,Y):- %определение отношений

parent(Z,X), % на основе правил

parent(Z,Y),

female(X),

X<>Y.

goal (внешняя цель)

sister(X,ann).

Представленное на рис.1.1.дерево семейных отношений определено в программе на основе 6 предложений, каждое из которых объявляет о наличии одного факта, выраженного отношением parent.Это отношение определяет связь между двумя объектами.

Чуть ниже представлены 4 предложения, каждое из которых объявляет о наличии факта, выраженного унарным отношением female.Это отношение определяет такое свойство объекта как принадлежность к женскому полу.

Последовательность предложений, описывающих один и тот же предикат, называется процедурой.

Все предложения, относящиеся к одной и той же процедуре, имеют одинаковое имя предиката и одну и ту же размерность(арность). Эти предложения должны следовать друг за другом.

Следующее предложение программы определяет отношение sister(X,Y) на основе правил. Правила определяют условия, при которых отношения между объектами становятся истинными. Чем правило отличается от факта? Факт всегда является истинным. Правило становится истинным при выполнении определенных условий. Правило имеет голову и тело. Правило (его заголовок) принимает значение истина только в том случае, если приняли значение истинности все предложения, составляющие его тело.

голова:- тело.

Правило применимо к любым объектам, поэтому в правиле используются переменные, которые по ходу решения задачи могут конкретизироваться.

Для описания объектов и отношений между ними используются идентификаторы. Идентификаторы объекта и отношения начинаются со строчной буквы, за которой может следовать любое число символов – буквы верхнего и нижнего регистров, цифры, знаки подчеркивания.

Нельзя использовать пробелы, знак минус и слеш.

Построим графы, определяющие абстрактные отношения, такие как сестра и тетя:

Рис.2.3 Определение отношений сестра и тетя


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



Сейчас читают про: