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

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

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

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

AB 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

Глава 2. Логика предикат

Пусть задано множество D,конечное или бесконечное.

Определение: Терм (t):

  1. есть предметная константа из D (пример: aD)

  2. переменная х, принимающая значение из D

  3. функция f(t1, . . . , tn), где ti – терма.

Пример:

D – множество целых чисел, к примеру а~3 – терм, а для х f(3),f(f(5), f(x,y)

Терм – переменная или функция и т.д.

Определение: утверждение P(t1, . . . , tn), зависящее от термов t1, . . . , tn, истинности которого зависит от значения термов называется предикатом.

Предиката – утверждение (высказывание)

Пример: Р(5) = (5 – положительное целое) – простое высказывание, оно «И», «true». (где Р – символ предикат)

R(Петров) = (Петров - студент) ~ оно «И» или «Л». (где R – предикатный символ, (Петров) - предиката)

Р(х) = (х≠5)~«И» или «Л» - в зависимости от значения х.

- с переменной или константой

Р(3) = (3≠5)~«true» - истинное простое высказывание

Р(f(х),у,4) = (ex+y4) (где ех – функция, у – переменная, 4 - const)

Представляя числа из области интерпретации, например N – множество натуральных чисел.

N(e3+24) = P(f(3)2,4) = F  false – ложное утверждение

Если предикат зависит от переменных, то он является истинной функцией P(x1, . . . ,xn), которая принимает значение «И» или «Л», когда аргументы принимают некоторые значения из области D.

х12, . . . , хnD (но не обязательно) область значений D называют предметной областью, областью определения и областью интерпретации.

Предикат приобретает смысл, если для него выбрана интерпретация, т.е.

1) выбрана область интерпретации для переменных х1, х2, . . . , хnD

2) выбрано свойство или отношение вместо предикатного символа:

Р(х1,,х2)=(х1х2)

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

Истинное - если удовлетворяет свойству и ложное – если нет.

Если одна переменная в предикате:

Р(х) – 1 – местный предикат

Р(х,у) – 2 – местный предикат

. . . . . .

Р(x1, . . . , xn) – n – местный предикат

Если все переменные заменены предикатными константами, то тогда предикат становится высказыванием, что называют 0 – местным предикатом

Т.о. логика предикат – это обобщение логики высказывании.