Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2.MLAdditionResolutions.pdf
Скачиваний:
57
Добавлен:
11.03.2015
Размер:
487.29 Кб
Скачать

Математическая логика

Метод резолюций в логике предикатов

Куценко Дмитрий Александрович 14 июля 2011 г.

Приводятся сведения, отсутствующие в [4], касающиеся реализации метода резолюций в логике предикатов. Введены необходимые определения, рассмотрены такие понятия, как подстановки, их композиции, нахождение множества несогласованности для множества выражений, приведён алгоритм унификации множества выражений. Далее подробно рассматривается нахождение резольвент и сам метод резолюций. Для иллюстрации изложенного приведено множество примеров.

Материал основан на работах [1], [6], [8].

Содержание

1.Метод резолюций в логике предикатов . . . . . . . . . . . . . . . . . . . . . . 2

1.1.Основные определения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2.Подстановки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.3.Композиция подстановок . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.4.Множество несогласованности . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.5.Унификация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.6.Склейки и резольвенты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.7.Алгоритм метода резолюций . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.8. Стратегии метода резолюций . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.8.1.Стратегия насыщения уровня . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.8.2.Линейная стратегия . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.8.3.Стратегия предпочтения более коротких дизъюнктов . . . . . . . . . . . 10

Литература . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Куценко Д. А. Математическая логика. Метод резолюций в логике предикатов

2

1. Метод резолюций в логике предикатов

1.1. Основные определения

Введём рекурсивное определение терма логики предикатов:

1)любая предметная переменная является термом;

2)любая предметная константа является термом;

3)если — -местный функциональный символ, а 1, . . . , — термы, то ( 1, . . . , ) является термом;

4)других термов не существует.

Фундаментальным будем называть терм, в котором нет переменных.

Пример 1.1. Следующие записи являются термами:

( )

, , ( , ) , ( , , ), , ,

( )

( )

, , , ( , ) ,

где трёхместный, двухместный функциональные символы, , предметные переменные, , предметные константы. Термы ( , , ) и являются фундаментальными.

Далее будем использовать следующие определения. Если — -местный предикатный символ и 1, . . . , — термы, то ( 1, . . . , ) является атомом. Литерой будем называть атом или отрицание атома. Дизъюнкция литер образует дизъюнкт. Множество литер для удобства также будем рассматривать как дизъюнкт.

( )

Пример 1.2. Дизъюнкт ( ) ( ) ( ), ( ) можно представить в виде множества

{ ( ) }

литер ( ), ( ), ( ), , ( ) .

Дизъюнкт, содержащий литер, называется -литерным дизъюнктом. Однолитерный дизъюнкт — это дизъюнкт, состоящий из одной литеры. Дизъюнкт, не содержащий литер, назовём пустым дизъюнктом (обозначается « »). Будем рассматривать множество дизъюнктов как конъюнкцию соответствующих дизъюнктов.

Пример 1.3. Множеству дизъюнктов

{ ( ) ( ) }

, ( ) , ( , ) , ( ) , ( ) ( , )

соответствует формула

( )

( ) ( ) ( )

, ( ) & ( , ) , ( ) & ( ) ( , ) .

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

Куценко Д. А. Математическая логика. Метод резолюций в логике предикатов

3

1.2. Подстановки

Подстановка — это конечное (возможно, пустое) множество { 1/ 1, . . . , / }, где каждая — предметная переменная, каждый — терм, запись « / » называется подстановочной компонентой и означает, что переменная заменяется термом , причём отличается от , а среди 1, . . . , нет одинаковых переменных. В этом случае называют переменной компоненты / , а — термом / . Подстановки будем обозначать строчными греческими буквами (α, . . . , w). Подстановку, не содержащую элементов, будем называть пустой и обозначать буквой «ε». У каждой непустой подстановки T = { 1/ 1, . . . , / }

имеется множество термов { 1, . . . , } и множество переменных { 1, . . . , }. Подстановка называется фундаментальной, если все термы из её множества термов являются фундаментальными.

