- •Министерство образования и науки рф
- •Введение.
- •Пусть теперь известно, что должен100 рублей,должен200 рублей,должен100 рублейдолжен300 рублей,должен200 рублей. Тогда эту информацию также можно выразить в виде графа:
- •Глава I. Перечислительная комбинаторика.
- •Перестановки, размещения, сочетания и разбиения.
- •Полиномиальная формула и бином Ньютона.
- •Формула включения и исключения.
- •1.4. Приложения к теории вероятностей.
- •1.5. Производящие функции и рекуррентные соотношения.
- •1.6. Перечисление классов эквивалентности. Лемма Бернсайда и теорема Пойа.
- •Задачи для самостоятельного решения
- •Глава II. Булевы функции.
- •2.1. Определение и интерпретация.
- •2.2. Дизъюнктивная и конъюнктивная нормальные формы. Единичный n-мерный куб.
- •(Заметим, что ввиду фиксированного порядка двоичных наборов булева функция
- •2.3. Полные системы функций. Теорема Поста.
- •2.4. Пороговые функции.
- •Глава II. Графы и алгоритмы.
- •2.1. Основные понятия теории графов.
- •2.2. Алгоритмы в дискретной математике.
- •2.3. Минимальное остовное дерево.
- •2.4. Кратчайший путь между двумя вершинами.
- •2.5. Задача коммивояжера. Метод «ветвей и границ».
- •2.6. Паросочетания в двудольных графах.
- •2.7. Потоки в сетях.
- •Глава III. Кодирование
- •3.1. Основные задачи теории кодирования.
- •3.2. Помехоустойчивое кодирование.
- •Криптография.
- •Согласно Малой теореме Ферма в поле для любогоимеем.
- •Рекомендуемая литература
2.2. Дизъюнктивная и конъюнктивная нормальные формы. Единичный n-мерный куб.
Введем
удобное для дальнейшего обозначение.
Пусть
,
булева переменная. Тогда, по определению,
,
если
,
и
,
если
.
Таким образом,
,
.
Определение
1. Выражение
называетсяэлементарной
конъюнкцией ранга
.
Так
как в элементарную конъюнкцию каждая
из
переменных входит не более одного раза
и либо с отрицанием, либо без отрицания,
то всего имеется
элементарных конъюнкций. Пустая
конъюнкция считается конъюнкцией
нулевого ранга и полагается равной
константе 1. Переменную, входящую в
конъюнкцию с отрицанием или без отрицания,
будем называть входящей в конъюнкцию
буквой.
Определение
2. Выражение
называется
элементарной
дизъюнкцией ранга
.
Пустая дизъюнкция считается дизъюнкцией нулевого ранга и полагается равной константе 0.
Следующие утверждения являются очевидным следствием введенных соглашений.
Утверждение
1.
Элементарная
конъюнкция
принимает
значение 1 на
единственном
наборе значений переменных
.
Утверждение
2.
Элементарная
дизъюнкция
принимает значение 0 на единственном
наборе значений переменных
.
Из этих утверждений вытекают следующие теоремы.
Теорема
1. Для любой
булевой функции
,
не равной тождественно нулю, справедливо
следующее представление
,
(1,…,n){0,1}n
(1,…,n)=1
которое
называется совершенной
дизъюнктивной нормальной формой
(совершенной д.н.ф.) булевой функции
.
Теорема
2. Для любой
булевой функции
,
не равной тождественно единице,
справедливо следующее представление
(
),
(1,…,n){0,1}n
(1,…,n)=0
которое
называется совершенной
конъюнктивной нормальной формой
(совершенной к.н.ф.) булевой функции
.
Рассмотрим
эти представления на примере. Пусть
булева функция
![]()
задана таблицей
(Заметим, что ввиду фиксированного порядка двоичных наборов булева функция
может
быть компактно задана битовой строкой
своих значений:
.)
Совершенная д.н.ф. запишется как
,
а совершенная к.н.ф. как
.
Теоремы 1 и 2 могут
быть обобщены и записаны в форме
разложения по
произвольным переменным. Приведем такое
обобщение для теоремы 1, выбрав
первых переменных.
Теорема
1bis
.
Для любой булевой функции
и любого
(
)
справедливо представление
.
(1,…,k){0,1}k
Доказательство.
Для каждого набора значений переменных
![]()
лишь
одна из конъюнкций вида
отлична от нуля,
а именно, конъюнкция
. Поэтому левая
часть формулы принимает на наборе
значение
,
что и доказывает теорему.
Наиболее
часто данное разложение используется
при
,
когда оно принимает вид
![]()
и
называется разложением по переменной
.
Такое разложение можно получить из
совершенной д.н.ф., вынося за скобки
и
.
В нашем случае
.
В
совершенных д.н.ф. и к.н.ф. все элементарные
конъюнкции и дизъюнкции имеют одинаковый
ранг, равный числу переменных
.
Но если отказаться от этого требования,
то часто удается упростить представление.
Рассмотрим этот вопрос для д.н.ф.. Число
элементарных конъюнкций, входящих в
д.н.ф., будем называтьдлиной
д.н.ф.. Существуют два критерия сложности
д.н.ф.: её длина и число входящих в неё
букв.
Определение 3.Дизъюнктивная нормальная форма, реализующая данную булеву функцию, называется её кратчайшей д.н.ф., если она имеет минимальнную длину среди всех д.н.ф., реализующих данную функцию, и минимальной если она имеет минимальное число букв (минимальную сумму рангов входящих в неё элементарных конъюнкций).
Определение
4. Элементарная
конъюнкция
называетсядопустимой
конъюнкцией
для функции
или еёимпликантом,
если на каждом наборе значений переменных,
обращающим конъюнкцию в
1, функция
также принимает значение 1, другими
словами, из
следует
(
).
Импликант
функции
называется еёпростым
импликантом,
если после отбрасывания любой буквы из
получается элементарная конъюнкция,
не являющаяся допустимой для функции
.
Каждой
элементарной конъюнкции можно поставить
в соответствие множество двоичных
наборов, на которых она обращается в
единицу. Будем называть это множество
соответствующим ей интервалом.
Интервал, соответствующий конъюнкции
ранга
,
в случае
переменных имеет мощность
.
Интервалы, соответствующие допустимым
конъюнкциям, будем называть допустимыми
для функции интервалами. Они состоят
только из тех двоичных наборов, на
которых функция принимает единичное
значение. Прямым импликантам, имеющим
среди допустимых конъюнкций минимальное
число букв, соответствуют максимальные
допустимые интервалы. Задача построения
д.н.ф. для данной булевой функции сводится,
таким образом, к покрытию единичных
наборов функции допустимыми интервалами.
При этом при построении простейших
д.н.ф. используются интервалы,
соответствующие простым импликантам.
Определение
4. Дизъюнкция всех простых импликантов
функции
называетсясокращенной д.н.ф. функции
.
Задача построения простейшей д.н.ф. решается, таким образом, в два этапа. На первом этапе строятся все простые импликанты, а на втором из них отбираются импликанты для простейшей д.н.ф.. Кратчайшая и минимальная д.н.ф. булевой функции получаются, таким образом, из её сокращенной д.н.ф. удалением части конъюнкций. Рассмотрим сначала первый этап.
Построение
сокращенной д.н.ф. булевой функции по
её совершенной д.н.ф. может быть выполнено
методом последовательного склеивания
конъюнкций по переменным. Если в д.н.ф.
имеются две конъюнкции одинакового
ранга
вида
и
,
то результатом их склеивания по переменной
является конъюнкция
ранга
.
На
первом шаге алгоритма осуществляются
все возможные склеивания конъюнкций
ранга
сокращенной д.н.ф.. Одна и та же конъюнкция
может участвовать в нескольких склеиваниях
ввиду выполняющегося в булевой алгебре
тождества
.
Если какая-либо конъюнкция не может
быть склеена ни с какой другой, то она
отбирается в качестве прямого импликанта
ранга
.
После этого все оставшиеся конъюнкции
ранга
удаляются.
На
втором шаге рассматриваются только
полученные в результате склеивания на
первом шага конъюнкции ранга
и к ним применяется операция склеивания.
Снова, если какая-либо конъюнкция не
участвует ни в одной из склеек, то она
отбирается в качестве прямого импликанта
ранга
.
Затем оставляются только полученные
в результате склеивания конъюнкции
ранга
.
Процесс
продолжается до тех пор, пока на некотором
шаге
ни к одной из имеющихся конъюнкций ранга
не может быть применена операция
склеивания. Все эти коъюнкции отбираются
в качестве простых импликантов ранга
и процесс построения сокращенной д.н.ф.
завершается.
Обратившись
к совершенной д.н.ф. из приведенного
примера, видим, что к первой и третьей
конъюнкциям может быть применена
операция склеивания по переменной
,
к второй и пятой
также по переменной
,
к третьей и четвертой
по переменной
и, наконец, к четвертой и пятой
по переменной
.
Оставляя по одному экземпляру для
каждой из полученной в результате этих
склеиваний конъюнкции, получаем 4
конъюнкции ранга 2:
,
к которым операция склеивания уже не
применима. Следовательно, все они
являются простыми импликантами, и
сокращенная д.н.ф. принимает вид
.
Задачу
покрытия множества единичных вершин
функции простыми импликантами удобно
представить с помощью таблицы, строки
которой соответствуют наборам значений
переменных, на которых функция
равна 1, а столбцыпростым импликантам. В клетках таблицы
ставится значение 1, если простой
импликант принимает на данном наборе
значение 1, и 0в
противном случае.
В
каждой строке таблицы содержится хотя
бы одна единица. Это выражает тот факт,
что д.н.ф., составленная из всех простых
импликантов, представляет функцию
.
Считая, что каждый столбец покрывает
те строки, в которых он содержит единицу,
данную задачу можно сформулировать как
задачу о покрытии строк столбцами. При
этом при построении кратчайшей д.н.ф.
ищется покрытие минимальным числом
столбцов, а при построении кратчайшей
д.н.ф. минимальное
по суммарному весу столбцов покрытие,
где в качестве веса столбца берётся
ранг соответствующего прямого импликанта.
В нашем примере таблица принимает вид:
Из
таблицы видно, что первая строка
покрывается только первым столбцом, а
вторая
вторым. Поэтому первый и второй столбец
обязательно должны войти в покрытие.
После того, как они включены в покрытие,
непокрытой остается лишь четвертая
строка, которая может быть покрыта
третьим или четвертым столбцом. Это и
дает две простейшие д.н.ф., представляющие
функцию
:
и
.
В рассматриваемом примере все простые импликанты имеют одинаковый ранг 2. Поэтому задачи построения из них минимальной и кратчайшей д.н.ф. совпадают. Каждая из двух построенных д.н.ф. является и минимальной, и кратчайшей. В общем случае, однако, множества минимальных и кратчайших д.н.ф. могут не только не совпадать, но даже и не пересекаться.
Выполненное построение
можно наглядно проиллюстрировать на
единичном кубе, координаты вершин
которого являются двоичными наборами
длины 3, что позволяет считать булеву
функцию заданной на вершинах куба.
Вершины, на которых функция равна
единице, будем называть единичными, а
вершины, на которых функция равна нулю,
нулевыми. Для этих
множеств используются также обозначения
и
.
Множество
элементарной конъюнкциивершин, на которых она обращается в
единицу, будем называть соответствующим
ей интервалом или подкубом. Интервалам,
соответствующим конъюнкциям ранга 3,
будут вершины куба, конъюнкциям ранга
2ребра куба,
конъюнкциям ранга 1грани куба.
На рисунке жирно выделены единичные вершины рассматриваемой функции и ребра, соответствующие простым импликантам. Из рисунка видно, что две полученные тупиковые д.н.ф. соответствуют двум неизбыточным покрытиям единичных вершин интервалами, соответствующими простым импликантам.

На рисунке жирно выделены единичные вершины рассматриваемой функции и ребра, соответствующие простым импликантам. Из рисунка видно, что две полученные тупиковые д.н.ф. соответствуют двум неизбыточным покрытиям единичных вершин интервалами, соответствующими простым импликантам.
Рассмотренный элементарный пример не даёт в полной мере представления о трудностях построения простейшей д.н.ф., поэтому сделаем 4 замечания.
1). При большом числе переменных число простых импликантов булевой функции, как правило, значительно превышает число её единичных вершин, т.е., длина сокращенной д.н.ф. превышает длину совершенной д.н.ф..
2). Задача о покрытии, которую приходится решать при построении кратчайшей и минимальной д.н.ф., является трудной задачей дискретной оптимизации, точное решение которой даже на компьютере возможно лишь для таблиц небольшой размерности. Поэтому при большой размерности задачи приходится ограничиваться приближенным решением. (Эта задача обсуждается в следующей главе.)
3). Склеивание элемнтарных конъюнкций не есть единственный способ получения сокращенной д.н.ф.. Сокращенную д.н.ф. для таблично заданной булевой функции можно получить, выписав по таблице истинности её совершенную к.н.ф. и, использую свойство дистрибутивности, преобразовав её в д.н.ф.. Если по ходу преобразования удалять поглощаемые конъюнкции, то полученная д.н.ф. будет сокращенной. Этот способ не является более экономным, но он поучителен. В нашем примере имеем

