- •ВВЕДЕНИЕ
- •1.1. Способы задания множеств
- •1.2. Подмножества
- •1.3. Операции над множествами
- •1.4. Алгебра множеств
- •1.5. Кортежи. Прямое произведение множеств
- •1.6. Соответствие
- •1.7. Мощность множества
- •1.8. Единичный гиперкуб
- •1.9. Парадокс Рассела
- •2. ЛОГИЧЕСКИЕ ФУНКЦИИ
- •2.1. Понятие предиката
- •2.2. Признаки (свойства)
- •3.1. Высказывания
- •3.2. Кванторы
- •3.4. Аксиоматическая модель и ее свойства
- •3.6. Понятие монадической логики
- •3.7. Алфавит и термы
- •3.8. Предикатные нормальные формы
- •3.11. Алгоритм унификации
- •3.13. Перспективы развития
- •ЗАКЛЮЧЕНИЕ
- •БИБЛИОГРАФИЧЕСКИЙ СПИСОК
г) Даниил внук Ярослава князя Владимирского; д) Юрий Долгорукий дед Ярослава князя Владимирского.
4.Сформулируйте в форме заключения секвенций вопросы: а) кто правнук Юрия Долгорукого, б) кто его племянник, в) кто его брат.
5.Найдите на эти вопросы ответы по методу резолюций.
3.11. АЛГОРИТМ УНИФИКАЦИИ
Это один из основных алгоритмов логического вывода по методу резолюций. Для его описания необходимо предварительно ввести понятия подстановки и унификатора.
Подстановки и унификаторы
Пусть x1, x2 ,..., xk − переменные, a t1,t2 ,...,tk − термы. Взаимно одно-
значное соответствие этих множеств называют подстановкой. Закон такого соответствия можно задать матрицей из двух строк
x |
x |
... |
x |
|
|||
Θ = |
1 |
t |
2 |
... |
t |
k |
. |
|
t |
2 |
k |
|
|||
1 |
|
|
|
||||
Поскольку переменная – это тоже терм, то может иметь место подстановка
x |
x |
... |
x |
|
, |
|
ε = |
1 |
2 |
... |
k |
|
|
|
x |
x |
x |
|
|
|
1 |
2 |
|
k |
|
||
которую называют пустой подстановкой. Более компактно подстановку можно задать множеством пар
Θ ={t1 |
|
x1, t2 |
|
x2 , ..., tl |
|
xl }, |
(3.26) |
|
|
|
90
где исключены все пары вида xi xi , называемые неподвижными точками. Поэтому l ≤ k, k −l −число неподвижных точек в подстановке Θ. В этом случае пустая подстановка ε ={ } вообще не содержит ни одной пары.
Рассмотрим некоторый дизъюнкт А(x1, x2 ,..., xk ), где x1, x2 ,..., xk – его вхождения. Тогда запись АΘ = А(t1,t2 ,...,tk ) называется примером дизъ-
юнкта А для подстановки Θ, заданной соотношением (3.26).
Если А есть k -местный предикат, то АΘ будет m -местным предика-
том, причем m ≤ k . |
|
Любой дизъюнкт А всегда совпадает с примером Аε |
( Аε = А), т. к. |
ε−пустая подстановка (l = 0) и не производит никаких |
изменений в |
дизъюнкте. Дизъюнкт не изменится и в том случае, если подстановка не содержит вхождений дизъюнкта в качестве переменных. Например, при
А = f (x) ≤ y |
|
|
P(x, y) и Θ = |
{ |
|
|
|
|
} |
получим, что АΘ = А, |
т. к. |
|||||
y ≥ z |
|
f (x) |
u, y |
w |
||||||||||||
эта подстановка не замещает переменные |
x, y, z термами (она замещает |
|||||||||||||||
лишь переменные u, w , которых нет в дизъюнкте А). Следовательно, |
|
|||||||||||||||
( f (x) ≤ y |
|
|
P(x, y) ) |
{ |
|
|
} |
= f (x) ≤ y |
|
P(x, y) . |
|
|||||
y ≥ z |
|
f (x) |
u, y |
w |
y ≥ z |
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Определение 16. Атомарный предикат, или его инверсию, называют литерой. Пусть W ={L1, L2 ,..., Ls } – некоторое множество литер. Подста-
новка Θ есть унификатор множества литер W, если L1Θ = L2Θ =... = LsΘ.
При этом литеры L1, L2 ,..., Ls называются унифицируемыми, а обозначение У (W ) = Θ означает, что подстановка Θ является унификатором для мно-
жества литер W. |
|
|
{ |
|
|
|
} |
|
|
|
|
|
{ |
} |
|
|
||||||||||||||||
Например, если |
|
|
|
|
|
то |
|
|
|
|
т. к. |
|||||||||||||||||||||
|
W = |
|
P(x), P( f (y)) , |
У (W ) |
= |
|
f (y) |
|
x , |
|||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||
|
{ |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
P(x) |
|
f |
(y) |
|
x = P( f (y)), что совпадает с другой литерой, |
|
которая не имеет |
|||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
{ |
|
} |
|
|
|
|
{ |
|
} |
|
|
||||||||
вхождения х, и поэтому P( f (y)) |
|
f |
(y) |
|
x = P( f (y)) = P(x) |
|
f |
(y) |
|
x . |
|
|
||||||||||||||||||||
|
|
|
|
|
|
|||||||||||||||||||||||||||
Определение 17. |
|
Пусть |
даны |
подстановки |
Θ ={t1 |
|
|
x1, t2 |
|
x2 , ..., tk |
|
xk } |
||||||||||||||||||||
|
|
|
|
|||||||||||||||||||||||||||||
Λ ={s1 |
|
y1, s2 |
|
y2 , ..., sm |
|
ym}.. Тогда композиция подстановок Θ и Λ зада- |
||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||
91
ется множеством {t1Λ x1, t2Λ x2 , ..., tk Λ xk , s1 y1, s2 y2 , ..., sm ym}=ΘΛ, откуда вычеркнуты элементы вида tiΛ xi , для которых tiΛ = xi , и элементы
s j y j , в которых y j {x1, x2 ,..., xk }.
Здесь запись tiΛ означает замену предметных переменных в терме ti в соответствии с подстановкой Λ. Разберем операцию композиции подстановок на следующем примере.
Пример 7. Вычислить композицию двух подстановок
|
{ |
} |
|
|
|
{ |
|
|
|
|
|
|
|
|
} |
|
(3.27) |
|||||
Θ = |
|
f (y) |
x, z |
y |
, |
|
Λ = |
|
a |
x, b |
y , y |
z |
|
|
|
. |
||||||
Решение. Здесь ΘΛ ={t1Λ |
|
x1 , t2Λ |
|
x2 , s1 |
|
y1, s2 |
|
y2 , s3 |
|
y3}. Вычислим все |
||||||||||||
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
элементы данного множества и определим, какие из них останутся в вычисляемой подстановке.
t1Λ x1 = f (y)Λ x = f (y){a x,b y, y z}x = f (b) x – этот элемент остает-
ся; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
y = z{a |
|
x,b |
|
y, y |
|
z} |
|
|
|
y −исключается |
(неподвижная |
||
t2Λ |
x2 = zΛ |
|
|
|
|
|
y = y |
|
|||||||||||||||||
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|||||||||||||||||||||
точка); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
s1 |
|
|
|
|
y1 = а |
|
х − исключается, потому что х {х, у}; |
|
|||||||||||||||||
|
|
|
|||||||||||||||||||||||
s2 |
|
y2 = b |
|
|
|
y − исключается, потому что y {х, у}; |
|
||||||||||||||||||
|
|
|
|
||||||||||||||||||||||
s3 |
|
|
y3 = y |
|
z − остается, потому что z {х, у}. |
|
|||||||||||||||||||
|
|
|
|
||||||||||||||||||||||
Окончательно получаем, ΘΛ ={f (b) x, y z}.
Нетрудно проверить, что операция композиции подстановок обладает следующими свойствами:
1о ( Θ)[ε Θ = Θε = Θ], т. е. пустая подстановка для композиции является нейтральным элементом (единицей);
2о ( Θ)( Λ)( Ω)[(ΘΛ)Ω = Θ(ΛΩ)], т. е. операция композиции подстановок ассоциативна.
92
Наиболее общий унификатор
В добавление к рассмотренным выше свойствам операции композиции подстановок следует также отметить, что
|
|
|
|
|
|
|
|
|
( Θ)( Λ)( L)[L(ΘΛ) = (LΘ)Λ], |
(3.28) |
|
т. е. пример литеры L для композиции подстановок Θ и Λравен примеру |
|||||||||||
от примера LΘ для подстановки Λ. |
|
||||||||||
|
Определение 18. Унификатор Ψ есть наиболее общий для множества |
||||||||||
литер |
W ={L1, L2 ,..., Ls } |
(обозначается Ψ = НОУ (W ) ), если |
для любого |
||||||||
другого унификатора Θ =У (W ) существует подстановка Λ ≠ ε, для кото- |
|||||||||||
рой Θ = ΨΛ. |
|
|
|
|
множества W ={P(x), P( f (y))} |
|
|||||
|
Например, |
} |
|
для |
{ |
подстановки |
|||||
|
{ |
|
|
|
|
|
} |
|
|||
Θ = |
|
f (a) |
x,a |
y |
|
, |
Ψ = |
|
f (y) |
x – унификаторы, но наиболее общим среди |
|
них является второй, т. к. существует подстановка Λ ={a y}≠ ε такая, что
Θ = ΨΛ= |
{ |
}{ |
|
} |
= |
{ |
} |
|
{ |
|
|
|
} |
. |
|||
|
f (y) |
x a |
y |
|
|
f (y)Λ |
x,а |
у |
= |
|
f (а) |
х,а |
у |
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Нахождение наиболее общего унификатора для заданного множества литер обеспечивается алгоритмом унификации. Элементами этого унификатора являются пары, получающиеся при нахождении рассогласований между литерами множества W ={L1, L2 ,..., Ls }.
При нахождении рассогласования осуществляется просмотр с первой слева позиции сравниваемых литер для нахождения ближайших несовпадающих термов, что и является рассогласованием. Например, для W ={P(x, f (y)), P(х, z)} получается рассогласование D ={f (y), z}, которое
определяет подстановку D ={f (y), z}, унифицирующую данные литеры. Выше введены все необходимые понятия, используемые в описании
агоритма унификации. Пусть W ={L1, L2 ,..., Ls } множество литер с совпа-
дающими предикатными символами (литеры с разными предикатными символами не унифицируемы). Тогда данный алгоритм можно представить следующей последовательностью действий.
93
Алгоритм 4
Шаг 1. Положим W0 =W , Ψ0 = ε, k = 0.
Шаг 2. Если Wk содержит единственную литеру, то произойдет останов, при котором ответом будет Ψk = НОУ (W ). Иначе осуществляется переход к следующему шагу.
Шаг 3. Находится рассогласование Dk для Wk . Если это рассогласование содержит переменную vk и терм tk , причем vk не содержится в ка- ком-либо терме рассогласования Dk , то осуществляется переход к следующему шагу. В противном случае – останов, при котором ответом будет сообщение, что множество W не унифицируемо.
|
|
Шаг 4. Для множества литер Wk определяются примеры для подста- |
|||||||||||||||||
новки {tk |
|
vk } |
и формируется новое множество литер Wk +1 =Wk {tk |
|
vk }= |
||||||||||||||
|
|
||||||||||||||||||
= |
|
L {t |
|
|
v |
}, L |
{t |
|
|
v |
}, ..., L |
{t |
|
|
v |
} . |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
{ |
1 |
k |
|
k |
1 |
|
k |
|
k |
sk |
|
k |
|
k |
} |
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
Шаг. 5. Формируется подстановка Ψk +1 как композиция подстановок
Ψk и {tk vk }: Ψk +1 = Ψk {tk vk }.
Шаг 6. Индексная переменная k увеличивается на единицу: k := k +1 и осуществляется переход на шаг 2.
Примеры унификации
Продемонстрируем работу данного алгоритма на следующих двух примерах.
Пример 8. Определить наиболее общий унификатор для множества литер W ={P(a, x, f (g(y))), P(z, f (z), f (u))}.
Решение. В соответствии с алгоритмом 4 производим следующие действия.
Шаг 1. Положим W0 =W , Ψ0 = ε, k = 0.
Шаг 2. Поскольку множество W0 ={P(a, x, f (g(y))), P(z, f (z), f (u))} содержит не одну, а две литеры, то переходим к шагу 3.
94
Шаг 3. Сравниваем символы этих двух литер в направлении слева направо и находим рассогласование D0 ={a z}, где a – терм, а z – переменная, которая не входит в какой-либо терм рассогласования D0 . Поэтому переходим к шагу 4.
Шаг 4. W1 =W1 {a z}={P(a, x, f (g(y))){a z}, P(z, f (z), f (u)){a z}}=
={P(a, x, f (g(y))), P(a, f (a), f (u))}.
Шаг 5. Ψ1 = Ψ0 {a z}={ }{a z}={a z}.
Шаг 6. k =1 и переход на шаг 2.
Шаг 21. Поскольку множество W1 ={P(a, x, f (g(y))), P(a, f (a), f (u))} содержит не одну, а две литеры, то переходим к шагу 3.
Шаг 31. Сравниваем символы этих двух литер в направлении слева направо и находим рассогласование D1 ={x f (a)}, где f (a) – терм, а x– переменная, которая не входит в какой-либо терм рассогласования D1 . Поэтому переходим к шагу 4.
Шаг 41. W2 =W1 {f (a) x}={P(a, f (a), f (g(y))), P(a, f (a), f (u))}.
Шаг 51. Ψ2 = Ψ1 {f (a) x}={a z}{f (a) x}={a z , f (a) x}.
Шаг 61. k = 2 и переход на шаг 2.
Шаг 22. Так как множество W2 ={P(a, f (a), f (g(y))), P(a, f (a), f (u))}
содержит не одну, а две литеры, то переходим к шагу 3.
Шаг 32. Сравниваем символы этих двух литер в направлении слева направо и находим рассогласование D2 ={g(y) u}, где g(y)– терм, а u – переменная, которая не входит в какой-либо терм рассогласования D2 . Поэтому переходим к шагу 4.
Шаг 42. W3 ={P(a, f (a), f (u)){g(y) u}, P(a, f (a), f (u)){g(y u)}}=
={P(a, f (a), f (u))}.
95
Шаг 52. Ψ3 = Ψ2 {g(y) u}={a z , f (a) x}{g(y) u}={a z , f (a) x, g(y) u}.
Шаг 62. k = 3 и переход на шаг 2.
Шаг 23. Так как множество W3 ={P(a, f (a), f (u))} содержит одну единственную литеру, то задача решена. Наиболее общий унификатор для исходного множества литер найден – это Ψ3 ={a z , f (a) x, g(y) u}!
Пример 9. Определить наиболее общий унификатор для множества литер W ={Q( f (a), g(x)), Q(y, y)}.
Решение.
Шаг 1. Положим W0 =W , Ψ0 = ε, k = 0.
Шаг 2. Поскольку множество W0 ={Q( f (a), g(x)), Q(y, y)} содержит
не одну, а две литеры, то переходим к шагу 3.
Шаг 3. Сравниваем символы этих двух литер в направлении слева
направо и находим рассогласование D0 ={f (a) |
|
y}, где f (a) – терм, а |
y – |
|||||||||||
|
||||||||||||||
переменная, которая не входит в какой-либо терм рассогласования |
D0 . |
|||||||||||||
Поэтому переходим к шагу 4. |
|
|||||||||||||
Шаг 4. W1=W0 {f (a) |
|
y}={Q( f (a), g(x)){f (a) |
|
y}, Q(y, y) f (a) |
|
y}= |
|
|||||||
|
|
|
|
|||||||||||
={Q( f (a), g(x)), Q( f (a), f (a))}. |
|
|||||||||||||
Шаг 5. |
Ψ1 = Ψ0 {f (a) |
|
y}={ }{f (a) |
|
y}. |
|
||||||||
|
|
|
||||||||||||
Шаг 6. |
k =1 и переход на шаг 2. |
|
||||||||||||
Шаг 21. Поскольку множество W ={Q( f (a), g(x)), Q( f (a), f (a))} |
со- |
|||||||||||||
|
1 |
|
|
|
|
|
|
|
|
|
||||
держит не одну, а две литеры, то переходим к шагу 3.
Шаг 31. Сравниваем символы этих двух литер в направлении слева направо и находим рассогласование D1 ={g(x) f (a)}, где f (a) – терм и g(x) – терм, т. е. данное рассогласование не содержит переменной. Поэтому множество W ={Q( f (a), g(x)), Q(y, y)} не унифицируется!
96
Вопросы для самоконтроля
1.Для подстановок Θ и Λ, заданных соотношениями (3.27), определить композицию ΛΘ.
2.На примере подстановки Ω ={а х, с и} и подстановок Θ и Λ, за-
данных соотношениями (3.27), показать справедливость свойства 2о.
3. Проверить справедливость формулы (3.28) для литеры P(z, f (х, у)) и подстановок Θ ={f (y) x, z y}, Λ ={a x, b y , y z}.
4. Для множества литер W ={P(a, x, f (g(y))), P(z, f (z), f (u))} найти
рассогласование. Выполнить найденную подстановку и для полученных литер вновь найти рассогласование.
3.12.ОБЩИЙ ПОДХОД МОДЕЛИРОВАНИЯ
Втом случае, когда объект моделирования достаточно хорошо изучен
иописан, задача получения системы аксиом на языке монадической логики значительно упрощается. Как уже отмечалось, этот язык по своей структуре и языковым формам очень близок к естественному языку. При этом при наличии достаточно полных данных об исследуемом объекте задача моделирования по существу может быть сведена к переводу этих данных с естественного языка на искусственный.
Общий подход такого моделирования может быть описан в виде следующего алгоритма.
Алгоритм 5
Шаг 1. Изучить описание и выделить существенные понятия (сущности). Присвоить им условные обозначения; их полный перечень даст некоторое конечное множество констант (мир сущностей) – область значений логических переменных.
97
Шаг 2. Определить основные свойства (признаки) сущностей. Задать их области истинности в виде фактов (истинных высказываний).
Шаг 3. Найти важнейшие отношения (связи) между сущностями и задать их области истинности также в виде фактов.
Шаг 4. С помощью определений (обычных и рекурсивных) задать все остальные свойства сущностей и отношения между ними. В этих определениях можно будет использовать лишь ранее определенные свойства и отношения.
Шаг 5. Конец.
Так формируется система аксиом на языке ПППФ монадической логики. Все последующие преобразования этой аксиоматической модели могут быть полностью автоматизированы, т. к. алгоритмы преобразования ПППФ в списки дизъюнктов запрограммированы в виде компьютерных программ. Формальные преобразования с помощью равносильных формул (3.4)–(3.14), ввод скулемовских констант и функций, преобразования с.н.ф. в к.н.ф. с последующим преобразованием их в списки дизъюнктов – все это теперь выполнит компьютер. На э том построение базы знаний в компьютерной памяти будет завершено.
Теперь с этой моделью можно проводить разные эксперименты, задавать ей интересующие исследователя вопросы. Её реакция должна быть адекватной реакции реального объекта, подобие которого она представляет. Ответы на вопросы реализуются тем же программным обеспечением вопросно-ответной системы, куда входит также и алгоритм унификации.
В том случае, когда исследователь не получает какого-либо ответа на введенный в логическую машину вопрос, это означает, что данная модель не полная, и ответ на него находится за пределами данной аксиоматической модели и её механизма логического вывода.
98