Пример 1.4. Следующие множества являются подстановками:

{ ( ) }

T = { ( )/ , / }, σv= / , ( )/ , ( ) , ε = {}.

Пусть даны подстановка T = { 1/ 1, . . . , / } и выражение E. Конкретизацией E посредством T называется операция, состоящая в замене одновременно всех вхождений переменных 1, . . . , на термы 1, . . . , соответственно. Получившееся выражение ET называется T-примером E.

Пример 1.5. Рассмотрим подстановку T = { / , ( )/ , / } и выражение E = ( , , ). В результате конкретизации выражения E посредством подстановки T получим T-пример этого выражения, имеющий вид

T ( )

E = , ( ), .

ET будет называться фундаментальным примером E, если T — фундаментальная подстановка.

1.3. Композиция подстановок

Пусть T = { 1/ 1, . . . , / } и λ = { 1/ 1, . . . , 1/ } — две подстановки. Композицией T и λ называют подстановку T λ, которая получается из множества

{ λ 1, . . . , λ , 1/ 1, . . . , / }

1

вычёркиванием всех подстановочных компонент λ , для которых λ = , а также всех подстановочных компонент / , таких, что { 1, . . . , }.

Пример 1.6. Пусть даны подстановки

T = { 1/ 1, 2/ 2} = { ( )/ , / },

λ = { 1/ 1, 2/ 2, 3/ 3} = { / , / , / }.

Тогда их композиция образуется из следующего множества подстановочных компонент:

{

λ

Hλ

 

H H

 

3}

{

Z Z Z

}

 

1

1

2 HH2

1H/H1 2HH2 3

/

.

 

 

,

 

,

, / ,

 

= ( )/ , Z/ , Z/ , Z/ , /

Мы вычеркнули подстановочную компоненту λ2 2 = / , так как терм этой компоненты равен её переменной ( λ2 = 2, т. е. = ), затем вычеркнули подстановочные компоненты1/ 1 = / и 2/ 2 = / , так как переменные 1 и 2 содержатся среди множества переменных { 1, 2} = { , } подстановки T. В итоге получаем

T λ = { ( )/ , / }.

Куценко Д. А. Математическая логика. Метод резолюций в логике предикатов

4

Легко убедиться, что ε T = T ε = T для любой подстановки T. Кроме того, композиция подстановок ассоциативна, т. е. (T λ) μ = T (λ μ) для любых подстановок T, λ и μ, поэтому можно опускать скобки при записи кратных композиций подстановок. Также отметим, что для любых подстановок T и σvсправедливо следующее: если для каждого выражения E имеет место равенство ET = Eσv, то T = σv.

Сущность композиции операций подстановки состоит в том, что если E — некоторое выражение, а σv= T λ, то Eσv= ET λ = (ET)λ, т. е. Eσv— это λ-пример ET.

1.4. Множество несогласованности

Если E — множество выражений, то множеством несогласованности множества E называется множество всех тех подвыражений элементов множества E, которые начинаются с того места, где не все выражения из E имеют один и тот же символ.

Пример 1.7. Рассмотрим множество выражений

{ ( ) ( ) }

E = , ( , ), , , ( ), , ( , , ) .

Множество несогласованности для E есть { ( , ), ( ), } .

Ясно, что если множество выражений E содержит более одного элемента, то множество несогласованности множества E также содержит более одного элемента.

1.5. Унификация

Пусть E = {E1, E2, . . . , E } — множество выражений, а T — подстановка. Подстановка T является унификатором E (иначе говоря, T унифицирует E) тогда и только тогда, когда

ET1 = ET2 = . . . = ET .

В этом случае будем считать, что множество ET состоит из одного (уникального) элемента (можно записать, что ET = {ET1}).

Множество выражений унифицируемо, если для него существует унификатор.

подстановка

 

{

},

{

( , ),

(

) }

Пример 1.8. Множество выражений

, ( )

унифицируемо, так как существует

 

T =

