Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы ИП САПР 2013.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
9.33 Mб
Скачать
  1. Алгоритм метода резолюций для проверки невыполнимости множества дизъюнктов в логике высказываний

Резольвента – разрешающее уравнение, разрешающая функция, разрешающие операторы.

Правилом резолюций в логике предикатов называется правило из дизъюнктов ¬P(t1, … , tn) F и P(s1, … , sn) G, выводим дизъюнкт (F) (G), где – наибольший общий унификатор множества {P(t1, … , tn); P(s1, … , sn)}.

Дизъюнкт (F) (G) называется бинарной резольвентой первых двух дизъюнктов, а литералы ¬P(t1, … , tn) и P(s1, … , sn) – отрезаемыми литералами.

Пример: Из дизъюнктов ¬Q(a, f(x)) R(x) и Q(u, z) ¬P(z)

можно выделить дизъюнкт – бинарную резольвенту исходных дизъюнктов

R(x) ¬P(f(x))

используя подстановку = {u = a; z = f(x)}.

Правилом склейки в логике предикатов называется правило из дизъюнкта ◊P(t1, … , tn) … ◊P(s1, … , sn) F выводим дизъюнкт = (P(t1, … , tn)) (F),

где - наиболее общий унификатор множества {P(t1, … , tn), … , P(s1, … , sn)},

◊ - знак отрицания или его отсутствие.

Дизъюнкт = (P(t1, … , tn)) (F) называется склейкой первого дизъюнкта.

Пример: Правило склейки, применённое к дизъюнкту:

¬P(x, y) ¬P(y, x) ¬P(a, a) Q(x, y, v)

даёт дизъюнкт ¬P(a, a) Q(a, a, v)

¬P(x, y) ¬P(y, x) ¬P(a, a) Q(x, y, v)

= {x = a, y = a} – НОУ

P(x, y)) = ¬P(a, a);

(Q(x, y, v)) = Q(a, a, v).

Резольвентой дизъюнктов D1 и D2 называется одна из следующих бинарных резольвент:

- бинарная резольвента дизъюнктов D1 и D2;

- бинарная резольвента склейки D1 и дизъюнкта D2;

- бинарная резольвента дизъюнкта D1 и склейки D2;

- бинарная резольвента склейки D1 и склейки D2.

Определение вывода в логике предикатов

Пусть S – множество дизъюнктов. Выводом из множества дизъюнктов S называется последовательность дизъюнктов D1, D2, … , Dn, такая, что каждый дизъюнкт Di принадлежит S, выводим из предыдущих дизъюнктов по правилу резолюций или выводим из предыдущего по правилу склейки.

Пример: S = {¬ B(x) ¬ C(x) T(f(x)), C(y) T(f(z)), B(a)}

Вывод из S – последовательность дизъюнктов:

D1 = ¬ B(x) C(x) T(f(x)) - S

D2 = C(y) T(f(z)) - S

D3 = ¬ B(x) T(f(x)) T(f(z)) – из D1 и D2 по правилу резолюций

D4 = ¬ B(x) T(f(x)) – из D3 по правилу склейки

D5 = B(a) S

D6 = T(f(a)) из D4 и D5 по правилу резолюций

Пример вывода по правилу резолюций

D1 = ¬ B(x) (¬ C(x)) T(f(x)) - S

D2 = C(y) T(f(z)) - S

= {y = x}

D3 = ¬ B(x) T(f(x)) T(f(z)) – из D1 и D2 по правилу резолюций

Пример: по правилу склейки

D3 = ¬ B(x) T(f(x)) T(f(z))

= {z = x}

D4 = ¬ B(x) T(f(x)) из D3 по правилу склейки

Теорема о полноте: Множество дизъюнктов S логики первого порядка невыполнимо тогда и только тогда, когда из S выводим пустой дизъюнкт ( ).

Имеется множество гипотез (формул) {F1 , … , Fk}. Доказать, что формула G – логическое заключения множества гипотез. {F1, … , Fk} G

Для доказательства этого также применяется метод резолюций.

  1. Алгоритм применения метода резолюций в логике предикатов 1-го порядка

  1. Составим множество формул ;

  2. Каждую из формул множества T приводим к ПНФ, затем к СНФ, в полученных формулах вычёркиваются кванторы общности и связки конъюнкции . Получаем множество дизъюнктов S;

  3. Находим вывод пустого дизъюнкта □ из множества S. Все переменные в дизъюнктах предполагаются связанными кванторами общности.

Пример:

Дано:

Доказать, что

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

  1. Достаточно доказать, что – невыполнимо;

  2. Каждую формулу приведём к СНФ:

  1. Вывод из

Последовательность дизъюнктов:

Множество S невыполнимо, следовательно, формула G является логическим следствием формул F1 и F2.