с помощью логики предикатов следующие
Упражнения
1. Выразите с помощью логики предикатов следующие утверждения.
I) Каждый студент использует какой-нибудь компьютер, и по крайней мере один компьютер используется каждым студентом. (Используйте только предикаты СТУДЕНТ, КОМПЬЮТЕР и ИСПОЛЬЗУЕТ.)
II) Каждый год некоторые студенты-мужчины проваливают каждый экзамен, но каждый студент-женщина сдает какой-нибудь экзамен. (Используйте только предикаты СТУДЕНТ, МУЖЧИНА, ЖЕНЩИНА, СДАЕТ, ЭКЗАМЕН, ГОД.)
Ill) Каждый мужчина любит какую-нибудь женщину, которая любит другого мужчину. (Используйте только предикаты МУЖЧИНА, ЖЕНЩИНА, ЛЮБИТ и = .)
IV) Не существует двух философов, которые любили бы одну и ту же книгу. (Используйте только предикаты ФИЛОСОФ, КНИГА, ЛЮБИТ и = .)
2. Выразите предложения упр. 1 в форме фразы.
3. Имеет ли смысл выразить следующие цитаты с помощью логики предикатов? Покажите, в чем состоит сложность такого преобразования в каждом конкретном случае.
I) Ни один человек не является островом. (Джон Донн (John Donne))
II) Человек, который живет где-нибудь, живет везде. (Тацит)
III) Прошлое — это иная страна. В нем все происходит по-другому. (Л. П. Хартли (L. P. Hartley))
4. Следующая формула утверждает, что кто-то бреет себя сам или парикмахер бреет кого-то:
бреет) X, X), бреет (парикмахер, X) <—
I) Используя обратную стратегию, покажите, что из этой формулы следует
бреет (парикмахер, парикмахер) <-
II) То же самое покажите с помощью прямой стратегии.
III) Как вы понимаете в том же контексте следующую фразу:
<- бреет(У, Y), бреет (парикмахер, У)
IV) Покажите, что следующие фразы противоречивы. Для этого достаточно показать, что из них следует пустая фраза:
бреет(Х, X), бреет (парикмахер, X)
<-<- бреет(У, Y), бреет (парикмахер, Y)
5. Ниже представлены правило поиска неисправности и описание конкретной ситуации.
Если компьютер не включается и напряжение в сети питания в норме, то оборван шнур питания или неисправен блок питания. Мой компьютер не включается. Напряжение в сети питания в норме. Шнур питания не оборван.
I) Выразите эти предложения в форме логики предикатов.
II) Постройте конъюнктивную нормальную форму.
III) Используя прямую стратегию доказательства, покажите, что утверждение "Неисправен блок питания" логически вытекает из приведенного набора фактов. То же самое покажите с использованием обратной стратегии доказательства.
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. Сравните оба варианта программы.
Содержание раздела