Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
183
Добавлен:
15.06.2014
Размер:
1.02 Mб
Скачать

6.4. Доказательство методом резолюции

Рассмотрим пример представления в исчислении предикатов следующих логических формул.

(х)[человек (х) смертен (х)]  все люди смертны,

человек (Сократ)  Сократ  человек,

то, используя правила вывода, можно получить заключение (неизвестную логическую формулу):

смертен (Сократ).

(Вместо переменной х была вставлена константа «Сократ»).

Рассмотренный выше метод вывода в логике предикатов легко воспринимается человеком, но для машинной реализации необходима более фундаментальная формализация метода. В качестве такого полноценного метода доказательства теорем используется метод резолюции. Для применения этого метода исходную группу заданных логических формул требуется преобразовать в некоторую нормальную форму. Это преобразование производится обычно в несколько стадий.

1. Префиксная нормальная форма

Форма представления предметной формулы, в которой все кванторы выводятся за скобки и следуют непосредственно перед ППФ, носит название префиксной нормальной формы.

Для приведения к префиксной нормальной форме произвольной ППФ необходимо рассмотреть некоторые равносильные формулы в исчислении предикатов (без доказательств).

Имеем следующие пары равносильных формул:

(x)F(x)vP = (x)(F(x)vP);

(x)F(х)P = (x)(F(х) P);

(x)F(x)vP = (x)(F(x)vP);

(х)F(x) P = (х)(F(x) P).

С учетом приведенных формул алгоритм, преобразующий произвольную заданную формулу в равносильную в префиксной форме состоит из следующих шагов.

Шаг 1. Исключение логических связок ~ и  с помощью известных правил.

Шаг 2. Продвижение связки , до атома с использованием законов де Моргана. В результате выполнения этого шага получается формула, у которой знаки  могут стоять только перед атомами.

Шаг 3. Переименование связных переменных.

Шаг 4. Вынесение кванторов с помощью вышеуказанных формул.

После четвертого шага формула приобретает префиксный вид.

2. Сколемовская нормальная форма

После того как кванторы вынесены в префиксную часть формулы, необходимо полностью исключить из предикатных формул кванторы, чтобы обеспечить возможность применения машинных процедур обработки предикатных формул. Но при исключении кванторов необходимо полностью сохранить семантику языка предикатов. Это можно сделать путем введения сколемовских функций.

Рассмотрим ППФ (y)(x)P(x,y), которую можно прочесть так: «Для всех у существует некоторый х (возможно зависящий от у), такой, что Р(х,у)». Поскольку квантор существования находится в области действия некоторого квантора общности, то допускаем возможность, что тот х, который существует, может зависеть от у. Пусть эта зависимость будет явно определена с помощью некоторой функции f(y), отображающей каждое значение у в тот х, который «существует». Если х, который существует, заменить на такую сколемовскую функцию, то квантор существования можно исключить и записать (y)P(f(y),y). Тот факт, что переменная х проквантифицирована квантором , будет отражен при подстановке функции f(у) на место х.

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

Если исключаемый квантор существования не входит в область действия никакого из кванторов общности, то применяется сколемовская функция без аргументов, т.е. просто константа. Так, (х)Р(х) становится Р(А), где символ константы А используется для ссылки на элемент, который, как известно, существует. Важно, чтобы А был новым символом константы и не совпадал с другими символами для других ППФ.

Если исключить подобным образом связанные квантором существования переменные, то любые другие переменные, которые встречаются в формуле, будут связаны только квантором . Порядок кванторов общности роли не играет, поэтому можно не указывать явно вхождения кванторов, а предположить по соглашению, что все переменные относятся к кванторам общности.

3. Клаузальная форма (форма предложений)

После проведения сколемовских преобразований результирующая ППФ представляет собой несколько предикатов, содержащих переменные и соединенных различными связками. Такая бескванторная форма называется матрицей. Любую матрицу можно привести к конъюнктивной нормальной форме (КНФ) многократным применением дистрибутивных правил. Чтобы привести матрицу к клаузальной форме или форме предложений, исключают символы , заменяя выражения вида (х1х2) на множество ППФ {x1,x2}. Результатом многократного использования таких замен будет некоторое конечное множество ППФ, каждая из которых является дизъюнкцией литералов. Любая ЛПФ, состоящая только из дизъюнкций литералов, называется предложением. Множество предложений, полученных в результате исключения символа , называется клаузальным множеством.

После исключения символов  необходимо осуществить переименование переменных. Символы переменных должны быть изменены так, чтобы каждый появлялся не более чем в одном предложении.

В современных системах автоматизации логического вывода широко используется метод резолюции. В процедуре резолюции вместо заданной формулы F (истинна) рассматривают ее отрицание и пытаются доказать её противоречивость. Это, по существу, доказательство от противного. В его основе лежит операция исключения из различных предложений высказываний-резольвент, если эти высказывания в одних предложениях отрицаются, а в других нет. Требуемая противоречивость устанавливается как одновременная справедливость двух взаимоисключающих высказываний. Если процесс вывода резольвент оборвется, не приведя к противоречию, то исходная теорема не верна.

Преимуществом метода является возможность выявления противоречий намного раньше, чем будет выполнен полный перебор возможностей.

Схему применения метода рассмотрим на примере:

  1. Запишем известные нам истинные факты в виде логического произведения дизъюнктивных формул:

1)

2)

3)

  1. Надо доказать, что А  верно. Для этого добавим к этим предложениям:

4)

  1. Исключаем вновь введенное предложение () и его отрицание в другом предложении (А). Этот процесс называется резолюцией. Резольвента  это то, что осталось без каких-либо изменений после сокращения и А.

  2. Далее исключаем в резольвенте взаимоисключающие предложения ( и С; и В). Получаем пустое предложение. Это означает истинность А.

Для выбора предложений в методах резолюции было предложено несколько стратегий:

  1. Стратегия полного перебора: сначала вычисляются все резольвенты первого уровня, затем все резольвенты второго уровня и т.д. Резольвентой первого уровня является резольвента для предложений из базового множества; резольвентой i-гo уровня является такая, чей самый глубокий родитель является резольвентой (i-1)-гo уровня. Стратегия полного перебора является полной, но весьма неэффективной, поскольку число предложений с ростом числа уровней увеличивается экспоненциально.

  2. Стратегия опорного множества. Опровержение с использованием опорного множества состоит в том, что, по крайней мере, один из родителей в каждой резольвенте выбирается из предложений, возникающих из отрицания целевой ППФ или их потомков (опорное множество).

  3. Стратегия предпочтения одночленам. Является такой модификацией стратегии опорного множества, в которой вместо заполнения каждого уровня, как и при поиске в ширину, пытаются выбрать однолитеральное предложение (одночлен) в качестве родительской вершины для резолюции.

  4. Линейная по входу стратегия. Линейное по входу опровержение  это опровержение, в котором, по крайней мере, одно родительское предложение в каждой резольвенте принадлежит базовому множеству.