
- •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. Специальные классы булевских функций определение
Множество
функций B
называется замкнутым классом, если [B]
= B.
Например,
множество {x,
}
является замкнутым классом. Рассмотрим
пять специальных классов булевских
функций, свойства которых будут
использованы при нахождении простых
необходимых и достаточных условий
полноты произвольных систем функций в
P2.
4.13.1. Функции, сохраняющие ноль
Обозначим как Т0 множество всех таких булевских функций, которые на нулевом наборе значений переменных принимают значение 0.
О таких функциях говорят, что они сохраняют 0, т.е. множество б.ф., сохраняющих ноль, это:
Т0 = {f(x1,...,x n) f(0,...,0) = 0}.
Сформулируем простейшие свойства класса T0.
1. Класс T0 является замкнутым классом функций.
Для проверки справедливости последнего утверждения достаточно проверить, что всякая формула U(f1, . . . , fp), составленная с помощью функций f1, . . . , fp, сохраняющих ноль, представляет функцию fU, которая также сохраняет ноль.
Проведем обоснование этого свойства в соответствии с определением понятия формулы над классом функций.
Если U = f(x1,. . . , xn), где f(x1, . . . , xn)T0, то f (0, . . . , 0) = 0 и fU = f.
Если U = f (U1,..., Un), где f (x1, . . . , x n) T0, а U1, . . . , Un это или символы переменных или подформулы формулы U, составленные с помощью функций из T0 и символов переменных. Заметим, что поскольку обозначение переменной представляет тождественную функцию I(x) = x, то U1, . . . , Un можно рассматривать как подформулы, представляющие некоторые функции
из класса T0. Тогда функция f(
) также принадлежит классу T0.
Действительно, f(g1(0,. . . , 0), . . . , gn (0, . . . ,0))= f(0, . . . ,0)=0.
2. Определим число различных функций переменных x1, . . . , xn, которые содержатся в T0.
Поскольку
функции из T0
на всех наборах значений переменных,
отличных от нулевого набора, принимают
произвольные значения, и таких ненулевых
наборов 2n1,
то в T0
содержится ровно
различных булевских функций n
переменных.
4.13.2. Функции, сохраняющие единицу
Обозначим как T1 множество всех булевских функций, которые на единичном наборе значений переменных принимают значение 1. О таких булевских функциях говорят, что они сохраняют единицу, т.е. Т1 = {f(x1, . . . , xn) f(1, . . . , 1) = 1}.
Класс T1 является замкнутым и содержит различных функций n переменных. Последние свойства могут быть обоснованы аналогично тому, как это делалось для класса T1.
4.13.3. Самодвойственные функции
Двоичные
наборы
и
называются
противоположными наборами.
Противоположные наборы значений переменных в табличном задании булевых функций соответствуют строкам, расположенным симметрично относительно середины таблицы.
Докажем это утверждение. Заметим, что середина таблицы располагается между последним набором верхней половины таблицы (0, 1, . . . , 1) и первым набором значений переменных в нижней половине таблицы (1, 0,. . . , 0).
Тогда, пусть и произвольные противоположные наборы. Для определенности будем считать, что 1 =0.
1.
Для набора
,
расположенного в верхней половине
таблице, определим расстояние до нижнего
набора верхней половины таблицы, т.е.
количество наборов до набора (0,
1,
. . . ,
1).
Нетрудно видеть, что искомое расстояние
представляется числом, имеющим двоичное
представление в виде набора
.
2. Определим двоичный набор, находящийся на таком же расстоянии от набора (1,0, . . . , 0), являющегося первым набором нижней половины таблицы
Нетрудно
проверить, что 10.
. . 0
+
=
.
Следовательно,
набор, отстоящий от (1,
0,
. . . , 0)
на расстоянии
,
это набор, который является противоположным
.
Поэтому расстояния от противоположных
наборов
и
до середины таблицы равны.