- •Ф.К. Алиев, и.А. Юров
- •Введение
- •Основные способы задания двоичных функций
- •1.1. Табличный способ задания
- •1.2. Геометрический способ задания
- •1.3. Задание двоичных функций формулами
- •Основные способы задания двоичных функций (продолжение)
- •2.1. Нормальные формы двоичных функций
- •2.3. Теорема о разложении в ряд Фурье
- •2.2. Многочлен Жегалкина и действительный многочлен двоичной функции
- •Полнота и замкнутость. Критерий полноты системы. Функционально полные системы. Замкнутые классы булевых функций
- •3.1. Полнота и замкнутость. Функционально полные системы
- •3.2. Замкнутые классы булевых функций
- •3.3. Критерий полноты системы булевых функций
- •4.1. Псевдобулевы функции
- •4.2. Функции k-значной логики
- •5.1 Минимизация двоичных функции
- •5.2. Геометрическая интерпретация минимизации днф
- •6.1. Метод Квайна — Мак-Класки нахождения сокращённой днф двоичной функции
- •6.2. Метод нахождения тупиковых днф
- •6.3. Метод Петрика нахождения тупиковых днф
- •Алгебраические системы
- •7.1. Алгебраические системы. Булевы алгебры
- •7.2. Изоморфизм алгебраических систем
- •Алгебры высказываний. Предикаты и операции над ними
- •8.1. Основные логические операции и их свойства
- •8.2. Предикаты и операции над ними
- •Исчисление предикатов
- •9.1. Общее понятие о логическом исчислении
- •9.2. Формулы алгебры предикатов
- •9.3. Равносильность формул. Основные отношения равносильности
- •9.4. Использование равносильностей для упрощения формул
- •9.5. Построение исчисления предикатов
- •9.6. Выводимость и доказуемость формул
- •9.7. Семантика исчисления предикатов
- •Понятие о теории моделей
- •Элементы теории алгоритмов
- •11.1. Основные требования к алгоритмам
- •11.2. Машина Тьюринга и функции, вычислимые по Тьюрингу
- •11.3. Машины произвольного доступа и вычислимые функции
- •Частично рекурсивные функции и их вычислимость
- •Вычислимость суперпозиции
- •Вычислимость рекурсии
- •Вычислимость минимизации
- •Нумерация наборов чисел и слов
- •Нормальные алгоритмы
- •Нумерация алгоритмов
- •1. Нумерация машин Тьюринга
- •2. Нумерация мпд-программ
- •Универсальные функции
- •Алгоритмически неразрешимые проблемы
- •16.1. Алгоритмически неразрешимые проблемы
- •16.2. Примечательные алгоритмически неразрешимые проблемы
- •Характеристики сложности вычислений
- •Характеристика сложности вычислительных задач
- •18.1. Классы сложности p и np и их взаимосвязь
- •18.3. Основные np-полные задачи. Сильная np-полнота
- •Список Литературы
6.1. Метод Квайна — Мак-Класки нахождения сокращённой днф двоичной функции
Пусть функция f задана в виде СДНФ. Метод, предложенный Квайком в 1952 г. заключается в следующем:
1) применим
к элементарным конъюнкциям СДНФ операцию
«неполного склеивания»:
,
до тех пор, пока в результате применения
этой операции не перестанут появляться
новые конъюнкции;
2) в
полученной ДНФ выполняем операции
поглощения:
,
пока это возможно.
Теорема 6.1. В результате выполнения пунктов 1, 2 получается сокращённая ДНФ функции f.
Доказательство.
Сначала заметим, что из всякой импликанты
функции f
можно с помощью «операции расклеивания»
получить дизъюнкцию импликант длиныn.
Поскольку все импликанты длины n
входят в СДНФ, то в результате применения
операции неполного склеивания в СДНФ
на первом этапе (пункт 1) метода будут
получены все, в том числе и простые,
импликанты функции f.
После применения второго этапа (пункт 2), очевидно, в ДНФ останутся только простые импликанты, т.е. полученная в результате ДНФ будет сокращенной. Теорема доказана.
Мак-Класки
в 1956 г. предложил удобную интерпретацию
этого метода. Прежде всего заметим, что
склеиваться могут только конъюнкции
одинакового ранга, отличающиеся по
одной переменной. Будем записывать
конъюнкции
в виде вектора (
).Индексом
конъюнкции назовём
.
Учитывая это замечание, разобьём все импликанты в СДНФ на группы в соответствии со значениями их индексов. Сам метод при этом заключается в заполнении таблицы специального вида (табл.6.1).
Таблица 6.1
|
Индекс |
СДНФ |
Шаг 1 |
Шаг 2 |
Шаг 3 |
|
|
1000* |
1_00* 10_0* |
1__0 |
______ |
|
2 |
1100* 1010* 0101* 0011* |
11_0* 1_10* 101_ 01_1 _011 0_11 |
______ |
______ |
|
3 |
1110* 1011* 0111* |
______ |
______ |
______ |
Пример 6.2. Пусть f — функция, геометрическое представление которой дано на рис.5.1. Её СДНФ имеет вид:

Применяя операцию неполного склеивания к импликантам длины n (СДНФ) производим заполнение колонки табл.6.1. При этом в СДНФ звёздочкой отмечаются использованные импликанты (они будут поглощаться на втором этапе). Затем операция склеивания применяется к конъюнкциям ранга (n – 1) и т.д. Как только заполнение таблицы прекратилось, выбираются все не отмеченные звёздочкой импликанты и из них составляется сокращённая ДНФ. Для рассмотренного примера сокращённой ДНФ будет:
![]()
6.2. Метод нахождения тупиковых днф
Для изложения метода нахождения тупиковых ДНФ нам потребуется одно свойство ДНФ монотонных функций.
Утверждение 6.3. Минимальная ДНФ монотонной функции совпадает с её сокращённой ДНФ.
Доказательство.
Сначала покажем, что все простые
импликанты монотонной функции не
содержат переменных с отрицаниями.
Действительно, в противном случае наряду
с простой импликантой
функция имела бы импликанту![]()
(в силу её монотонности). Склеивая эти
две импликанты, получаем противоречие
с простотой импликанты
.
Покажем
теперь, что все простые импликанты
входят в минимальную ДНФ. Пусть
—
простая импликанта. Тогда на наборе
импликанта
принимает значение 1. Все остальные
импликанты должны быть равны на этом
наборе нулю, так как в них обязательно
должны входить переменные из множества
.
Следовательно,
импликанта должна входить в минимальную
ДНФ, поскольку иначе функцияf
на этом наборе будет равна 0. Утверждение
доказано.

1