Скачиваний:
105
Добавлен:
01.05.2014
Размер:
7.48 Mб
Скачать

Использование языка логики предикатов для представления знаний

Логика предикатов возникла изначально для изучения логических основ естественного языка, однако стала широко применяться для представления знаний с тех пор, как в 1965 г. Дж. Робинсон предложил алгоритм доказательства теорем с помощью компьютера. Этот алгоритм был назван принципом резолюции. С появлением языков логического типа (самый известный среди них - ПРОЛОГ) исследования в этой области получили новый импульс.

Для представления знаний в некоторых экспертных системах используются продукционные правила, которые задают знания в форме ЕСЛИ ... ТО ... . Представление знаний с помощью логики предикатов имеет некоторое сходство с продукционными правилами, так как в логике предикатов разрешаются формулы, задающие соответствующие представления в форме ЕСЛИ - ТО. Причем допускается объединение нескольких описаний в составе условия ЕСЛИ и заключения ТО [4]. Однако между этими двумя формами представления знаний имеются и существенные различия. Рассмотрим их подробнее.

К форме представления знаний предъявляются два противоречивых требования:

1) независимость знаний друг от друга,

2) согласованность знаний как единого целого.

В продукционных правилах представлению отдельных знаний присуща полная независимость и свойства знаний как единого целого не затрагиваются. В логике предикатов во внимание принимаются поведение и свойства знаний как единого целого.

Как мы увидим дальше, логике предикатов присущ высокий уровень модульности представления знаний, и одновременно с этим она позволяет получить единственную систему представления, в которой логически разъясняются свойства знаний как единого целого. Следовательно, с помощью логики предикатов можно создать формальную процедуру для программной реализации на компьютере, позволяющую выявить наличие или отсутствие противоречий между новыми и уже существующими знаниями.

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

Метод резолюции изобретен и применяется для машинного доказательства теорем. Чтобы воспользоваться данным методом, исходные логические формулы необходимо преобразовать в некоторую нормальную форму. Это преобразование проводится в несколько стадий. Опишем эти стадии.

Префиксная нормальная форма

На первой стадии этих преобразований все кванторы выносятся за скобки и следуют непосредственно перед правильно построенной логической формулой. Такая форма представления носит название префиксной (илипренексной) нормальной формы.

Чтобы получить префиксную нормальную форму для начала исключим из ППФ связки ®и«. Для этого используем известные [3,5] формулы:

F«G º(F®G)Ù(G®F)

_

F®G º FÚG

Рассмотрим выражения типа GÙ (Qx)F(x) и GÚ (Qx)F(x). Здесь букваQобозначает квантор общности "или квантор существования$, а предикат G не зависит от переменнойx. В этом случае кванторы можно вынести за скобки и справедливы следующие формулы:

GÙ (Qx)F(x) º (Qx)(GÙ F(x))

G Ú (Qx)F(x) º (Qx)(GÚ F(x))

Формулы ________ ____

("x)(F(x))= ($x)F(x)

________ ____

($x)(F(x))= ("x)F(x)

также используются для преобразования к префиксной форме.

Известно, что квантор общности обладает дистрибутивным свойством относительно конъюнкции, а квантор существования дистрибутивен относительно дизъюнкции:

("x)F(x) Ù("x)H(x) º("x)[(F(x) ÙH(x)],

($x)F(x) Ú ($x)H(x) º($x)[(F(x) Ú H(x)],

Следует подчеркнуть, что похожие равенства не общезначимы.

("x)F(x) Ú ("x)H(x) ¹("x)[(F(x) Ú H(x)], (1)

($x)F(x) Ù (($x)H(x) ¹($x)[(F(x) Ù H(x)], (2)

Это легко доказать на примере. Пусть наше множество объектов состоит из трех констант а, б, в (т.е. переменная x пробегает значения а,б,в), и формулы F(a),F(б), H(в)истинны. Для остальных значений предикатыF(x) и H(x)ложны.

Другими словами мы введем некоторую интерпретацию g. Область интерпретацииg- это множество {а,б,в}. При этом

g(F(а))= g(F(б))= g(H(в))=1,

g (F(в))= g(H(а))= g(H(б))=0.

Тогда в соответствии с п. 5 определения понятия интерпретации g(("x)F(x))=0, так какg (F(в))=0.

Аналогично g(("x)H(x))=0 , так какg(H(а))= g(H(б))=0. Отсюда, в соответствии с п. 3 определения следует, что

g (("x)F(x) Ú ("x)H(x))=0

Таким образом, правая часть формулы (1) интерпретируется как ложь. Рассмотрим левую часть этой формулы. В соответствии с п. 3 определения понятия интерпретации g(F(x)ÚH(x))=1 для любыхxиз области интерпретации. Поэтому по п. 6 g [(F(x) Ú H(x)]=1. Итак, в нашей интерпретации левая часть формулы ложна, тогда как правая часть истинна.

Аналогичным образом доказывается формула (2). Итак, префиксную форму произвольной ППФ удается построить лишь введением новых переменных. Перепишем правые части формул (1) и (2) следующим образом:

("x)F(x) Ú ("x)H(x) º("x)(F(x) Ú ("y)H(y), (1)

($x)F(x) Ù ($x)H(x) º($x)(F(x) Ù ($y)H(y),

В правых частях этих формул предикат H(y)не содержит переменнойxи поэтому не зависит от связыванияxквантором. Поэтому данные формулы можно переписать в следующем виде:

("x)F(x) Ú ("x)H(x) º("x) ("y)[(F(x) Ú H(y)], (1)

($x)F(x) Ù ($x)H(x) º($x) ($y)( F(x) Ù H(y),

Рассмотрим пример преобразования некоторой абстрактной ППФ в префиксную нормальную форму:

("x)("y)[($z)(F(x,z)ÚG(y,z)) ®($u)H(x,y,u)] º

________________

("x)("y)[($z)(F(x,z) ÚG(y,z)) Ú($u)H(x,y,u)]º

_____ ______

("x)("y)[("z)(F(x,z)ÙG(y,z)) Ú($u)H(x,y,u)]º

_____ ______

("x)("y)("z)[(F(x,z)ÙG(y,z)) Ú($u)H(x,y,u)]º

_____ ______

("x)("y)("z) ($u)[(F(x,z)ÙG(y,z)) ÚH(x,y,u)]