- •Пермский Государственный Технический Университет
- •Тема 1. Логика высказываний
- •1.1. Понятие высказывания
- •1.2. Логические операции
- •1. Отрицание или инверсия ( – не)
- •4. Импликация () “если а, то b”
- •6. Сумма по модулю два
- •7. Штрих Шеффера ( , обратная конъюнкция и – не)
- •8. Стрелка Пирса (, обратная дизъюнкция или – не )
- •1.3. Булевы функции
- •1.3.1. Некоторые определения из теории множеств
- •1.3.2. Булевы функции
- •1.4. Формулы
- •1.5. Равносильные формулы
- •1.6. Подстановка и замена
- •1.7. Формы представления высказываний
- •1.8. Минимизация сложных высказываний методом Квайна
- •1.9. Полные системы функций
- •1.9.1. Система функций {}
- •1.9.2. Замкнутые классы
- •1.9.3. Функциональная полнота
- •Тема 2. Логические исчисления
- •2.1. Интерпретация формул
- •2.2. Примеры тождественно истинных формул высказываний
- •2.3. Формальные теории
- •2.5. Интерпретация формальных теорий
- •2.6. Исчисление высказываний.
- •2.7. Производные правила вывода
- •2.8. Дедукция
- •2.9. Некоторые теоремы теории £
- •Тема 3. Логика и исчисление предикатов
- •3.1. Предикаты
- •3.2. Исчисление предикатов
- •3.3. Интерпретация
- •3.4. Основные равносильности для предикатов
- •3.5. Приведенная форма представления предикатов
- •Тема 4. Автоматическое доказательство теорем
- •4.1. Постановка задачи
- •4.2. Доказательство от противного
- •4.3.Правило резолюции для исчисления высказываний
- •4.4. Правило резолюции для исчисления предикатов
- •4.5. Основные положения мр (выводы)
- •4.6. Логическое программирование
- •Тема 5. Теория алгоритмов
- •5.1. Интуитивное понятие алгоритма
- •5.2. Конкретизация понятия алгоритма
- •5.2.1. Машины Тьюринга
- •5.2.3. Рекурсивные функции
- •5.2.3. Нормальные алгорифмы Маркова
- •5.3. Алгоритмически неразрешимые проблемы
- •5.3.1. Проблема самоприменимости
- •5.3.1.1. Нумерация мт
- •5.3.1.2. Самоприменимость мт
- •5.3.2. Проблема останова
- •5.3.3. Разрешимые и неразрешимые задачи математики
- •5.4. Характеристики сложности вычислений
- •5.5. Классы сложности задач
- •5.5.1. Р задачи
- •5.5.2. NPзадачи
1.8. Минимизация сложных высказываний методом Квайна
Алгоритм:
Получить СДНФ.
Получить сокращенную ДНФ (СкДНФ), используя следующие равносильности:
- неполное склеивание;
- поглощение.
Построить импликантную матрицу, с помощью которой получить МДНФ.
Пример.
1. - ДНФ
- СДНФ
1 2 3 4 5 6
2. Применяя операции склеивания, получаем СкДНФ.
1-2: | |
1-5: | |
2-3: | |
3-4: | |
4-6: | |
5-6: |
3. Импликантная матрица
| ||||||
+ |
+ |
|
|
|
| |
+ |
|
|
|
+ |
| |
|
+ |
+ |
|
|
| |
|
|
+ |
+ |
|
| |
|
|
|
+ |
|
+ | |
|
|
|
|
+ |
+ |
Выбираем импликанты, которые поглощают все конституенты единицы.
1.9. Полные системы функций
1.9.1. Система функций {}
Теорема. Всякая булева функция порождается некоторой формулой, в которой есть только операции .
Доказательство. Пусть некоторая булева функция. Для нее можно поострить таблицу истинности, в которой будет 2nстрок. Каждую строку можно представить в виде конъюнкции переменных х1,…хn, куда входит либо, либо. Если значение конъюнкции будет равно 1, то всю функцию можно представить в виде дизъюнкции этих конъюнкций.
Пример.
x |
y |
f(x,y) |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
Получим СДНФ, используя таблицу истинности.
Возникает вопрос: Существуют ли другие системы булевых функций, с помощью которых можно выразить все другие функции?
1.9.2. Замкнутые классы
Пусть множество булевых функций отnпеременных.
Замыканием F([F]) называется множество всех булевых функций, реализуемых формулами надF.
Множество функций (класс) называется замкнутым, если [F]=F.
Рассмотрим следующие классы функций.
Класс функций, сохраняющих 0:
.
Класс функций, сохраняющих 1:
Класс самодвойственных функций:
, где .
Класс монотонных функций
где.
Класс линейных функций
, где + - означает сложение по модулю 2, а знак конъюнкции опущен.
Теорема. Классы Т0, Т1, Т*, ТМ,TL– замкнуты.
Доказательство. Чтобы доказать, что некоторый класс Fзамкнут достаточно показать, что, если формула реализована в виде формулы надF, то она принадлежитF.
Рассмотрим доказательство для одного класса функций Т0.
Пусть и. Тогда.
Аналогичные доказательства можно привести для остальных классов.
1.9.3. Функциональная полнота
Класс функций Fназывается полным, если его замыкание совпадает сPn:
.
Другими словами, множество функций Fобразует полную систему, если любая функция реализуема в виде формулы надF.
Теорема.
Пусть заданы две системы функций и.
Тогда, если система F– полная и все функции изFреализуемы формулами надG, то системаGтоже полная.
Доказательство. Пусть h– произвольная функция,. Тогда [F]=Pn, следовательно,hреализуема формулой, базисом которой являетсяF(). Если выполнить замену подформулыfiна подформулув формуле, то мы получим формулу надG.
Следовательно, функция hреализуется формулой.
Примеры:
Система {} – полная, т. к. любая логическая операция может быть выражена через дизъюнкцию, конъюнкцию и отрицание;
Система {} – полная, т. к.
Система {} – полная, т. к.
Система {|} – полная, т. к., а{}и{}– полные системы.
Система {} – полная, т. к.Представление логической операции системой{}называется полиномом Жегалкина. Таким образом, всякая логическая операция представима в виде
где- сложение по модулю 2, знак · обозначает конъюнкцию,.
Теорема Поста:Система логических операций полна тогда и только тогда, когда она содержит хотя бы одну функцию, не сохраняющую 0, одну функцию, не сохраняющую 1, хотя бы одну несамодвойственную функцию, хотя бы одну нелинейную функцию и хотя бы одну немонотонную функцию.
Пример.
Докажем полноту системы {,,1}.
f |
T0 |
T1 |
T* |
TL |
TM |
В каждом столбце должен быть хотя бы один «-» |
xy |
+ |
- |
- |
+ |
- | |
xy |
+ |
+ |
- |
- |
+ | |
1 |
- |
+ |
- |
+ |
+ |
Проверка на принадлежность классу T0.
Проверка на принадлежность классу T1.
Проверка на принадлежность классу T*.
Проверка на принадлежность классу TL.
Проверка на принадлежность классу TM.
f(0,0)=0
f(0,1)=1
f(1,0)=1
f(1,1)=0
f(0,0)=0
f(0,1)=1
f(1,0)=1
f(1,1)=1