4). При
булеву функцию уже нельзя столь наглядно
представить с помощью единичного куба.
Однако геметрическую терминологию
часто сохраняют и в общем случае, считая
булеву функцию заданной на вершинах
единичного
-мерного
куба. На рисунке схематически представлен
четырехмерный куб, получающийся из
трехмерного “сдвигом” по четвертой
координате.

Рёбра
куба соединяют вершины, отличающиеся
в одной координате. В дальнейшем термины
“двоичный набор длины
”
и “вершина единичного
-мерногокуба” будут
синонимами. Для них будет использоваться
векторное обозначение
.
Докажем теперь общее утверждение,
относящееся к максимально возможной
длине кратчайшей д.н.ф. булевой функции.
Утверждение
3. Максимимум
длины кратчайшей д.н.ф. булевой функции
от
переменных равен
.
Он достигается, например, на счётчике
чётности
и его отрицании.
Доказательство.
Покажем, что произвольную булеву
функцию
можно записать с помощью д.н.ф., длина
которой не превосходит
.
В множестве
наборов
выделим три непересекающихся подмножества:
;
;
.
Теперь
каждый единичный набор функции
естественным образом отображается в
одно из множеств
,
причём в элементы множеств
и
отображается по одному единичному
набору, а в элементы множества
по два. Для каждого единичного набора
,
отображающегося в
,
включим в д.н.ф. покрывающую его
элементарную конъюнкцию
ранга
,
для единичного набора
,
отображающегося в
включим в д.н.ф. покрывающую его
элементарную конъюнкцию
также ранга
,
а для пар единичных наборов
и
,
отображающихся в
,
включим в д.н.ф. покрывающую их элементарную
конъюнкцию
ранга
.
Полученная д.н.ф. будет реализовывать
функцию
,
а её длина будет равна
.
Счётчик
чётности и его отрицание имеют по
изолированных единичных вершин, поэтому
длина их кратчайших д.н.ф. равна
.
Введем
ряд определений, позволяющих глубже
рассмотреть геометрию единичного
-мерного
куба.
Определение
5. Пусть
и
две
вершины единичного
-мерногокуба. Расстоянием
Хэмминга
между ними называется число несовпадающих
у них координат.
Например,
если
,
,
то
,
так как наборы отличаются по первой,
второй, четвертой и шестой координатам.
Расстояние Хэмминга равно длине кратчайшего пути между вершинами по ребрам куба и удовлетворяет обычным аксиомам метрики:
1) неотрицательности
,
причём
тогда и только тогда, когда
;
2) симметричности
;
3) неравенству треугольника
.
Определение
6. Весом
двоичного набора
называется число единиц в нём.
Вес
вершины равен её расстоянию от нулевой
вершины:
.
Определение
7. Множество
вершин веса
называется
-ым
слоем
единичного
-мерногокуба.
Мощность
-го
слоя единичного
-мерногокуба равна
.
Определение
8. Множество
вершин, находящихся на расстоянии
от вершины
,
называется сферой Хэмминга радиуса
с центром в
.
Мощность
сферы Хэмминга радиуса
равна
.
Определение
9. Множество
вершин, находящихся на расстоянии не
более чем
от вершины
,
называется шаром Хэмминга радиуса
с центром в
.
Мощность
шара Хэмминга радиуса
равна
.
Двоичные
наборы – вершины куба, на которых задана
булева функция, можно рассматривать и
как характеристические векторы
подмножеств
-элементного
множества, считая тем самым булеву
функцию заданной на этих подмножествах.
Весом набора в этом случае является
мощность соответствующего подмножества.
При этом отношение включения подмножеств
задаёт на вершинах отношение порядка:
.
Как
обычно, будем писать
,если
и
.Еслидля
двух вершин (наборов)
и
не выполнено ни одно из соотношений
или
,то говорят, что
они несравнимы.
Определение 10. Множество попарно несравнимых вершин куба называется антицепью.
Вершины слоя образуют, очевидно, антицепь.
В ряде прикладных задач естественным образом возникают булевы функции, заданные на подмножествах некоторого множества и обладающие тем свойством, что если функция равна единице на некотором подмножестве, то она равна единице и на всех подмножествах, включающих данное.
Определение
11. Булева функция
называется монотонной, если из![]()
следует
.
Определение
12. Набор
(вершина)
называется нижней единицей монотонной
функции
![]()
,если
и
на всех
наборах
таких, что
.
Ясно,
что две различные нижние единицы
монотонной булевой функции несравнимы
между собой. Поэтому множество нижних
единиц образует антицепь. Более того,
существует взаимно однозначное
соответствие между антицепями и
монотонными булевыми функциями.
Максимальным по мощности среди слоев
является средний слой
-мерного
куба, содержащий
вершин. Любое его непустое подмножество
также является антицепью. Поэтому число
монотонных булевых функций заведомо
превышает
.
Оказывается, что данная несложная нижняя
оценка даёт правильную асимптотику
логарифма для числа монотонных булевых
функций, т.е. число монотонных булевых
функций равно
.
Установим
взаимно однозначное соответствие между
элементарными конъюнкциями, не содержащими
отрицаний переменных, и двоичными
наборами следующим образом. Конъюнкции
поставим в соответствие двоичный набор,
имеющий единицы в позициях
и нули
в остальных позициях.
Утверждение 4. Множество элементарных конъюнкций, соответствующих нижним единицам монотонной булевой функции, совпадает с множеством её простых импликантов.
Доказательство. Каждая элементарная конъюнкция, соответствующая нижней единице монотонной булевой функции, является, очевидно, её импликантом. Более того, она является простым импликантом, так как при отбрасывании любой буквы она, в силу определения нижней единицы, перестанет быть допустимой конъюнкцией. Рассмотрим теперь произвольный простой импликант монотонной булевой функции. Он не может содержать переменных с отрицаниями, так как отбрасывание таких переменных привело бы, в силу монотонности функции, к допустимой конъюнкции, что противоречит определению простого импликанта. Соответствующий ему набор является, очевидно, нижней единицей.
Теорема 3. Сокращенная д.н.ф. монотонной булевой функции не содержит отрицаний переменных и является её единственной кратчайшей и минимальной д.н.ф..
Доказательство. В силу утверждения 3 сокращенная д.н.ф. монотонной булевой функции состоит из простых импликантов, соответствующих её нижним единицам. А так как нижние единицы несравнимы, то каждая из них покрывается только соответствующим ей простым импликантом, и ни один из них не может быть удален.
В
качестве примера, показывающего как
возникают монотонные булевы функции,
снова рассмотрим задачу о покрытии.
Пусть имеется бинарная таблица размерности
,
в каждой строке которой имеется хотя
бы одна единица. На
подмножествах множества её столбцов
определим булеву функцию следующим
образом. Полагаем её равной единице,
если подмножество является покрытием
строк матрицы, и нулюв противном случае.Очевидно, что
введенная таким образом функция будет
монотонной. Нижними единицами такой
функции являются неизбыточные покрытия,
т.е. такие подмножества столбцов, которые
являются покрытиями, но перестают быть
таковыми при удалении любого входящего
в них столбца. Функция может быть
представлена в к.н.ф. с помощью следующих
определяющих условий:
1) для покрытия каждой строки в покрытие должен войти хотя бы один покрывающий её столбец;
2) все строки должны быть покрыты.
Для таблицы в рассмотренном выше примере покрытия единичных наборов функции её простыми импликантами к.н.ф. рассматриваемой монотонной булевой функции примет вид
,
так как первая строка покрывается только первым столбцом, вторая вторым, третья первым и четвёртым, четвертая третьим и четвертым и пятая вторым и третьим. Раскрывая скобки и удаляя поглощаемые члены, получаем
.
В результате преобразований получилась сокращенная д.н.ф., состоящая из двух элементарных конъюнкций. Эти две нижние единицы дают два неизбыточных покрытия строк столбцами. В рассмотренном примере они соответствуют двум простейшим д.н.ф.. Простейшие д.н.ф. всегда находятся среди неизбыточных покрытий единичных наборов простыми импликантами. Поэтому рассмотренный метод синтеза всех неизбыточных покрытий в принципе может быть использован для нахождения простейшей д.н.ф. произвольной булевой функции по её сокращенной д.н.ф., однако при большом числе переменных он оказывается практически неприемлимым из-за огромного числа неизбыточных покрытий.
Вопросы для самопроверки.
Какова мощность интервала, соответствующего в
-мерном
кубе
элементарной конъюнкции
?
а)
2; б) 4;
в)
.
Сколько ребер имеет
-мерный
куб?
а)
;
б)
;
в)
.
Чему в
-мерном
кубе равна мощность пересечения двух
сфер Хэмминга единичного радиуса,
расстояние между центрами которых
также равно единице?
а)
2; б)
;
в)
.
