Скачиваний:
60
Добавлен:
21.03.2019
Размер:
4.06 Mб
Скачать

Теперьинеем формулы логикипредикатов, вкоторых присутст­ вуют термы (в частности, переменные). Отличие метода резолюций в логике гтре,матов состоит л дополнительной процедуре работы с термамидля унификации формул.

существует общий унификаторSi, например, (Л,)е1= (1 ^ = (£.,)0,, то

из этихтрех литер достаточно оставитьтолько одну. Если для некото­ рых оставшихся существует общий унификатор 0;, нппримгр, (£]>9, - (1,)9,, то тоже оставляемтолькоодну яз них и г.Д.

Пример. Пусть D = r(J{a))‘tP(x')-/Qia.fu))v Q{xAb)b 20,*).

е - lo/дг, Ыи. аМ Ю М , Ai- Pm ) v/>(CT)vQ {a Jib))-

Если две или более литер дизъюнста D имеют наиболее общий унификатор6:

( tt= (2,)9=(1^,

то оставление одного иг этих литералов вместо всех них называют

Пусть имеем jRa дгаъюнктя А и Я} и переданные, входящие в D1, не входят в Вг и обратно. Е;ди это не так, то переименованием переменныхзтого можнодобить:». Пусть t fli есть литера, например.

Li, а е D; - литера Ij. Если L\ и1U имеют наиболее ойщий унвфика-

ЛитерыL| иLi называются отрезаемымилитерами.

Рассмотрим пример. Пусть D,=P(x) v Qfx). 0 2 =1 P{a)v Tlx)

Переименуем i я В,: D, =1 P!u)v Tty). Положим, что 0 = {л/х). Тогда имеем:

cd,), = m v « в ) ,(л ь - 1 а д v j\j>) , ОЛраеываем щтгерыР(n),l? (и) н получимбинарнуюрезольвенту:

R-Q(a)vT<y)

 

Пусть имеем В,= 1 Я|» v « 4 *>> =1 SM

г(*1 Тогяд

Ог - 1¢0-)v 71» иЯ = 1Р (у) v ГО).

Ремльаентй'З дизъюпгтое - поеылок¢, и Di - называете» они из следующихбинарныхрезольвент:

1)бинарная резольвента П, иОг,

2)бинарная резольвентаК, к склейкиflj,

3)бинарнаярезольвентаD jисклгЯкиО,,

4)бинарная резольвента склейки,Z»i неклейкий;.

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

Можнодоказатьследующую важнуютеорему.

Теорема 3-10. (полнота метода революций) Множество S дизъюнктов невыполнимотогда и только тома, когда существует вы­ вод пустогодишонкта ш 5.

Пробавма дедукции логики предикатов состоит, как и в логике высказывания, в вьиснекии: будет ли формула В логическим следст­

вием формулой,А-х..... А-

можно распространить и дла логики предикатов, записывая всюду вместословаотавтакогил»слова«логическиобщезначимаяформула».

Из изложенного можно получить следующую последователь­ ность действийдля выяснения; будет ли формулаВ логическим след­

ствием формулЛиA}, ..,А„.

 

1. Строим конъюнкциюС -

...& Л,..&.' В. Огметим, что

требуеыое следствие (включение) вэтгос отрицанием.

112

2.Находим (cKoiisMcmcKyio)стандартную форму С,для формулы

С.Ппиояш, что фирма С, = {Q)>:[Q1x!...Qji„yCtltC1!c...ScCm где

={Q&\QiXi 'flrV) - префикс формулы йеа кванторов сушествпяаняя, вС|,Сг,...,С„ -дкзъюнктй, в которых по необходимости введены сколемовскисфункции.

3. Дна множества легьюиктов .T={Ci,£Tf,...,С„,} применяем метод резолюций.

Формула В будет логическим следствием формулЛh 4г, ..., А,

тогда и только тоща, когда существует вывод nytroco дилюнкта

§ 11. Приложение метода решлнщий для аналта енллогпэмов Аристотеля

По Аристотелю «ашегшм же естьречь, л которой при предпояежении чего-нибудь га него с необходи.\юстыо вытекает нечто отличное от утвержденного и [именно] в силу тоги.

Известно, что силлогии Аристотеля можно представить как не-

пторую гсочбикадигапредложении следующие видов:

А: Вшкив Месть Р

\Ат->=>ш

Е: ВмккйМ не естьР

ЩМ(х)=>]Р(х)У,

I: НекоторыйМ есть Р

 

0: Некоторый Мне sen, Р

 

Силлогизм обозначают буквими по вилы пссьаок эаключюша. Например, силлогизм АЛА означает, что использованы три предложения вида А. В зависимости от положения среднего тер-

113

мине s посыпках различают четыре фигуры силлогизме Модусами силлогизма назымюти» ршиоеидяосгк cwiiurteva, итличающиесв качественной н юличестзекнойхарактеристикой посылок и эачпюче-

три бумы а). Можно подсчитать, что количество различны* модусов силлогизмовАристотеляравно 256(по 64г каждойфигуре). Сколько

