Скачиваний:
122
Добавлен:
21.01.2014
Размер:
706.56 Кб
Скачать

S: ù получает (студент, стипендию)

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

Этот подход часто применяется в математике и называется доказательством от противного.

Теперь представим себе, что исходная логическая модель, составленная из трех предложений S1, S2,S3поступает на вход системы логического вывода ЭВМ.

ШАГ 1

Система на первом шаге применит правило (*) к родительским предложениям S1и S2и получит резольвенту:

S: ù сдает (успешно, сессию, студент)

ШАГ 2

Используя правило (**) к S и S3система выводит противоречие:

S`:

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

Если считать, что S2и S3не противоречат друг другу, то они совместно противоречат S1, т. е.

подтверждают отрицание S: ù S1: ù ( ù получает (студент, стипендию))

или другими словами подтверждают предложение:

получает (студент, стипендию)

и ответом на исходную задачу является «ДА».

Логический вывод, который порождает последовательность отрицаний, такую как (S1 ,S , S`) в рассмотренном примере, называетсярезолюцией сверху вниз.

1.4.5.4. Общая резолюция сверху вниз

В общем случае предикаты и ППФ в качестве термов содержат не только константы, но и переменные и функции. Рассмотрим два родительских предложения:

S1: ù получает (студент, У)

S2: получает (Х, стипендию) ¬ сдает (успешно, Z, X)

К ним непосредственно нельзя применить правило резолюции, т.к. они не содержат одинаковых предикатов в левой части импликации и в отрицании. Данные предложения содержат три переменных X, Y, Z, которые неявно универсально квантированы.

Рассмотрим первое предложение, S1, которое утверждает, что:

Для всех у студент не получает у

Причем выражение «для всех» понимается как «для всех индивидуумов из какой либо области, выбранной для интерпретации предложений». При интерпретации S1и S2по крайней мере один индивидуумУбудет связан с именем «стипендия» и поэтому непосредственным следствием S1является более конкретное предложение:

S1`: ù получает (студент, стипендию)

Аналогично рассматривается S2 на области интерпретации S1и S2и, выбирая дляХ, индивидуум с именем «студент», получаем более конкретное предложение:

S2`: получает (студент, стипендию) ¬ сдает (успешно, Z, студент)

Теперь имеем два предложения S1` и S2`, которые удовлетворяют условию применимости правила резолюции, а именно наличию одинаковых предикатов в левой части импликации и в отрицании. Поэтому резольвентой S1` и S2` будет:

S: ù сдает (успешно, Z, студент)

Предикат

получает (студент, стипендию)

называется общим примером родительских предикатов

получает (Х, стипендию)

получает (студент, У)

и получен с помощью унификаторавида

Q = { Х:= студент, У:= стипендия}

1.4.5.5. Унификаторы и примеры унификации

Унификаторомназывается множество присваиваний вида

Q= {X1:= t1, ..., Xn:= tn}

где Хi- переменная, а ti– терм, применение которых к двум выражениям дает одинаково общие примеры.

На практике унификаторы определяют сравнивая по очереди соответствующие аргументы предикатов и выписывая те присваивания термов переменным, которые сделали бы эти аргументы одинаковыми.

Рассмотрим ряд примеров унификации (таблица 4.1):

Таблица 4.1

Примеры унификации

Родительские предложения

Унификатор

Общий пример

p(5), p(5)

Q- пустое множество (не заменяется ни одна переменная)

p(5)

p (x), p(5)

Q= {x:=5}

p(x)Q= p(5)Q=p(5)

p(x), p(y)

Q= {x:=y}

p(y)

p(x, y), p(5, x)

Q= {x:=5, y=x} = = {x:=5, y:=5}

p(x,y)Q= p(5,x)Q= p(5,5)

ùp(5, x)

p(x, y) ← q(x)

Q= {x:=5, y:=5}

p(5,5)

резольвента:

s: ù q(x)Q = ù q(s)