
- •4.13. Специальные классы булевских функций определение
- •4.13.1. Функции, сохраняющие ноль
- •4.13.2. Функции, сохраняющие единицу
- •4.13.3. Самодвойственные функции
- •Определение
- •Определение
- •4.13.4. Монотонные функции
- •Определение
- •4.13.5. Линейные функции
- •4.14. Критерий функциональной полноты
- •4.14.1. Построение функций-констант
- •4.14.3. Построение конъюнкции
- •4.15. Предполные классы булевских функций определение
4.13.5. Линейные функции
Напомним,
что линейными называются функции,
представимые в виде
,
где 1,
. . . , n+1
двоичные коэффициенты при переменных
и свободном члене, равном 1.
Класс линейных функций обозначается как L.
Из
установленного способа представления
линейных функций следует, что существует
ровно 2n+1
различных линейных функций, зависящих
от n
переменных. Действительно, записи
линейных функций являются частным
случаем полиномов Жегалкина, поэтому
представление всякой линейной функции
в виде
единственное. Поэтому линейных функций
от n
переменных ровно столько, сколько
имеется способов составления различных
записей вида:
.
Класс L является замкнутым, поскольку преобразование всякой суперпозиции линейных функций к виду полинома Жегалкина не приводит к появлению нелинейных слагаемых.
Замечание. Только две линейные функции n переменных существенно зависят от всех своих переменных:
и
.
Всякая другая линейная функция n переменных, полином Жегалкина для которых не содержит вхождения некоторых переменных, имеет несущественные переменные.
Все
4
функции одной переменной: 0,
1,
x
и
являются линейными.
Простейшим примером нелинейной функции можно считать x1&x2, поскольку ее представление в виде полинома Жегалкина содержит одно произведение переменных. Покажем, что эта простейшая нелинейная функция может быть выражена из любой нелинейной функции.
Лемма (О нелинейной функции)
Если
f(x1,
. . . , xn)
L,
то подстановкой вместо переменных этой
функции функций-констант 0,
1,
тождественных функции x
и отрицанию
,
а также применением отрицания к f
можно получить функцию
.
Доказательство
Пусть f(x1 , . . . , xn) L.
Возьмем полином Жегалкина R для f. Так как f это нелинейная функция, то в полиноме R содержится слагаемое, включающее произведение некоторых двух переменных. Без ограничения общности можно считать, что такое произведение содержит вхождения переменных x1 и x2.
(Если все произведения двух и большего числа переменных не содержат одновременно эти переменные, то необходимо произвести соответствующее переименование переменных в f, используя подстановки переменных вместо переменных функции.)
Сгруппируем слагаемые в R и, вынося переменные x1 и x2 за скобки, представим его в виде
(1).
Здесь полином R1 содержит хотя бы одно ненулевое слагаемое и поэтому представляет булевскую функцию, отличную от тождественного нуля.
Пусть
.
Подставим вместо переменных x3,
. . . , xn
конкретные значения
.
Тогда имеет место равенство:
=
(2)
Здесь
и
.
Заменим x1 на x1 + и х2 на x2 +. При этом, если или , равно нулю, то соответствующая переменная не заменяется. В противном случае соответствующая переменная заменяется на отрицание этой переменной.
В результате такой замены выражение (2) преобразуется к виду
.
(3)
Если
,
то функция x1&x2
уже
получена.
В противном случае применим отрицание к функции вида (3) и также получим x1&x2.
Доказательство окончено.
Рассмотрим применение доказанной леммы к нелинейным функциям.
Пусть f = x1 (x2 x3). Тогда полином Жегалкина для f имеет вид
f = x1x2x3 + x1x2 + 1, т.е. x1x2 (x3 + 1) + 1.
Полином
равен единице при x3
= 0.
Тогда
f(x1,
x2,
0)
= x1x2
+ 1.
Поэтому
x1
x2.
Упражнение.
1.Доказать утверждение, обратное утверждению леммы о нелинейной функции.
2. Показать, что всякий из определенных выше классов булевских функций является замкнутым и неполным.