следует иетиннмте заключения? Известно, что правильных модусое 24. Рассмотрим применение метода резолюций ала йчяскеииа правильности модусов.

РассмотримсиллогизмБарВара, построенныйпо первой фигуре.

Всимвольной записи онознвчает, чтот истннногтиформул

V.(ЭДэРМ),

V* №>=>g(4)

У*(ЭД=Й(«Й.

т. е. доказать, что из формул Vi(Sfi)^P(x)) к погичецем следуетформулаVi(.S(«)=>fiM) Известно, что,еслиформуле

С = (Удад»ад))«(\*(ад=>е<*)))А1 Vi№)=.e(x))

(3.9)

«вляетсяпротиворечием, из посылоксиллогизма будетлогически следоаать его заюпечогне. Так кгк формула Ссодержкт только эдноме-

нет-можно былобысвестик проблемераэрешижктн логики выска­ зываний. При этом получили бЬ1нетривиальную эш 'ц а силу слеаумшего В формуле Стрипредикатные6у*в1],следовательно, нужно было бы шять множссгео содержащее 21- 8 элементов, положим W “{1,2....8}. Тогда каждый предикат порождает на М по 8 вьква- эыв>н11Й:Я1у..да?0)г..Л%^>г.-,да.

дм С, будет24 переменках и таблице имннюсти буш содержать

с помощью ЭВМ. В случае применения метода резолюция вычисле-

Слелуя указанной я § 10 процедуре, ну»1ю получить скслемовскую стандартную форму С, для формулы С, которая имеет яид (3.9). Сначала переименуем вхождения! повторой поешке нау, а язаклю­ чение силлогизма Каг (в первойпосылке переменную х не переимено­

вываем). Легко видеть, то первые ш

лигьюкт 5 С, будут спедую-

1 )

i « x )

v P ( x ) ,

2)

1 /’О'М й’),

 

и, очевидна, они получены из посылок силлогизма. Заключение силлогизма я (3.9) язети с отрицанием: V*(S(z)»Q(;B Преобразуя по­ следнюю формулу, получим: 3:(S(?)&"|j3(r)). При нахождении сколемовскоВ стандартной формы квантор сушиетвования можно вынести первым и затем, удаляя его, ввести постоянную а вместо переменной удаляемого квантора, (переменной г). В результате в стандартной форме С, будутеще два дизъюнкта:

3)т -

4)12(о),

полученные из заключения силлогизма. Теперь к множеству витьюнк-

5) ?(а) из 3) и 1), ^ 6)>(а)из4)и2),

7)о к? 5) и 6).

Таким образом, получилипустойдизъюнкт, следовагелькр, СИЛ­ ЛОГИЗМАМ верей.

Рассмотрим силлогизм Datii (All no 3-R фигуре). Всимволиче­ ское записи имеем.

**(РСх)=>ЭД) Э* (№)&&*))

3дС%)*Й(х)). Преобразуя, как н ранее, получим:

115

1) IffxjvSM;

2)

3)m .

4)1sx»vl60-).

Далее получаем следующие бинарные резольвенты: 5)ЗД »1)к2),

6)

1а д из 3)и 4),

7)D

мз5) и 6).

Следовательно, силлогизмЛИиергн Рассмотрим еп» силпогнзм, которыйв символьнойзаписи имеет

v*<6W=Л а д . Презбразовав формулы, получим:

2 ) \ т ^ т ,

3) Ш

4) 5(a),

Далее нолучаем бинарную резольвенту: 5)>(в»м2)*3).

Никаких других резольвент получить нельзя, > том числе нельм получить пустой дизъюнкт, тогда из теоремы полноты метола резо­ люций следует, что из посылок не будет (не всегда будет) следовать заключение.

Невыполнимость этого силлогизма можно пояснить ка рис. 3.1, где изображены различные варианта расположения областей истин­ ностипредикатов и области истинности обозначены темиже буквами,

116

§ 12. Использование метода резолюций в языке ПРОЛОГ

