
- •Н. Г. Моисеев математическая логика и теория алгоритмов
- •Оглавление
- •Предисловие
- •Введение
- •Техника безопасности при выполнении лабораторных работ
- •1. Общие требования безопасности
- •2. Требования безопасности перед началом работы
- •3. Требования безопасности во время работы
- •4. Требования безопасности в аварийной обстановке
- •5. Требования безопасности по окончании работы
- •6. Ответственность
- •Лабораторная работа № 1 алгебра высказываний и логические операции над ними
- •1.1. Теоретическая часть
- •1.1.1. Высказывания и операции над ними. Понятие высказывания
- •1.1.2. Логические операции над высказываниями
- •1.2. Задания к выполнению работы
- •1.3. Контрольные вопросы
- •2.1.1. Формулы алгебры высказываний
- •2.1.1. Равносильные формулы алгебры высказываний
- •I. Основные равносильности:
- •II. Равносильности, выражающие одни логические операции через другие:
- •III. Равносильности, выражающие основные законы алгебры логики:
- •2.2. Задания к выполнению работы
- •2.3. Контрольные вопросы
- •Учебно-методическое обеспечение
- •Лабораторная работа № 3 функции алгебры логики. Совершенные нормальные формы
- •3.1. Теоретическая часть
- •3.1.1. Функции алгебры логики
- •3.1.2. Представление произвольной функции алгебры логики в виде формулы алгебры логики
- •3.1.3. Закон двойственности
- •3.1.4. Дизъюнктивная нормальная форма (днф) и совершенная дизъюнктивная нормальная форма (сднф)
- •3.1.5. Конъюнктивная нормальная форма (кнф) и совершенная конъюнктивная нормальная форма (скнф)
- •3.1.6. Проблема разрешимости
- •3.2. Задания к выполнению работы
- •Сднф и скнф операции конъюнкции
- •3.3. Контрольные вопросы
- •4.1.1. Основные понятия релейно-контакных схем
- •4.1.2. Реализация с помощью релейно-контакных схем основных логических операций
- •4.2. Задания к выполнению работы
- •4.3. Контрольные вопросы
- •5.2. Задания к выполнению работы
- •5.3. Контрольные вопросы
- •Учебно-методическое обеспечение
- •Лабораторная работа № 6 построение доказательств в логике высказываний
- •6.1. Теоретическая часть
- •6.1.1. Основные понятия и определения, используемые при построении доказательств в логике высказываний
- •6.1.2. Аксиоматический метод доказательства логических выражений
- •6.1.3. Конструктивный метод доказательства логических выражений
- •Метод доказательства логических выражений
- •6.1.4. Принцип резолюций
- •6.1.5. Метод Вонга
- •6.1.6. Метод натурального исчисления
- •6.2. Задания к выполнению работы
- •6.3. Контрольные вопросы
- •7.1.1. Составление легенд на основе клауз
- •7.1.2. Составление клауз на основе легенд
- •7.2. Задания к выполнению работы
- •7.3. Контрольные вопросы
- •8.1.1. Формулы исчисления высказываний
- •8.1.2. Определение доказуемой формулы
- •1. Система аксиом исчисления высказываний
- •2. Правила вывода
- •1. Правило подстановки
- •2. Правило заключения.
- •3. Определение доказуемой формулы
- •8.1.3. Производные правила вывода
- •8.1.4. Понятие выводимости формулы из совокупности формул
- •8.1.5. Понятие вывода
- •8.1.6. Правила выводимости
- •13. Правило исключения третьего в доказуемых формулах
- •8.1.7. Связь между алгеброй высказываний и исчислением высказываний
- •Теоремы, устанавливающие связь между алгеброй высказываний и исчислением высказываний
- •8.2. Задания к выполнению работы
- •8.3. Контрольные вопросы
- •9.1.1. Логические операции над предикатами
- •9.1.2. Кванторные операции
- •9.1.3. Понятие формулы логики предикатов
- •9.1.4. Значение формулы логики предикатов
- •9.1.5. Равносильные формулы логики предикатов
- •9.1.6. Предваренная нормальная форма
- •9.1.7. Общезначимость и выполнимость формул
- •9.2. Задания к выполнению работы
- •9.3. Контрольные вопросы
- •Учебно-методическое обеспечение
- •Лабораторная работа № 10 алгоритмы и их применение
- •10.1. Теоретическая часть
- •10.1.1. Характерные черты алгоритма и основные требования к алгоритмическим процедурам
- •10.1.2. Классификация алгоритмических моделей
- •10.1.3. Машины Тьюринга
- •Тьюрингова функциональная схема
- •Программа (схема) работы машины Тьюринга,
- •10.2. Задания к выполнению работы
- •10.3. Контрольные вопросы
- •Учебно-методическое обеспечение
- •Заключение
- •424000 Йошкар-Ола, пл. Ленина, 3
- •424006 Йошкар-Ола, ул. Панфилова, 17
3.1.5. Конъюнктивная нормальная форма (кнф) и совершенная конъюнктивная нормальная форма (скнф)
Элементарной дизъюнкцией переменных называется конъюнкция переменных или их отрицаний.
Элементарная конъюнкция переменных может быть записана в виде:
или
,
или
,
или
и т. д.
Конъюнктивной нормальной формой формулы А называется равносильная ей формула, представляющая собой конъюнкцию дизъюнкций.
Конъюнкция элементарных дизъюнкций переменных формулы А может быть записана в виде:
Совершенной конъюнктивной нормальной формой формулы А называется равносильная ей формула, представляющая собой конъюнкцию элементарных дизъюнкций.
Как и для ДНФ А, среди большого числа КНФ А существует единственная КНФ А, для которой выполняются перечисленные ранее четыре свойства совершенства, свойства (С). На этом основании можно дать следующее определение такой КНФ.
Совершенная конъюнктивная нормальная форма формулы А (СКНФ А) – это конъюнктивная нормальная форма, для которой выполняются свойства совершенства (С) и которая существует в единственном числе.
Правило получения СКНФ А с помощью таблицы истинности.
Если функция задана таблицей истинности, то соответствующая ей СКНФ А может быть получена уже двумя способами.
1) СКНФ А
получается так же, как и СДНФ
А,
но с использованием
формулы
.
Для этого необходимо сначала получить
с помощью таблицы
,
затем взять отрицание
и использовать закон де Моргана для его
снятия:
.
2) При получении СКНФ А для каждого набора значений переменных, на котором функция принимает значение, равное 0, запишем дизъюнкцию элементарных переменных высказываний, взяв за член конъюнкции , если значение на указанном наборе значений переменных есть 0 и отрицание , если значение есть 1. Конъюнкция всех записанных дизъюнкций и будет искомой формулой.
Правило получения СКНФ А с помощью равносильных преобразований.
1. Для формулы А получаем любую КНФ А.
2. Из КНФ А путем равносильных преобразований получаем СКНФ А, последовательно добиваясь выполнения четырех свойств СКНФ – свойств совершенства, которые аналогичны свойствам совершенства СДНФ.
1) Пусть В
есть сомножитель (дизъюнкция) КНФ
А
вида
,
не содержащий
(в
данном случае
).
Для введения ее в сомножитель (дизъюнкцию)
используем равносильность
.
Для этого складываем
ее с В
и получим дизъюнкцию
.
Далее применяем закон дистрибутивности
дизъюнкции относительно конъюнкции
,
что позволит заменить исходную дизъюнкцию
В
на
две, которые уже будут содержать
недостающую переменную
.
2) Если
в КНФ А
входят две одинаковых элементарных
дизъюнкции В,
то лишнюю можно отбросить, пользуясь
равносильностью
.
3) Если некоторая
элементарная дизъюнкция В,
входящая в КНФ А,
содержит переменную
и
ее отрицание
,
то ее можно исключить из КНФ А
, как единичный член конъюнкции ввиду
равносильности
.
4) Если некоторая
элементарная дизъюнкция, входящая в
КНФ А,
содержит переменную
дважды,
то одну переменную можно отбросить,
пользуясь равносильностью
.
После выполнения указанных процедур будет получена СКНФ А.
Пример 3.2
Из формулы А получить СКНФ А с помощью таблицы истинности и с помощью равносильных преобразований.
Для иллюстрации получения СКНФ А используем формулу из предыдущего примера 3.1.
Решение
1. Получение СДНФ А с помощью таблицы истинности.
Поскольку формула осталась та же, то останется такой же и таблица истинности этой формулы (табл. 3.3).
1-й способ. Получение СКНФ А с использованием формулы .
Для этого необходимо сначала получить с помощью таблицы .
Затем следует взять отрицание и использовать закон де Моргана для его снятия:
Таким образом,
получена
:
2-й способ. Получение СКНФ А сразу по таблице истинности.
В этом случае для каждого набора значений переменных, на котором функция принимает значение, равное 0, запишем дизъюнкцию элементарных переменных высказываний, взяв за член конъюнкции , если значение на указанном наборе значений переменных есть 0, и отрицание , если значение есть 1. Конъюнкция всех записанных дизъюнкций и будет искомой формулой. Сразу получим искомую формулу
2. Получение СДНФ А с помощью равносильных преобразований.
1) В соответствии с правилом получения СКНФ из формулы А с помощью равносильных преобразований для формулы А получаем любую КНФ А.
КНФ А
=
.
Далее для получения СКНФ А применяем закон дистрибутивности дизъюнкции относительно конъюнкции .
В
полученной КНФ
А,
в дизъюнкции, заключенной в скобках, не
хватает всего одной переменной
,
поэтому добавим к ней произведение
равное нулю и получим выражение
.
Применяя закон дистрибутивности к этому
выражению, в качестве переменной
данного закона можно взять исходную
дизъюнкцию
,
в качестве
взять
,
а в качестве
–
.
Тогда будем иметь два сомножителя,
которые войдут в СКНФ
А:
.
Осталась еще одна
переменная
за скобками. Для превращения ее в
элементарные дизъюнкции (сомножители
СКНФ А)
добавим к ней
сначала произведение недостающей
переменной
,
применим к полученному выражению закон
дистрибутивности, затем к полученным
выражениям добавим произведение
недостающей переменной
и снова применим закон дистрибутивности
Объединяя полученные сомножители с полученными ранее, располагая для удобства анализа переменные в порядке возрастания и приводя подобные члены, получим СКНФ А:
Как видно, полученная с помощью равносильных преобразований СКНФ А, такая же, как и СКНФ А, полученная по таблице истинности.