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

Сколемовская нормальная форма

Рассмотрим логическую формулу ("x)($y)ЛЮБИТ(x,y)

"для каждого x существует такой y , что x любит y".

Эта формула означает, что если выделить один конкретный объект x, то для этого x существует y, удовлетворяющий предикату ЛЮБИТ(x,y). Иными словами, y зависит от x и определяется в зависимости от x. Отсюда следует, что здесь y можно заменить на некоторую функцию f(x), которая описывает данное отношение. Поскольку функция f(x) возникла, в конечном итоге, из того обстоятельства, что переменная y связана квантором существования, при подстановке этой функции на место переменнойyквантор существования уже не понадобится. Таким образом, исходную формулу можно переписать в виде ("x)ЛЮБИТ(x,f(x)). Подобная функция называетсясколемовскойилифункцией Сколема.

Приоритетность действия кванторов в префиксной форме изменяется в порядке слева направо. Поэтому функция Сколема будет зависеть от всех переменных, которые связаны квантором общности и стоят левее заменяемого квантора существования. Рассмотрим примеры.

("x)($y)("z)F(x,y,z)- "для всех x существует y, такой, чтоF(x,y,z)есть истина при всехz".

После введения сколемовской функции эту формулу можно переписать без квантора существования: ("x)("z)F(x,f(x),z)

Формула ("x)("z)($y)F(x,y,z) - "для всех xи для всехz существуетy, такой, что формулаF(x,y,z) есть истина" преобразуется к следующему виду:

("x)("z)F(x,f(x,z),z)

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

("x)($y)("z)($u)F(x,y,z,u)º("x)("z)F(x,f(x)y,z,g(x,z))

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

Клаузальная форма

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

Обычно предикатная формула в сколемовской нормальной форме представляет собой несколько предикатов, соединенных различными логическими связками. Эту форму необходимо преобразовать к конъюнктивной нормальной форме, используя известные из курса дискретной математики [6] законы:

AÚ(B ÙC) º(AÚB)Ù(AÚC),

(AÙB)Ú(A ÙC)=AÙ(BÚC).

Например, формула

[F(x,f(x))Ù(G(x,z)]Ú[(F(x,f(x))Ù H(f(x),z)]

преобразуется к следующему виду:

F(x,f(x))Ù[(G(x,z)ÚH(f(x),z)]

Чтобы еще более упростить способ записи, конъюнктивную нормальную форму преобразуют к клаузальной форме. В клаузальной форме используется понятие предложения (clause - клауз), которым называется ограниченная скобками часть конъюнктивной нормальной формы. Иначе говоря, предложение (или клауз, или дизъюнкт) - это группа предикатов конъюнктивной формы, объединенных связками дизъюнкции Ú. Множество предложений, полученное в результате приведения группы ППФ к клаузальной форме, называетсяклаузальным множеством.

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