Ячык программирования ПРОЛОГ существенно опирается на метод резолюций. Сама название ПРОЛОГ ешь сокращение ознй-

. Вы-ш ПРОЛОГе ИОЖ1ГОрессматриватъ как доюштелмтпо теореи с исполь­ зованиемхетода резолюций и применениемдизъюнктов специального яйлаraptroRCKKX дизъюнктах.

Огметим следующую принципиальную отличительную черту азыгса ПРОЛОГ В языках программирования, гаких как АЛГОЛ, ФОРТРАН, C++, вписывается, гак решать ту или иную задачу. П|»грачмирпвание на ПРОЛОГе указывает только тп, что нужно (необходимо) сделать, т.е. указывается цель, а не процедура решения. Программист должен цать определение ситуации и формулировать зядпчу, а система сама решает задачу. При решении задачи исиолт.зу-

Рассмотрим простейший пример. Пусть задано следующее дерево родственных отношений, изображенное нарис. 3.2.

117

То, что Том является родителем Боба, можно записать на ПРО-

ЛОГе так:

родитель (KI«, 6nfiJ.

Все приведении! дерево родственных отношений описывается следующейнромг-программой:

родитель(п»«, боб).

(ЗЛО

родитель(тон, боб).

(3.11

родитель(той, ял]),

(3.12'

родитель(Зоб, эни).

(3.13

родитель(5о6,п»т).

(3.14

родитель (пат,ажы«).

(3.15

Отметим, что хаадсе предложение пролога .тканчниаггся точ­ кой. После пода такой прогрпммы к пролог-систему этой системе моико задавать попроси, касающиеся отношения родитель. Напри-

м:р, является ли Бой родителем Пата? Этот вопрос стамтга следую­ щимобразом:

?- родитель (во8, дат).

 

Система отвтгг

 

YES

Спа).

 

Отпет

ищется следующим образом. Вопрос

преобразуется

I родитель (боб, пат).

(3.16)

Далее из (З.И) и (З.!6) бинарной резолюцией получаем пустой дизъюнет С, чти и означаетположительныйптает

Другим вопросам мог 15м билтакой; ? - родитель (тш.ли:!).

No (нет).

Этот ответ в лакксм случае требует особого поиснения

Дтчполучения укачанное отпетообразуетсядизъюнкт:

 

W n ™ . (гам, дни).

(3.17)

Этот дизъюнкт ни с одним из дизъюнктов (3.10>—(3.15) не даст

роди.сль (нам, низ].

(3.18)

Но и этот дизъюнкт вместе с (3.10)-(3.15) не порождает пустого

таточно информации". Но * реалпьшич ПРОЛОГа этого но буди. Системпраса-Отрет' только дизъюнкты(3.10)-(3.15)11 (3.17) итак ишс они че лают пусмй дизъюикт, то получим ответ: No (нот). Эго про-

ции. я(шлется ли Пам родителем Лиз, система говорит: Nil (нет), а небудетстроить дизъюнкт (3.1S).

Можно задавать и такие вопросы: "Кто является родителем Лиз?'1В ВИДв:

?-ровнтель (Х,ииз). Система ответит: X=том

Покажем, как находится ответ на этот вопрос. Вопрос, как и ранее, можно было бы преобразовать вдизъюнкт:

1родитель (X, лиз).

Здесь имеется переменная X. Если падстаметь шесто X постоянные (паи, том, боб, пат) и сравнивать с (3.10)-(5-1¾. можно поиучмъ пустой дизьюикт при X, равном «гом>>. Получится пустой дазъкзнкт, означающий, что Х=том истинно, но полученный ответ не сохранится. Для сохранения ответа вводится специальная функция, зависящая от X, называемая ANS-нредикатом (от answer - ответ). Следовательно, к исходным дизъюнктам (3.10)-<3.15) нужно добавить дитьюнкт, соответствующий вопросу:

1 родителях,fl«)vANS(X).

.

(3.19)

Применяя метод резолюций из (3.12) и (3,19), система получит; ANS(TOM) и выдаст результат (на петал): X=IUM

Вопрос "КтодетпБоба?" можно передать системе в ниде:

?- родитель (6о6,Х).

Вданном случае ответ не единственен. В зависимости от вариантов ПРОЛОГа система может выдавать один из ответов, например:

и ждать введенияточки с запятой, после чего выдает второйответ: Х= эви/

В других реализации ПРОЛОГа могут выдаваться последовательно все возможные ответыбез дополнительного запроса.

Системе можно задаватьидругие вопроси, налример,

ПО