Скачиваний:
74
Добавлен:
09.05.2014
Размер:
935 Кб
Скачать

Алгоритм логического вывода по методу Дэвиса и Патнема

1 .Исключение тавтологий

S’= S’ 

S выполнимо

2.Однолитерные дизъюнкты l

да нет

исключение 3.исключение дизъюнктов

S’=S’\L,(LS) с чистой литерой L

L=”И” S’=S’\(LS’)

S ’= S’  S’= S’ 

S выполнимо вычеркиваются L S выполнимо 4. правило

В (LS) расщепления и

преобразования

C= ,CS’ S’  S=S1S2

S невыполнимо

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

Пример:

P Q 1)PQ

PQ 2)PQ Расщепление по P

Q T 3)QT

Q&T 4)QT

5)S1=Q

S2=Q

R=(QT)&(QT)

S=S1S2=QQ - тавтология

6) QT T – чистая литера

QT

7)  (S выполнимо)

Теорема 4: Пусть L1,L2…,Lk- последовательность вычеркнутых литер по правилам 2),3) и Lk - последняя вычеркнутая литера, после которой S’=  => S – выполнима. Тогда условие L1&L2&…&Lk - это условие выполнимости и ,соответственно, условие (L1&L2&…&Lk) – условие невыполнимости, которое можно добавить в множество гипотез для коррекции вывода.

Правило резолюций (предложено Робинсом)

Для любых дизъюнктов C1 и C2, для которых существует литера L в C­1 и контрарная литера L в C­2­ вычеркиваются литеры L и L и формируется дизъюнкция из оставшихся дизъюнктов C­1­ и C­2­.

C ­1­=La

C­2­=Lb C=ab

Построенный дизъюнкт С называется резольвентой С­1­ и С­2­.

Теорема 5: Для дизъюнктов С­1­ и С­2­ с контрарными литерами C­1­=La и C­2­=Lb резольвента C=ab является логическим следствием C­1­ и C­2­.

Пример:

L a La 1) La 1)L => S невыполнимо и доказана выводимость

Lb Lb 2)Lb 2)L ab

ab (ab) 3)a

4)b

Алгоритм логического вывода с применением правила резолюций.

1 .Исключение тавтологий

S’= S’ 

S выполнимо 2.однолитерный дизъюнкт L

исключение L&(LS)

S’= S’ 

S выполнимо 3.правило резолюций

С= S’ 

S невыполнимо

Правило резолюций заменяет (эквивалентно):

  1. вычеркиванию контрарной литеры по правилу однолитерных дизъюнктов L&(LC)C;

  2. правило расщепления

(LA)&(LB)=>AB

Пример:

A B 1) AB

AC 2) AC

BD 3)BD

(CD) 4)C&D

Граф опровержения:

A B AC BD C D

BC A B

A

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

Дизъюнкт С называется поддизъюнктом (CD), если множество литер С является подмножеством множества литер дизъюнкта D.

S­C­S­D­ D – наддизъюнкт.

Все наддизъюнкты вычеркиваются.

ababc - по правилу поглощения

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

Пример:

S0 1) A v B

2) A v C

3) B v D

4)  C

5)  D

П еребираются все возможные резольвенты

1) B v C (1,2)

2) A v D (1,3) S­1

3)  A (2,4)

4)  B (3,5)

вычеркиваются наддизьюнкты

1 ) A v B  C

2)  C  D

3)  D  A

4) B v C  B  c,c

5) B v D S2 A  

6)  A B опровержение

7 )  B C

8) A D

9) B

10) C

11) D