- •Основные направления ии.
- •Классификация сии.
- •Характеристики знаний.
- •Модели представления знаний.
- •Исчисление высказываний.
- •Интерпретация формул в логике предикатов первого порядка.
- •Системы аксиом логики предикатов.
- •Правила вывода в исчислении предикатов.
- •Автоматизация доказательства в логике предикатов.
- •Скулемовские стандартные формы.
- •Алгоритм преобразования пнф в ссф.
- •Метод резолюций.
- •Метод резолюций в исчислении высказываний.
- •Метод резолюций в исчислении предикатов. Правило унификации в логике предикатов.
- •Алгоритм унификации для нахождения наиболее общего унификатора.
- •Алгоритм метода резолюций.
- •Основы языка программирования Пролог.
- •Структура программ Турбо-Пролога.
- •Представление бинарных деревьев
- •Формирование ответа на вопрос «почему».
- •Работа с неопределенностью.
Системы аксиом логики предикатов.
Системы аксиом исчисления высказываний остаются верными и в исчислении предикатов первого порядка, только к ним следует добавить еще две аксиомы, которые дают возможность оперировать с кванторами:
("x) P(x)® P(y);
P(y) ®$ P(x).
Эти 2 аксиомы, добавленные в классическую систему аксиом или в систему аксиом Новикова, образуют системы аксиом, обладающие свойствами полноты, независимости и непротиворечивости.
Правила вывода в исчислении предикатов.
Из правил вывода исчисления высказываний в исчислении предикатов действует только правило Modus Ponens. Правило одновременной подстановки модифицировано, а остальные правила вывода касаются выводимости формул, содержащих кванторы.
Modus Ponens: Если выводима формула P и выводима формула P ®Q, то выводима и формула Q. Часто это правило записывают следующим образом: P, P ®Q ; Q
Правило одновременной подстановки: если терм t свободен для переменной x в формуле F, то можно подставить терм t вместо переменной x во всех вхождениях x в F.
Правило обобщения: если P не содержит свободных вхождений переменной x, то P®Q(x) ; P®"xQ(x)
Правило конкретизации: если P не содержит свободных вхождений переменной x, то Q(x)®P ; $xQ(x)®P
Правило переименования. Из выводимости формулы F(x), содержащей свободное вхождение х, ни одно из которых не содержится в области действия кванторов "y и $y следует выводимость F(y).
Пример 6. Докажем правило переименования:
+F(x);
Из аксиомы 2 классической системы следует, что , где G – тавтология, не содержащая свободный вхождений x;
По правилу Modus Ponens следует, что ;
Используя правило обобщения, получаем: ;
По правилу Modus Ponens следует, что ;
Из аксиомы 2 логики предикатов и правила Modus Ponens следует, что .
Предваренные (пренексные) нормальные формы исчисления предикатов.
В логике высказываний были введены две нормальные формы – КНФ и ДНФ. В логике предикатов также существуют нормальная форма - ПНФ, которая используется для упрощения процедуры доказательства общезначимости или противоречивости формул.
Определение 22: Формула F логики предикатов находится в предваренной нормальной форме, тогда и только тогда, когда формула F имеет вид:
(K1x1)…(Knxn) (M), где каждое (Kixi), i = 1,…,n, есть или ("xi) или ($xi), и M есть формула, не содержащая кванторов. (K1x1)…(Knxn) называется префиксом, а M – матрицей формулы F.
Законы эквивалентных преобразований логики предикатов.
Законы эквивалентных преобразований логики высказываний используются и в логике предикатов. Кроме них, существуют другие эквивалентные формулы, содержащие кванторы.
Пусть P есть формула, содержащая свободную переменную x. Пусть Q есть формула, которая не содержит переменной x. Тогда следующие пары эквивалентных формул являются законами эквивалентных преобразований логики предикатов:
("x) P(x)Ú Q=("x) (P(x)Ú Q);
("x) P(x)Ù Q=("x) (P(x)ÙQ);
($x) P(x)Ú Q=($x) (P(x)Ú Q);
($x) P(x)Ù Q=($x) (P(x)ÙQ);
Ø(("x) P(x))=( $x) (ØP(x));
Ø(($x) P(x))=( "x) (ØP(x));
("x) P(x)Ù ("x) Q(x)=("x) (P(x)ÙQ(x));
($x) P(x)Ú ($x) Q(x)=($x) (P(x)Ú Q(x));
Правила 7 и 8 называются правилами выноса кванторов, которые позволяют распределять квантор всеобщности и квантор существования по операциям конъюнкции и дизъюнкции соответственно. Следует отметить, что нельзя распределять квантор всеобщности и квантор существования по операциям дизъюнкции и конъюнкции соответственно, то есть не эквивалентны следующие пары формул:
("x) P(x) Ú ("x) Q(x)<>("x) (P(x) ÚQ(x));
($x) P(x) Ù ($x) Q(x)<>($x) (P(x) Ù Q(x));
В подобных случаях можно заменить связанную переменную x в формуле ("x) Q(x) на переменную z, которая не всречается в P(x), так как связанная переменная является лишь местом для подстановки какой угодно переменной. Формула примет вид: ("x) Q(x)= ("z) Q(z). Пусть z не встречается в P(x). Тогда
($x) P(x) Ù ($x) Q(x)= ($x) P(x) Ù ($z) Q(z)
=($x) ($z)( P(x) Ù Q(z)) по правилу 1.
Аналогично, можно написать
("x) P(x) Ú ("x) Q(x)= ("x) P(x) Ú ("z) Q(z)
=("x) ("z)( P(x) Ú Q(z)) по правилу 1.
В общем случае эти правила можно записать в следующем виде:
9.(K1x) P(x) Ú (K2x) Q(x)=(K1x) (K2z)( P(x) Ú Q(z));
10.(K3x) P(x) Ù (K4x) Q(x)=(K3x) (K4z)( P(x) Ù Q(z)),
где K1, K2, K3, K4 есть кванторы " или $, а z не входит в P(x).
Когда K1= K2=$ и K3= K4=", то необязательно переименовывать переменную x, можно прямо использовать правила 7 и 8.
Используя законы эквивалентных преобразований логики высказываний и логики предикатов, всегда можно преобразовать любую формулу в ПНФ.
Алгоритм преобразования формул в ПНФ.
Шаг 1. Используем законы законы 1 и 2 исчисления высказываний для того, чтобы исключить логические связки импликации и эквивалентности.
Шаг 2. Многократно используем закон двойного отрицания, законы де Моргана и законы 5 и 6 исчисления предикатов, чтобы внести знак отрицания внутрь формулы.
Шаг 3. Переименовываем связанные переменные, если это необходимо.
Шаг 4. Используем законы 1, 2, 3, 4, 7,8, 9 и 10 до тех пор, пока все кванторы не будут вынесены в самое начало формулы, чтобы получить ПНФ.
Пример 6. Приведем формулу ("x) P(x) ® ($x) Q(x) к ПНФ:
("x) P(x) ® ($x) Q(x)=Ø(("x) P(x))Ú ($x) Q(x)(по закону 1 логики высказываний)
=($ x)( Ø P(x)) Ú ($ x) ) Q(x)( по закону 5 логики предикатов)
=($ x)( Ø P(x) Ú Q(x))( по закону 8 логики предикатов), что и есть ПНФ исходной формулы.