Полнота и замкнутость
f( x1, … , xn ) = f*(
x1, … , xn ) или f( x1, … , xn ) =
(
, …,
).
(1.12)
Легко заметить, что для того чтобы функция была самодвойственной нужно чтобы ее значения были “ антисимметричны “, т.е. чтобы значения функции на противоположных наборах переменных ( т.е. на наборах равно удаленных от начала и конца таблицы ) были противоположны.
Например, f = ( 0, 1, 1, 0, 1, 0, 0, 1 ) будет самодвойственной.
Действительно, инвертируя заданную функцию получим
f
= ( 1, 0, 0, 1, 0, 1, 1, 0 ).
Переворачивая значения функции f1, получим двойственную функцию к f , т.е.
f* = ( 0, 1, 1, 0, 1, 0, 0, 1 ).
Сравнивая значения функций f и f* видим, что f = f*. Следовательно,
согласно (1.12) заданная функция самодвойственная.
Функции x и
самодвойственные функции, т.к. у них
выполняется “антисимметричность“, а функции x
y и
x & y не являются
самодвой-ственными.
Логическую функцию, заданную формулой булевой алгебры можно проверить на самодвойственность, нахождением двойственной к ней функции по определению. Для этого рассмотрим следующий пример.
Пример. Проверить на самодвойственность функцию:
f( x,y,z ) = x y
x z
y
z.