
- •1. Исчисление высказываний
- •1.1. Алгоритмы проверки общезначимости и противоречивости в исчислении высказываний
- •1.2. Метод резолюций в исчислении высказываний
- •1.3. Метод резолюций для хорновских дизъюнктов
- •Задачи и упражнения
- •2. Логика и исчисление предикатов
- •2.1. Логика предикатов
- •2.2. Алгебра предикатов
- •2.2.1. Логические операции
- •2.2.2. Правила записи сложных формул
- •2.2.3. Законы алгебры предикатов
- •2.2.4. Предваренная нормальная форма
- •2.2.4.1. Алгоритм приведения формулы к виду пнф
- •2.2.5. Сколемовская стандартная форма
- •2.2.5.1. Алгоритм Сколема
- •2.3. Исчисление предикатов
- •2.3.1. Интерпретация формул
- •2.3.2. Правила вывода
- •2.3.3. Метод дедуктивного вывода
- •2.3.4. Метод резолюций в исчислении предикатов
- •2.4. Проблемы в исчислении предикатов
- •2.5. Логическое программирование
- •Задачи и упражнения
- •3. Элементы теории алгоритмов
- •3.1. Рекурсивные функции
- •3.1.1. Базовые функции
- •3.1.2. Элементарные операции
- •3.2. Машина Тьюринга
- •3.2.1. Описание машины Тьюринга
- •3.2.2. Примеры машин Тьюринга
- •3.2.3. Условные обозначения и схемные соединения машин Тьюринга
- •3.2.4. Рекурсивные функции и вычисления на машинах Тьюринга
- •3.3. Конечные автоматы
- •4. Неклассические логики
- •4.1. Пропозиционные логики
- •4.2. Алгоритмические логики
- •Задачи и упражнения
- •Заключение
- •Библиографический список
- •Оглавление
- •394026 Воронеж, Московский просп., 14
1.3. Метод резолюций для хорновских дизъюнктов
В общем случае метод резолюций неэффективен, так как количество переборов, которые необходимо сделать для получения ответа, экспоненциально зависит от количества информации (числа дизъюнктов и переменных), содержащейся в множестве дизъюнктов. Однако для некоторых классов дизъюнктов, к которым относится класс хорновских дизъюнктов, метод резолюций эффективен.
Дизъюнкт D называется хорновским, если он содержит не более одной переменной без отрицания (позитивной переменной).
Пример. Хорновскими
дизъюнктами являются следующие дизъюнкты:
,
,
,
В.
В общем случае
хорновские дизъюнкты имеют вид
(что равносильно формуле
)
или
.
Хорновский дизъюнкт вида
называется точным. При этом переменные
А1, …, Аn
называются фактами, а переменная В
– целью. Хорновский дизъюнкт вида
называется негативным. Дизъюнкт D=B
называется унитарным позитивным
дизъюнктом.
Если S
– множество хорновских дизъюнктов, то
невыполнение множества S
проверяется следующим образом. Выбирается
в S унитарный позитивный
дизъюнкт Р и дизъюнкт D
из S, содержащий
.
После этого заменяем S
на (S \
{D}){res(D,P)}
и продолжаем процесс до тех пор, пока S
не будет содержать 0. Если на заключительном
шаге множество дизъюнктов будет содержать
0, то исходное множество S противоречиво,
в противном случае S непротиворечиво.
Пример. Проверить на противоречивость множество дизъюнктов
.
Для доказательства противоречивости запишем дизъюнкты из S в таблицу и применим описанные алгоритм, записывая результат каждого следующего шага в таблицу. Переменные, использующиеся на данном шаге, будем подчеркивать.
Номер шага |
|
|
R |
|
|
|
1 |
|
Q |
R |
|
T |
|
2 |
|
Q |
R |
|
T |
|
3 |
P |
Q |
R |
|
T |
|
4 |
|
|
|
|
|
0 |
На шаге 4 получаем 0, являющийся резолютивным выводом из S. Следовательно, множество S невыполнимо.
Задачи и упражнения
1. Выполнить подстановку:
;
;
.
Доказать выводимость в исчислении высказываний:
а)
├─
;
б)
├─
в)
├─
г)
├─
д)
├─
е)
├─
.
Выводимы ли в исчислении высказываний следующие формулы:
а)
б)
в)
г)
д)
е)
С помощью алгоритма Квайна и алгоритма редукции доказать тождественную истинности аксиом исчисления высказываний.
5. Проверить на противоречивость множество хорновских дизъюнктов
S={
}.
6. Выводимость заключения по методу резолюции:
а)
б)
в)
2. Логика и исчисление предикатов
В логике высказываний в качестве исходных элементов рассматриваются некоторые элементарные высказывания, из которых строятся более сложные высказывания, называемые формулами. При этом не анализируется структура и состав высказываний, а учитываются лишь значения истины или лжи, которые они могут принимать. Однако есть много рассуждений, которые не могут быть рассмотрены таким простым способом. Например, приведем следующее умозаключение:
Каждый человек смертен.
Сократ – человек, следовательно, он смертен.
Очевидно, рассмотренное рассуждение интуитивно корректно. Однако, введя следующие обозначения:
A=«Каждый человек смертен»,
B= «Сократ – человек»,
C=«Сократ смертен»,
получаем
формулу
,
которая не доказуема в исчислении
высказываний. Указанное несоответствие
между утверждениями имеет место потому,
что в логике высказываний не используется
структура высказываний A,
B
и С. В этом разделе введем логику
предикатов (логику первого порядка) и
исчисление предикатов, которые позволяют
преодолеть подобные трудности и дают
возможность проверить формализацию
большей части повседневного и
математического языка.