
- •Махачкала - 2006
- •Лабораторная работа №1 Основные понятия логики и логики высказывания
- •Логические операции над логическими переменными
- •1.6. Решение логических задач с помощью рассуждений
- •Контрольные вопросы
- •Лабораторная работа №2 Основы логики предикатов первого порядка.
- •Преобразование произвольной формулы логики предикатов первого порядка в клаузальную форму
- •1.Исключение импликаций
- •2. Перемещения знака отрицания ( ) непосредственно к атомам
- •3. Переименование переменных
- •4. Перемещение кванторов влево
- •5. Сколемизация.
- •6. Распеределение конъюнкций относительно дизъюнкций
- •7. Перемещение скобок к концу и началу
Контрольные вопросы
Основные формы мысли в формальной логике
Что называют понятием? Из каких аспектов оно состоит?
Что называют суждением? Из каких элементов оно состоит?
Что называют умозаключением? Какие виды умозаключений существуют?
В чем суть индукционных и редукционных методов?
В чем суть аналогии?
Перечислите основные законы построения мыслей. В чем смысл каждого из них?
Дайте определение синтаксиса, семантики, фактической истины?
Логические операции.
Таблицы истинности. Назначение. Примеры.
Способы решения логических задач.
Лабораторная работа №2 Основы логики предикатов первого порядка.
Цель работы:
Изучение основных понятий логики предикатов первого порядка.
Изучение методом представления знаний .Метод резолюции.
Приобретения навыков приведения произвольной формулы логики предикатов первого порядка к клазуальной форме.
Теоретический материал
Основу логического программирования положена логика исчисления предикатов первого порядка.
Логика предикатов предоставляет нам набор синтаксических правил, позволяющих выполнить такой анализ, набор семантических правил, с помощью которых интерпретируются эти выражения, и теорию доказательств, которая позволяет вывести правильные формулы, используя синтаксические правила дедукции. Предикатами обозначаются свойства, такие как "быть человеком", и отношения, такие как быть "выше, чем".
Аргументы могут быть отдельными константами, или составным выражением "функция-аргумент", которое обозначает сущности некоторого мира интересующих нас объектов, или отдельными квантифицируемыми переменными, которые определены в этом пространстве объектов. Специальные операторы — кванторы — используются для связывания переменных и ограничения области их интерпретации. Стандартными являются кванторы общности () и существования (). Первый интерпретируется как "все", а второй — "кое-кто" (или "кое-что").
Опишем с помощью логики исчисления предикатов первого порядка базу знаний, определяющую понятие натурального числа. Воспользуемся следующими предикатами:
E(x, y) – числа x и y равны между собой
f(x) – число, следующее за числом x
g(x) – число, предшествующее числу x
1. За каждым числом существует другое
А (х) (( у) (Е(у, f (x))) z) (E(z, f (x)))E (y, z)
2. Нуль является крайним числом
А ~ (x) (E(0, f (x)))
3. Существует один предыдущий элемент для всех чисел кроме нуля.
А (х)(~E(x,0)((y) (E(y, g(x)) (z) (E(z, g(z)) E(y, z)))
Использование правила вывода modus ponens позволяет показать возможность достижения цели – доказательства теорем. На практике обычно используется более эффективные с точки зрения вывода методы доказательства теорем.
Один из таких методов – метод резолюции [3] – позволяет реализовать на практике концепцию логического программирования, согласно которой вычислительная программа может быть записана при помощи логических формул, играющих роль аксиом, а её вычисление представлено в виде доказательства формулы-запроса.
Открытие Робинсоном (1965) правила резолюции позволило разработать эффективные процедуры доказательства в логике I порядка и представляет собой значительный шаг на пути практического применения автоматического доказательства теорем, поскольку резолюция обладает важными свойствами корректности и полноты.
Правило резолюций в простейшем случае имеет вид A, A B => B,результат называется резольвентой, а само правило modus tollens.
Для доказательства выводимости некоторой формулы G из формул F1, F2, ..., Fn, достаточно доказать истинность формулы F1 F2 ... Fn G.
Теорема. F1 F2 ... Fn G <=> F1 F2 ... Fn G – противоречиво
То есть для доказательства G достаточно опровергнуть G. Это так называемое доказательство от противного или reductio ad absurdum.