/ , ( )/

 

являющаяся его унификатором.

Унификатор σvдля множества выражений будет наиболее общим унификатором (НОУ) тогда и только тогда, когда для каждого унификатора T для этого множества существует такая подстановка λ, что T = σv λ.

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

Шаг 1.

Положить = 0, W0 = W , σv0 = ε и перейти к шагу 2.

Шаг 2.

Если W состоит из одного элемента (т. е. |W | = 1), то выдать «σv — НОУ

 

для W» и окончить работу; в противном случае найти множество несогласо-

 

ванности D для W и перейти к шагу 3.

Шаг 3.

Если в D существуют такие два элемента и , что — переменная, не вхо-

 

дящая в терм , то обозначить λ = { / } и перейти к шагу 4; в противном

 

случае выдать «W неунифицируемо» и окончить работу.

Куценко Д. А. Математическая логика. Метод резолюций в логике предикатов

5

Шаг 4.

Положить σv+1 = σv λ , W +1 = W λ и перейти к шагу 5. (Заметим,

 

 

что W +1 = W σv+1).

 

Шаг 5.

Увеличить значение на 1 и возвратиться к шагу 2.

 

Если σv— НОУ для множества выражений E, то говорят, что E является общеунифицируемым множеством.

Пример 1.9. Найдём НОУ для множества выражений

}.

 

W = { ( , , ( )

), , ( ), ( )

 

(

)

(

)

 

1.

Положим σv0 = ε и W0 = W .

 

 

 

 

2.

Так как |W0| ≠ 1, то σv0 не является НОУ для W . Поэтому находим множество несогла-

 

сованности D0 = { , }.

 

 

 

 

3.

В D0 имеется переменная 0 = , которая не встречается в 0 = . Пусть λ0 = { 0/ 0} =

 

= { / }.

 

 

 

 

4.

Пусть σv1 = σv0 λ0 = ε { / } = { / },

 

 

 

 

 

W1 = W0λ0 = { ( , , ( ( ))), ( , ( ), ( ))}{ / } =

 

= { ( , , ( ( ))), ( , ( ), ( ))}.

5.

Так как |W1| ≠ 1, то σv1 не является НОУ для W . Поэтому находим множество несогла-

 

сованности D1 = { , ( )}.

 

 

 

 

6.

В D1 имеется переменная 1 = , которая не встречается в 1 = ( ). Пусть λ1 =

 

= { 1/ 1} = { ( )/ }.

 

 

 

 

7.

Пусть σv2 = σv1 λ1 = { / } { ( )/ } = { / ,

( )/ },

 

}{ ( )/ } =

 

W2 = W1λ1 = { ( , , ( ) ), , ( ), ( )

 

(

)

(

 

)

 

= { ( , ( ), ( ( ))), ( , ( ), ( ))}.

8.

Так как |W2| ≠ 1, то σv2 не является НОУ для W . Поэтому находим множество несогла-

 

сованности D2 = { ( ), }.

 

 

 

 

9.

В D2 имеется переменная 2 = , которая не встречается в 2 = ( ). Пусть λ2 =

 

= { 2/ 2} = { ( )/ }.

 

 

 

 

10.

Пусть σv3 = σv2 λ2 = { / , ( )/ } { ( )/ } = { / , ( )/ ,

( )/ },

W3 = W2λ2 = { ( , ( ), ( ( ))),

( , ( ), ( ))}{ ( )/ } =

= { ( , ( ), ( ( ))),

( , ( ), ( ( ))) }

=

= { ( , ( ), ( ( ))) }.

 

11. Так как |W | = 1, то σv = { / , ( )/ , ( )/ } НОУ для W .

3 3

Итак, подстановка { / , ( )/ , ( )/ } является НОУ для множества выражений W =

{ ( ) }

( ) ( )

= , , ( ) , , ( ), ( ) .

Пример 1.10. Определим, унифицируемо ли множество выражений

{ ( ) }

W = ( ), ( ) , ( , ) .

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]