ОСНОВЫ МАШИННОГО ВЫВОДА В ИСЧИСЛЕНИИ ПРЕДИКАТОВ
ЯНГДЮМХЕ ДНЙСЛЕМРНБ НМКЮИМ
дНЙСЛЕМРШ Х АКЮМЙХ НМКЮИМ

нАЯКЕДНБЮРЭ

Администрация
Механический Электроника
биологии
география
дом в саду
история
литература
маркетинг
математике Физика информатики химия
медицина
музыка
образование
психология
разное
художественная культура
экономика




















































ОСНОВЫ МАШИННОГО ВЫВОДА В ИСЧИСЛЕНИИ ПРЕДИКАТОВ

математике


Отправить его в другом документе Tab для Yahoo книги - конечно, эссе, очерк Hits: 865


ДРУГИЕ ДОКУМЕНТЫ

Интегралы от периодических, нечетных и четных ф-ций
Вычисление площадей плоских фигур
НЕСОБСТВЕННЫЕ ИНТЕГРАЛЫ
Решить симплексным методом задачу
Определение НИ-2
Предел функции нескольких переменных
Описание геометрии винтовой поверхности и ее вращения
Уровни Фибоначчи и Волны Эллиота
Диффиренцирование сложной ф-ции нескольких переменных
АНАЛИТИЧЕСКАЯ ГЕОМЕТРИЯ В ПРОСТРАНСТВЕ
 

ОСНОВЫ═ МАШИННОГО═ ВЫВОДА В═ ИСЧИСЛЕНИИ═ ПРЕДИКАТОВ

13.1. Представление фо&# 525g66if 1088;мул исчисления предикатов
в виде предложения

Факт неразрешенности исчисления предикатов означает также, что при произвольной формуле W и произвольном множестве фо&# 525g66if 1088;мул S не существует эффективной процедуры, решающей, выводится ли W из S.

Если W действительно выводится из S, то имеются процедуры, которые в конце концов сообщают нам этот факт. Но если W не выводится из S, то те же процедуры не всегда могут этот факт установить.

Если некоторое множество формул не удовлетворяется ни при какой интерпретации, то оно называется неудовлетворительным (или невыполнимым).

Если W выводится из S, то очевидно, что S х - неудовлетворимо, а если это так. то W должно выводиться из S. Этот результат используется для придания одной и той же фо&# 525g66if 1088;мы машинного вывода всем задачам доказательства: ⌠W выводится из S, если S х - неудовлетворимо■.



Для этого требуется уметь представить любую форму W в виде предложения, представляющего собой дизъюнкцию литералов. Под литералом понимают атомную формулу (отношение, предикат) или (и) ее отрицание.

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

Пример 13.1

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

ыЫ ()}}.

Решение.

1. Исключение знаков импликации путем подстановки вместо ⌠АВ■ изображения Ы АзВ.

Имеем ыЫ ()}}.

2. Уменьшение области действия знаков отрицания так, чтобы знак Ы применялся не более чем к одной букве по правилам:

заменить:═════ Ы (A ы B) на Ы A з Ы B;

Ы (A з B) на Ы A ы Ы B;

Ы Ы A на А;

Ы (AA) на $x ;

Ы (A) на "x .

Для нашей формулы имеем

"x ы $y }}}.

Упростив концовку, получим

"x ы $y}}.

3. Стандартизация переменных: каждый квантор должен иметь свою уникальную связывающую переменную:

"x ы $w }}.

4. Исключение квантора $ (посредством введения функции Сколема
g(y): yx).

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

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

Если исключаемый квантор $ не принадлежит области действия ни одного из кванторов ", то функция Сколема не содержит аргументов, т.е. является просто константой. Так $x P(x),═ превращается в P(a), где a - константа, которая существует.

Чтобы исключить все переменные, относящиеся к кванторам $, надо поочередно применить описанную выше процедуру к каждой переменной.

В нашем случае имеем

"x ы }}.

где g(x) - функция Сколема.

5. Приведение к предваренной нормальной форме (в виде префикса " ... " и матрицы - бескванторного остатка).

Получаем для нашего примера

"x "y ы }}.

6. Приведенные матрицы к КНФ по правилу замены Aз на
ы .

