
- •Ф.К. Алиев, и.А. Юров
- •Введение
- •Основные способы задания двоичных функций
- •1.1. Табличный способ задания
- •1.2. Геометрический способ задания
- •1.3. Задание двоичных функций формулами
- •Основные способы задания двоичных функций (продолжение)
- •2.1. Нормальные формы двоичных функций
- •2.2. Многочлен Жегалкина и действительный многочлен двоичной функции
- •2.3. Теорема о разложении в ряд Фурье
- •Полнота и замкнутость. Критерий полноты системы. Функционально полные системы. Замкнутые классы булевых функций
- •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-полнота
- •Список Литературы
Основные способы задания двоичных функций (продолжение)
2.1. Нормальные формы двоичных функций
Всюду
в этом параграфе рассматриваются формулы
над классом
.
Обозначим через
функцию
Очевидно,
что
тогда и только тогда, когда
,
.
Определение
2.1. Элементарной
конъюнкцией
называется формула вида
,
где все переменные различны.Рангом
элементарной конъюнкции называется
число входящих в неё переменных.
Непосредственно
из определения 2.1 получаем, что элементарная
конъюнкция
принимает единичное значение в том и
только том случае, когда
,
.
Этот факт запомним каксвойство
элементарных конъюнкций.
Определение
2.2. Дизъюнктивной
нормальной
формой (ДНФ) называется формула вида
,
где дизъюнкция берется по некоторым
наборам
,
и
,
.
Обозначим
через
функцию, полученную из функции
фиксацией первых
переменных значениями
.
Из следующей теоремы вытекает, что любую
двоичную функцию можно задать с помощью
ДНФ.
Теорема
2.3 (о разложении
функции). Пусть k
такое, что
.
Тогда двоичную функцию
можно представить в виде:
.
(2.1)
Доказательство.
Покажем, что функция, стоящая в левой и
правой частях равенства (2.1), принимает
одинаковое значение при одинаковых
значениях переменной. Пусть
.
Тогда в силу свойств элементарных
конъюнкций значение функции из правой
части равно:
=
=.
Теорема доказана.
Следствие 2.4.
. (2.2)
Доказательство.
Следует из теоремы 2.3, если положить
Следствие 2.5.
.
(2.3)
Доказательство. Вытекает из следствия 2.4 при перенумерации переменных.
Замечание 2.6. Разложение (2.2) называется разложением Шеннона, хотя формально ему не принадлежит.
Следствие 2.7.
. (2.4)
Доказательство.
Следует из теоремы 2.3, если положить
.
Замечание 2.8. В разложении (2.4) можно опустить все элементарные конъюнкции, которым соответствуют нулевые значения функций. Полученная в результате формула имеет вид:
. (2.5)
Определение
2.9. Равенство
(2.5) называется совершенной
ДНФ (СДНФ)
функции
.
Как
построить СДНФ функции
?
СДНФ
двоичной функции легко построить по ее
табличному заданию. С этой целью для
каждого набора аргументов
,
на котором функция принимает единичное
значение, строится элементарная
конъюнкция ранга
по правилу:
. (2.6)
Затем берется дизъюнкция всех построенных элементарных конъюнкций. Приведём пример.
Пример
2.10. Пусть
функция
задана табл.2.1.
Таблица 2.1
Построим для неё СДНФ:
|
|
|
0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 |
0 1 0 1 0 0 1 1 |
Поэтому:
Заметим,
что СДНФ является частным случаем ДНФ.
В ней все элементарные конъюнкции имеют
ранг
.
Отличительной
особенностью СДНФ является то, что она
однозначно определяется по функции
с точностью до перестановки конституент.
Действительно,
все элементарные конъюнкции в ней
находятся во взаимно-однозначном
соответствии с векторами
из области истинности функции:
.
В
отличие от СДНФ, ДНФ не однозначно
соответствует функции.
Так функция
из предыдущего примера может быть
записана в виде следующих ДНФ:
.
Аналогично
ДНФ вводятся конъюктивные нормальные
формы (КНФ). Они являются конъюнкциями
элементарных дизъюнкций
и имеют вид
,
где конъюнкция берется по некоторым
наборам
,
,
.
Как и в случае СДНФ можно показать, что
функции
соответствует однозначно определенная
КНФ (называемаясовершенная
КНФ), в которой
все элементарные дизъюнкции имеют ранг
.
Её можно получить из СДНФ функции
:
с помощью соотношений:
,
.
Из свойств 1.10 и 1.11 равносильных формул
имеем:
=
=
.
СКНФ
функции
легко строится по её табличному значению.
Для функции
,
заданной табл.2.1, получаем:
Поэтому