Литература / Олейник.Лекции по дискретной математике / вариант .doc / Глава 2 / параграф 2.10-11
.doc2.10. Класс монотонных функций и его свойства
Определение. Если для любого (), то говорят, что вектор предшествует вектору и пишут .
Например, ; .
Определение. Говорят, что булева функция монотонна, если для любых наборов и значений переменных, таких что , выполняется неравенство .
Обозначим через множество монотонных функций от переменных, а через – множество всех монотонных функций; т.е. .
Например, ; .
Утверждение. Множество монотонных функций - замкнутый класс.
Доказательство. Наша задача показать, что . Согласно первому свойству операции замыкания . Докажем, что и , т.е., что любая булева функция, реализованная формулой над , монотонна. Поскольку класс содержит тождественную функцию, нам достаточно показать, что функция , если .
Возьмем два произвольных набора значений переменных и таких, что . Тогда, в силу монотонности функций , будем иметь:
,
,
………………………………………………………
.
Следовательно, , и, в силу монотонности , . Или
Таким образом, , что и требовалось доказать. ■
Лемма (о немонотонной функции). Пусть . Тогда формулой над множеством можно реализовать отрицание.
Доказательство. Пусть . Тогда существуют такие наборы и значений переменных, что
,
а
.
И, значит,
, . (1).
Поскольку , то можно выделить подпоследовательность индексов такую, что: и для всякого (и, значит, ).
Рассмотрим функцию , реализуемую формулой, получающейся в результате подстановки в формулу на места чисел соответственно, а на остальные места - . Не ограничивая общности рассуждений, можно считать, что
.
Тогда
;.
Следовательно, . ■
Введем условное обозначение алгоритма, использованного для доказательства леммы :
Упражнение. Рассмотреть «работу» леммы на примере функции .
Решение. Для удобства рассуждений зададим функцию таблично, а также реализуем в виде СКНФ:
.
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
2.11. Класс линейных функций и его свойства
Определение. Говорят, что булева функция линейна, если в ее каноническом полиноме Жегалкина коэффициенты при всех слагаемых, содержащих произведения переменных, равны 0.
Обозначим через множество линейных функций от переменных, а через – множество всех линейных булевых функций, т.е. .
Например, ; .
Утверждение. Множество линейных функций - замкнутый класс.
Доказательство. Наша задача доказать, что . Согласно первому свойству замыкания . Докажем, что и , т.е., что любая булева функция, реализованная формулой над , линейна. Поскольку класс содержит тождественную функцию, то нам достаточно показать, что функция , если .
Пусть
……………………………………….
.
Подставим правые части этих равенств в формулу для :
. ■
Лемма (о нелинейной функции). Пусть . Тогда формулой над множеством можно реализовать конъюнкцию.
Доказательство. Пусть . Тогда в каноническом полиноме Жегалкина данной функции найдется член с отличным от нуля коэффициентом, содержащий произведения переменных. Не нарушая общности рассуждений, можно считать, что этот член содержит . Следовательно, полином Жегалкина функции можно преобразовать к виду
,
где функция такова, что найдется набор значений переменных такой, что .
Рассмотрим функцию . Или
.
Теперь перейдем к функции
.
Преобразуем формулу, реализующую функцию :
.
Подытоживая проделанное, можем записать
.
Заметим, что
Таким образом, можно утверждать, что конъюнкция реализована формулой над множеством . ■
Введем условное обозначение алгоритма, использованного для доказательства леммы :
Упражнения. 1. Выяснить, сколько имеется линейных булевых функций от переменных.
2. Рассмотреть работу леммы на примере функции .
Решение. Запишем полином Жегалкина функции в виде:
.
Поскольку при , то, следуя лемме, рассмотрим функцию
.
И, наконец, перейдем к функции
. ■