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

Исчисление предикатов. Общие понятия.

Формальная система F считается определенной, если:

  1. Определен алфавит системы – счетное множество символов. Из алфавита образуется множество слов - некоторое подмножество всех цепочек из символов алфавита.

  2. Определены формулы системы – некоторое подмножество слов. Как правило, определяется процедура составления формул из символов алфавита.

  3. Определены аксиомы системы – некоторое подмножество формул.

  4. Определены правила вывода системы – конечное множество отношений между формулами системы.

Логика предикатов – частный случай формальной системы.  Алфавит логики предикатов (или как ее еще называют, логики первого порядка) составляют:

  1. Переменные.

  2. Константы.

  3. Функциональные символы.

  4. Предикатные символы.

  5. Константы Ложь и Истина.

  6. Кванторы существования (обозначим СУЩ) и всеобщности (обозначим ВСЕ) .

  7. Логические связки отрицания (НЕ), конъюнкции(И), дизъюнкции (ИЛИ), импликации (->) .

  8. Символы скобок, точки и запятой.

Все предикатные и функциональные символы имеют определенное число аргументов. Если их число равно N, говорят, что мы имеем дело с N-местный (или N-арным) предикатным (функциональным) символом.  Термом называется или переменная или константа или функциональный символ, аргументы которого являются термами. Терм, не содержащий переменных, называется константным или основным.

Формула в логике предикатов – это или предикат, аргументы которого являются термами( в этом случае формула называется атомной или элементарной), или последовательность, получаемая одним из следующих способов из некоторых формул А и Б и некоторой переменной x:  1) НЕ А  2) А И Б  3) А ИЛИ Б  4) А->Б (т.е.из А следует Б)  5) СУЩ x А (т.е. существует x такое, что справедливо А)  6) ВСЕ x А (т.е. при всех x справедливо А).

В формулах 5) и 6) А называется областью действия соответствующего квантора.  При этом если x из этих формул входит в область действия, то такая переменная называется связанной, а в противном случае – свободной.  Положительным литералом называется атомная формула, отрицательным литералом – отрицание атомной формулы.  Конъюнктивной нормальной формой формулы называется конъюнкция конечного числа дизъюнктов. Предваренной (префиксной) нормальной формой называется представление формулы в виде:  КВАНТОР1 x1, …, КВАНТОРN xN А  Здесь КВАНТОР1,…,КВАНТОРN – это один из кванторов СУЩ или ВСЕ, а все это выражение называется префиксом, формула А не содержит кванторов и называется матрицей.  Сколемовской нормальной формой называется предваренная нормальная форма, не содержащая кванторов существования.

На практике для обработки знаний представленных в виде логики предикатов используется метод резолюции хорновских дизъюнктов .  Дизъюнкт – это дизъюнкция (соединение при помощи ИЛИ) конечного числа литералов. Хорновскими называют дизъюнкты, содержащие не более одного положительного литерала.

Приведение произвольной формулы к множеству дизъюнктов.

Алгоритм таков.

Шаг 1. Приведение формулы к предваренной нормальной форме.

Для этого:  1. Пользуясь эквивалентностью А->Б <-> (НЕ А) ИЛИ Б исключим импликацию.  2. Перенесем все отрицания внутрь формулы, чтобы они стояли только перед атомными формулами, пользуясь следующими эквивалентностями:  1. НЕ (А ИЛИ Б) <-> НЕ(А) И НЕ(Б)  2. НЕ (А И Б) <-> НЕ(А) ИЛИ НЕ(Б)  3. НЕ (СУЩ x А) <-> ВСЕ x НЕ(А)  4. НЕ (ВСЕ x А) <-> СУЩ x НЕ(А)  5. НЕ (НЕ(А)) <-> А  3. Переименовываем связанные переменные так, чтобы ни одна переменная не входила в формулу одновременно и как связанная и как свободная.  4. Выносим кванторы в начало, используя эквивалентности:

  1. Если Б не содержит переменной x, то КВАНТОР x А(х) ИЛИ Б <-> КВАНТОР х (А(x) ИЛИ Б)

  2. Если Б не содержит переменной x, то КВАНТОР x А(х) И Б <-> КВАНТОР х (А(x) И Б)

  3. ВСЕ x А(х) И ВСЕ x Б(x) <-> ВСЕ x (А(x) И Б(x))

  4. СУЩ x А(х) ИЛИ СУЩ x Б(x) <-> СУЩ x (А(x) ИЛИ Б(x))

  5. КВАНТОР1 x А(x) ИЛИ КВАНТОР2 x Б(x) <-> КВАНТОР1 КВАНТОР2 (А(x) ИЛИ Б(x))

  6. КВАНТОР1 x А(x) И КВАНТОР2 x Б(x) <-> КВАНТОР1 КВАНТОР2 (А(x) И Б(x))

Шаг 2. Приведение формулы к сколемовской нормальной форме.

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

Шаг 3. Исключение кванторов всеобщности.

Просто удалим кванторы всеобщности из сколемовской нормальной формы.

Шаг 4. Приведение формулы к конъюнктивной нормальной форме.

Для этого воспользуемся эквивалентностью:

1. А ИЛИ (Б И В) <-> (А ИЛИ Б) И (А ИЛИ В)  2. А И (Б ИЛИ В) <-> (А И Б) ИЛИ (А И В)

Шаг 5. Исключение конъюнкций – получение множества дизъюнктов.