Скачиваний:
105
Добавлен:
01.05.2014
Размер:
7.48 Mб
Скачать

Алгоритм доказательства методом резолюции

Теперь мы можем непосредственно перейти к описанию метода резолюции в логике предикатов. По существу, этот метод совершенно аналогичен методу резолюции в логике высказываний. Различие состоит в том, что дополнительные литералы здесь создаются с помощью операции подстановки. Разумеется, при подстановке в некоторую переменную xтермаtвсе переменныеxв других позициях двух рассматриваемых предложений будут заменены наt. Рассмотрим, как работает алгоритм доказательства на примерах.

Пример 1. Пусть дан текст:

"Полиция разыскала и установила личности всех въехавших в страну, за исключением дипломатов. Шпион въехал в страну, однако распознать личность шпиона может только шпион. Шпион не является дипломатом."

При таких посылках оценим истинность следующего логического вывода: "Среди полицейских имеется шпион."

Введем следующие предикаты:

ВЪЕХАЛ(x):xвъехал в страну.

ДИПЛОМАТ(x) : xявляется дипломатом.

ПОИСК(x,y) : xразыскалy.

ПОЛИЦИЯ(x) : xявляется полицейским.

ШПИОН(x) : xявляется шпионом.

Напишем теперь ППФ, которые соответствуют данному тексту.

