Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ii_otvety_2012.doc
Скачиваний:
33
Добавлен:
27.09.2019
Размер:
551.42 Кб
Скачать

11. Представление знаний на основе формальной логики. Пролог как возможный язык логического представления знаний.

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

1) Исключение знаков импликации:

A B → ¬A B .

2) Уменьшение области действия знаков отрицания. ¬ должен применяться не

более, чем к одной предикатному символу:

¬( A B) → ¬A ∨ ¬B ,

¬( A B) → ¬A ∧ ¬B ,

¬¬A A , ¬X

( p( X )) X

¬( p( X )) , ¬∃X

( p( X )) X

¬( p( X )) .

3) Стандартизация переменных - переименование переменных с тем, чтобы каждый квантор в своей области видимости имел свою собственную немую переменную. Пример:

X (¬p( X ) X (q( X ))) X (¬p( X ) Y (q(Y ))).

4) Сколемезация (skolemization) - это исключение

vi

и замена каждой переменной

vi функцией нескольких переменных (от которых зависит исходная переменная), которая

возвращает соответствующую константу. Эта функция называется сколемовской (Scolem

function). Пример: X

Y ( p( X , Y )) X

( p( X , f ( X ))) , f

- сколемовская.

5) Приведение к предваренной нормальной форме. Все кванторы всеобщности переносятся в начало правильно построенной формулы. Полученная нормальная форма состоит из цепочки кванторов всеобщности (префикса) и расположенной за ней формулой

без кванторов (матрицы). Пример: X

(¬p( X ) Y

(q(Y ))) XY

(¬p( X ) (q(Y ))).

6) Приведение матрицы к конъюнктивной нормальной форме. Простой дизъюнкцией называется дизъюнкция одной или нескольких переменных, при этом каждая переменная входит не более одного раза (либо сама, либо ее отрицание). КНФ называется конъюнкция простых дизъюнкций.

7) Опускается префикс, преобразуются конъюнкты:

A B A, B , где A и B -

простые дизъюнкты. В результате получим клаузальную нормальную форму. Атомную

формулу или ее отрицание называют литералом, а правильно построенную формулу,

состоящую из дизъюнкции литералов - предложением.

Программа на языке Prolog представляет собой набор фраз Хорна. Фраза Хорна

(Horn clause) - это предложение вида

a ¬b1 ¬b2 ... ¬bn , то есть

a b1 b2 ... bn ,

где a и bi

- положительные литералы (называемые атомарными целями),

i = 1, n . a -

заголовок,

b1 b2 ... bn

- тело. Фразы Хорна бывают трех видов:

b1 b2 ... bn -

цели, a - факты, a b1 b2 ... bn

- правила.

Для преобразования в фразу Хорна предложение должно содержать не более одного положительного литерала.

1) Если этот положительный литерал существует, то он перемещается в левую часть

(коммутативность дизъюнкции) и становится заголовком.

2) Применяется правило a ¬b1 ¬b2 ... ¬bn a ¬(¬b1 ... ¬bn ) .

3) Из закона де Моргана:

коммутативности ∧ .

a b1 b2 ... bn , где bi

упорядочиваются в силу

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