В нашем случае имеем

"x "y ы ы }.

7. Исключение кванторов всеобщности ", так как все переменные нашей формулы связанные и относятся к кванторам ":

Ы P(x) зЫ P(y) з P(f(x,y)) ыЫ P(x) з Q(x,g(x)) ыЫ P(x) зЫ P(g(x))}}.

8. Исключение связок ⌠И■ (ы).

Наша предикатная формула оказывается представленной тремя предложениями:

Ы P(x) зЫ P(y) з P(f(x,y));

Ы P(x) з Q(x,g(x));

Ы P(x) зЫ P(g(x)).

13.2. Принцип резольвенции для машинного вывода

Резольвенция (резолюция) - это метод доказательства того, что ложно, вместо того, что истинное высказывание истинно. Если из высказывания S следует T, то высказывание S хЫ T = должно быть ложным для любой модели.

Рассмотрим основной случай, когда опровергаемое высказывание S содержит предложения C1, C2, ..., Cn, Ы T, которые не имеют переменных.

Пусть S: C1 = (L1, L2, L4) и C2 = (L3Ы L4)

предложения, содержащие литералы L4L4. Тогда конъюнкция предложений С1 и С2 имплицирует третье С3, которое называется резольвентой предложений С1 и С2:

(L1, L2, L4) ы (L3, Ы L4) ╝ (L1, L2, L3).

Общее определение: если предложение Cj содержит литерал L, а предложение Ci - литерал Ы L, то предложение

Ck = х }

назовется резольвентой (резолюцией) для Cj и Сi. Существует теорема Сколема-Эрбрана-Геделя, которая утверждает, что если S - ложное (невыполнимое), то для некоторого i высказывание Si будет невыполнимым, так как S и Si. Отсюда принцип резольвенции (резолюции) состоит в том, что образуется последовательность высказываний S1, S2, ..., Si, каждое из которых получается некоторой подстановкой в S. Затем строится дерево частичных моделей, содержащее все атомы высказывания Si, и проверяется его выполнимость.



Если S содержит несколько аксиом и отрицание требуемого заключения
T), то при невыполнимости Si высказывание, содержащее указанные аксиомы и требуемое заключение Т, выполнимо при условии, что множество аксиом непротиворечиво.

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

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

Пример 13.2

Для конкретной пары чисел (a,b) докажем истинность высказывания

a = ba════ b.════════════════════════════════════════════════════════════════════════════════════ (13.1)

Решение.

Гипотеза: H(S) = .

 
Эрбрановская база состоит из атомов

══════ A1: a > b,

А:═══════ A2: a < b,

══════ A3: a = b.

Соответствующие предложения из А и их интерпретации таковы:

C1: (A1, A2, A3) ══════════════ - выполняется одно из отношений;

 
C2: (Ы A1, Ы A2),═══════════════ - не выполняются одновременно никакие

C3: (Ы A2, Ы A3),═══════════════ ═ два отношения.

C4: (Ы A3, Ы A3).

В этих обозначениях перепишем высказывание (13.1) в форме

A3 иЫ A1 = T.

Тогда

Ы T = Ы (A3 иЫ A1) = Ы (Ы A3 зЫ A1) = A3 ы A1.

Запишем это в виде двух предложений: Ы T1 : (A3); Ы T2 = (A1). Объединяя все, получим

S = A хЫ T = .

Поскольку в S может быть только 23 = 8 атомных высказываний, то построим конечное дерево моделей (рис. 13.1).


Рис. 13.1

Итак, возвращаемся к резолюциям. Сначала рассматриваем аксиомы:

C1: (A1, A2, A3);════════════ C4: (Ы A3A3);

C2: (Ы A1A2);═════════════ Ы T1: (A1);

C3: (Ы A2A3);═════════════ Ы T2: (A3).

Разрешая предложения C3 и Ы T1, получаем резолюцию R1:

A1A3) ы (A1) ╝ (Ы A3).

Заметим, решая R1 и Ы T2, приходим к противоречию:

A3 ы (Ы A3) ╝ (══════ ).

Значит, высказывание a = ba════ b истинное.

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