______________ 1)("x)[ВЪЕХАЛ(x)ÙДИПЛОМАТ(x)®($y)(ПОИСК(y,x)ÙПОЛИЦИЯ(y))](19)

(для всех xсправедливо, что если не являющийся дипломатом xвъехал в страну, то некоторый полицейский yразыскал такогоx).

2) ($x){ШПИОН(x)ÙВЪЕХАЛ(x)Ù[("y)ПОИСК(y,x)® ШПИОН(y)]}

(если существует шпион x, который въехал в страну, и некоторыйyразыскал этого шпиона, то он сам является шпионом).

_______________

3) ("X)[шпион(X)®дипломат(X)]

(для всех xсправедливо, что еслиxявляется шпионом, то он не является дипломатом.

ППФ описывающая проверяемое заключение выглядит следующим образом

4) ($x)[ШПИОН(x)ÙПОЛИЦИЯ(x)].

Преобразуем теперь эти формулы в клаузальную форму. Формула 1):

___________

("x)[ВЪЕХАЛ(x)ÚДИПЛОМАТ(x)Ú($y)(ПОИСК(y,x)ÙПОЛИЦИЯ(y))]

(убрали импликацию и применили закон де Моргана),

_________

[ВЪЕХАЛ(x)ÚДИПЛОМАТ(x)Ú(ПОИСК(f(x),x)ÙПОЛИЦИЯ(f(x)))]

(ввели сколемовскую функцию f(x)вместо связанной квантором существования переменной y.

В результате первая ППФ даст два клауза

_________

(1) ВЪЕХАЛ(x)ÚДИПЛОМАТ(x)ÚПОИСК(_f(x),x),

___________

(2) ВЪЕХАЛ(x)ÚДИПЛОМАТ(x)ÚПОЛИЦИЯ(f(x)).

Рассмотрим формулу 2). Для начала избавимся от связки®.

___________

($x){(ШПИОН(x)ÙВЪЕХАЛ(x)Ù[($y)ПОИСК(y,x)Ú ШПИОН(y)]}

Квантор существования, который связывает переменную x, свидетельствует о том, что имеется конкретный объект (назовем его константой a), для которого истинны предикатыВЪЕХАЛ(a)иШПИОН(a). Чтобы избавиться от второго квантора существования, который связывает переменную y введем сколемовскую функцию. Тогда формула(2) даст три клауза:

(3) ШПИОН(a),

(4) ВЪЕХАЛ(a),

_____

(5) ПОИСК(f(x),x))Ú ШПИОН(f(x)).

Формула 3) преобразуется в следующий клауз:

__________ ______________

(6) ШПИОН(x) Ú ДИПЛОМАТ(x)

Отрицание формулы 4) даст клауз:

___________ _______________

(7) ШПИОН(x)Ú ПОЛИЦИЯ(f(x))

Выведем из этих 7 предложений ложное методом резолюции:

______________

(8) ДИПЛОМАТ(a)- резольвента (3) и (6) при подстановке{a/x},

(9) ДИПЛОМАТ(a)ÚПОЛИЦИЯ(f(a))- резольвента (2) и (4) при{a/x},

(10) ПОЛИЦИЯ(f(a))- резольвента (8) и (9),

(11) ДИПЛОМАТ(a)ÚПОИСК(f(a),a)- резольвента (1) и (4) при{a/x},

(12) ПОИСК(f(a),a)- резольвента (8) и (11),

(13) ШПИОН(f(a))- резольвента (12) и (5) при{a/x},

(14) ПОЛИЦИЯ(f(a))- резольвента (13) и (7) при{a/x},

(15) 0 - резольвента (14) и (10).

Таким образом, мы доказали, что из данного текста следует, вывод о наличии шпиона среди полицейских.

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

Проиллюстрируем сказанное на примере родственных отношений богов из мифов Древней Греции.

Пример 2. Известно, что отцом титанов, богов второго поколения, был Уран. Один из титанов Кронос был отцом олимпийского бога Зевса, который в свою очередь (по одному из вариантов мифа) был отцом Афродиты.

Докажем теперь, что у Афродиты есть дед и он является богом.

Введем предикаты:

ТИТАН(x) - xявляется титаном.

БОГ(x) - xявляется богом.

ДЕД(x,y) - xявляется дедомy.

ОТЕЦ(x,y) - xявляется отцомy.

Запишем перечисленную выше информацию в форме ППФ:

("x)[ТИТАН(x)® ОТЕЦ(Уран,x)](отцом титанов является Уран).

("x)[ТИТАН(x)® БОГ(x)](титаны являются богами).

("x)("y)("z)[ОТЕЦ(x,y)Ù ОТЕЦ(y,z)® ДЕД(x,z)](отец отца является дедом).

ТИТАН(Кронос)(Кронос является титаном).

ОТЕЦ(Кронос,Зевс)(отцом Зевса был Кронос).

ОТЕЦ(Зевс,Афродита)(отцом Афродиты был Зевс).

Наконец заключение, которое мы должны доказать выглядит следующим образом:

($x)[ДЕД(x,Aфродита)ÙБОГ(x)].

Эти ППФ преобразуются в следующее клаузальное множество:

__________

(1) ТИТАН(x)Ú ОТЕЦ(УРАН,x),

___________

(2) ТИТАН(x)Ú БОГ(x),

_________ _________

(3) ОТЕЦ(x,y)Ú ОТЕЦ(y,z)ÚДЕД(x,z),

________________ __________

(4) ДЕД(x,Aфродита)ÚБОГ(x),

(5) ТИТАН(Кронос),

(6) ОТЕЦ(Кронос,Зевс),

(7) ОТЕЦ(Зевс,Афродита).

Доказательство:

_________ _________________ ______

(8) ОТЕЦ(x,y)ÚОТЕЦ(y,Афродита)ÚБОГ(x) - резольвента (3) и (4) при {Афродита/z},

____________ ______

(9) ОТЕЦ(x,Зевс)Ú БОГ(x) - резольвента (7) и (8) при{Зевс/y},

_______________

(10) БОГ(КРОНОС)- резольвента (9) и (6) при{Кронос x},

_________________

(11) ТИТАН(КРОНОС) - резольвента (2) и (10) при{Кронос/x},

(12) 0 - резольвента (5) и (11).

Дополнительно мы узнали в процессе доказательства нашей теоремы, что дедом Афродиты был Кронос.