Рекомендуемая литература. Упражнения.
Упражнение 6
Предположим, что в синтаксисе языка PROLOG цель сформулирована следующим образом: – bachelor (f red).
I) К какому заключению придет приведенная ниже PROLOG-программа относительно семейного положения человека по имени Fred?
man(fred). man(george). wife(george, georgina). bachelor(X): – not(wife(X, Y)). not(P): – call(P),!, fail. not(P).
II) К какому заключению придет приведенная ниже PROLOG-программа?
man(fred). man(george). wife(george, georgina). bachelor(X): – not(wife(X, Y)). (wife(X, Y):-!, fail. (wifeffred, freda).
Упражнение 7
Предположим, что в синтаксисе языка PROLOG цель сформулирована следующим образом: – enemy(fred).
I) К какому заключению придет приведенная ниже MBASE-программа относительно человека по имени Fred?
DBC(friend (george)). republican(fred). enemy(X): – not(DBC(friend(X))). friend(X)): – republican(X). not(P): – call(P),!, fail. not(P).
II) К какому заключению придет приведенная ниже MBASE-программа?
DBC(friend (george)). enemy(X): – not(DBC(friend(X))) .friend(X)) : – not(communist(X)) .not(P) : – call(P),!, fail .not(P).
Упражнение 8
Ниже приведена программа на языке PROLOG, в которой идентифицируется подмножество лиц, имеющих право работать в службе обеспечения общественного порядка штата Нью-Йорк. Вы можете ввести эту программу в исполнительную систему PROLOG и поэкспериментировать с ней.
Затем попробуйте добавить в программу новое правило, касающееся еще одной категории служащих.
Деревенские констебли, назначенные с условием, что это не противоречит законам штата.
Данные для тестирования этого правила включены в раздел фактов программы.
/ Правила для сотрудников службы общественного порядка / / Шериф и заместитель шерифа округа Нью-Йорк / / The sheriff and deputy sheriff of NYC / po(X):- (sheriff(X); deputy(X)), jurisdiction(X, nyc). / Сотрудники службы охраны порядка округа Уэстчестер, принятые на работу после 1982 года, которые выполняют функции, ранее возлагавшиеся на шерифа округа Уэстчестер / / Officers of Westchester country public safety services appointed after 1982 who perform functions previously performed by a Westchester country sheriff on or prior to such date / po(X):- safetyOfficer(X), jurisdiction(X, Westchester), appointed(X, Date), Date > 1982. / ФАКТЫ / / Wayne, Doug, Ken и Pete – некоторые лица. /. sheriff(wayne). jurisdiction(wayne, nyc). deputy(doug), jurisdictionfdoug, nyc). constable(ken), jurisdiction(ken, naples). village(naples). RuledOut(constable, naples). safetyOfficer(pete) jurisdiction(pete, Westchester). appointed(pete, 1990).
Упражнение 9
Запишите программу из упр. 8 на языке CLIPS. Сравните оба варианта программы.