Понятно, что алгоритмы полного перебора приведут к большому числу резолюций, несущественных для получения пустого предложения (════ ). В связи с этим существует много алгоритмов, обеспечивающих вывод методом резолюций, называемых стратегиями очищения: синтаксических, семантических и учитывающих ход вывода.

13.3. Общий случай применения резолюций

Для формирования резольвенты по-прежнему ищется пара предложений с дополняющими друг друга литералами.

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

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

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

Пример 13.3

Доказать невыполнимость множества предложений S:




C1: (E(x,x)) ═════════════════════ интерпретируется как ══════ x = x,

C2: (E(P(x,1),x)) ════════════ ═══════════ ╬ ╬═════════════════════════ x ╥ 1 = x,

C3: (Ы G(x,y),Ы E(x,y)) ═══════════════ ╬ ╬═════════════════════════ (x ════y) з (xy),

C4: (G(P(x,y),x)) ════════════ ═══════════ ╬ ╬═════════════════════════ (x,y) > x,

где Е - отношение ⌠равно■; P(xi, xj) - произведение xi и xj; G - отношение ⌠больше чем■.

Решение.

Можно заметить визуально, что множество S невыполнимо, так как C4 ложно при y = 1. Однако доказать этот факт с помощью резолюций здесь нельзя, поскольку отсутствуют дополняющие литералы, т.е. нет основы для проведения резолюций.

Предложениями-кандидатами для резольвенции могут быть C3 и C4:

G(x,y), Ы E(x,y) ы (G(P(x,y)),x)).══════════════════════════════════════ ═══════════ ═══════════ (13.2)

поскольку один и тот же предикат G фигурирует здесь без отрицания и с отрицанием.

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

G(x1,x2), Ы E(x1,x2)) ы (G(P(y1,y2)y1)).════════════════════════════════════════════════════ (13.3)

Подставляя P(y1,y2) вместо x1 в (13.3), получим

G(P(y1,y2)x2), Ы E(P(y1,y2),x2)) ы (G(P(y1,y2)y1)).═════════════════════════════════ (13.4)

Подстановка y1 вместо x2 даст

G(P(y1,y2) y1), Ы E(P(y1,y2), y1)) ы (G(P(y1,y2)y1)).═══════════════════════════════ (13.5)

Теперь для (13.5) можно провести резолюцию:

G(P(y1,y2),y1), Ы E(P(y1,y2),y1)) ы (G(P(y1,y2),y1)) ╝ R1,

где R1 = (Ы E(P(y1,y2),y1)),

а затем разрешить C1 и R1:

(E(P(x1,1),x1)) ы (Ы E(P(y1,y2),y1)),══════════════════════════════════════ ═══════════ ═══════════ (13.6)

Подставляя x1 вместо y1 и 1 вместо y2, проводим резолюцию и получаем

(E(P(x1,1),x1)) ы (Ы E(P(x1,1),x1)) ╝ (════ )══════════════════════════ ═══════════ ═══════════ (13.7)

Итак, мы вывели (════ ) и тем самым доказали, что исходное множество предложений невыполнимо.

Резолюция с унификацией представляет собой полный метод вывода.

Теорема Робинсон. Пусть S - множество предложений произвольного вида. Пустое предложение (════ ) можно вывести из S при помощи резолюции унификации тогда и только тогда, когда S невыполнимо.

Этот важный результат гарантирует, что пустое предложение (════ ) можно вывести из S за конечное число шагов, если S является невыполнимым. с другой стороны, неудача при выводе (════ ) за конечное число шагов еще не означает что S - выполнимо, поскольку пустое предложение (════ ), быть может, удалось бы вывести за большее число шагов.

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

14. ТЕОРИЯ═ АЛГОРИТМОВ.═
ЭФФЕКТИВНАЯ═ ВЫЧИСЛИМОСТЬ

14.1. Неформальное описание алгоритма
как вычислительной процедуры

Термин ⌠алгоритм■ происходит от имени средневекового узбекского математика Аль-Хорезми, который еще в IX веке (825 г.) описал правила выполнения четырех арифметических действий в десятичной системе исчисления. Неформально под алгоритмом понимается конечная совокупность точно сформулированных правил, способов, позволяющих решать те или иные классы задач.

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

а) формулы нахождения действительных корней ═квадратного уравнения ax2 + bx + c = 0;