Материал: LS-Sb89586

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

причем значения переменных x, y, z и полученных выражений рассматриваются в кольце вычетов по модулю 2. При этом каждое четное число заменяют на 0, а каждое нечетное – на 1.

Существует несколько способов вычисления этих коэффициентов, рассмотрим два из них.

Первый способ: метод неопределенных коэффициентов.

Подставим в многочлен все возможные наборы x, y, z и получим 8 условий на 8 коэффициентов. При этом матрица системы будет содержать много нулей.

Например, f (0, 0, 0) = a0 = 0 (значение берем из табл. 3.2).

Затем, f (0, 0, 1) = a0 a3 = 1, поэтому a3 = 1. И так далее, на каждом уравнении будем получать новый коэффициент.

В итоге получим: a3 = 1, a12 = 1, a23 = 1.

Тогда многочлен Жегалкина имеет вид: z + xy + yz.

Второй способ: использование СДНФ:

f (x, y, z) x yz x yz xyz xyz (1 x)(1 y)z x(1 y)z xy(1 z) xyzz zx zy xyz zx xyz xy xyz xyz z zy xy .

Как и следовало ожидать, ответ для второго способа вычисления многочлена Жегалкина совпал с ответом для первого способа.

Если эти ответы различаются, необходимо проверить выкладки.

В ответе с многочленом Жегалкина принято записывать слагаемые в лексикографическом порядке.

3.8. Двойственная функция

Определение. Пусть f – некоторая булева функция. Тогда двойственной к f (обозначается f*) называют функцию, таблица истинности которой получается из таблицы истинности f заменой всех 0 на 1, а всех 1 на 0.

Такую операцию называют инвертированием таблицы истинности. Примечание. Инвертирование происходит не только со значениями

функции, но и со значениями x и y. Поэтому после построения таблицы ее нужно будет «перевернуть», то есть переставить все строки в обратном порядке.

Посмотрим, например, что произойдет с дизъюнкцией при такой замене (табл. 3.4). После инвертирования получается табл. 3.5.

26

 

Таблица 3.4

 

 

 

Таблица 3.5

 

 

 

Таблица 3.6

 

 

 

 

 

 

 

 

 

 

 

 

 

x

x

x

 

x

y

 

(x y) *

 

x

y

 

(x y) *

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0

1

1

 

1

0

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0

1

0

 

1

0

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

1

0

1

 

1

1

0

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

1

0

0

 

0

1

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

Поскольку в таблице истинности записывают значения переменных в лексикографическом порядке, таблицу следует перевернуть.

Из табл. 3.6 видно, что значения функции, двойственной к конъюнкции, совпали со значениями дизъюнкции.

Следовательно, x y * x y .

Аналогично можно обосновать такие равенства:

x y * x y;

x y * xXORy;

xXORy * x y;

(x)* x.

3.9.Нахождение таблицы значений функции, двойственной к данной булевой функции

Это действие сводится к композиции инвертирования и переворота. Например, для функции со значениями (0, 1, 0, 0, 0, 1, 1, 1) значения

двойственной функции можно получить следующим образом:

инвертирование: (1, 0, 1, 1, 1, 0, 0, 0); переворот: (0, 0, 0, 1, 1, 1, 0, 1),

т. е. значения двойственной функции будут такими: (0, 0, 0, 1, 1, 1, 0, 1). Гораздо более творческое задание – получить формулу для функции,

двойственной к данной булевой функции, используя теорему о двойственной к суперпозиции функций.

При этом используется следующая идея.

Если α и β – две булевы функции, то, например, * * *. Ана-

логично вычисляется двойственная функция для других выражений, например, XOR заменяют эквивалентностью, а эквивалентность – XOR: если

f (x, y, z) (y x) (y z) ,

27

то f *(x, y, z) (y x)*XOR(y z)* y x *XOR(y z)* yx XOR yz .

Для самопроверки следует построить таблицу значений этой функции и сравнить с табл. 3.6, полученной композицией инверсии и переворота.

3.10.Исследование булевой функции на принадлежность

косновным классам замкнутости

Перечисленные далее пять классов замкнутости называются так, поскольку при подстановке одной функции этого класса в другую результат остается функцией этого класса.

Множество функций, сохраняющих 0. Определяется условием f (0, 0, 0) = 0. (Определение приведено для булевых функций от трех переменных, но его легко обобщить на случай произвольного количества переменных.)

Множество функций, сохраняющих 1. Определяется условием f (1, 1, 1) = 1.

Линейные. Множество функций, многочлен Жегалкина которых не содержит произведений.

Монотонные. Выполнено условие: если набор α меньше набора β, то f (α) ≤ f (β).

Уточнение: для сравнения наборов используется правило – набор α меньше набора β тогда и только тогда, когда каждый элемент α не больше соответствующего элемента β и хотя бы один элемент α меньше соответствующего элемента β.

Например, набор (0, 1, 0) меньше набора (1, 1, 1). А про наборы (1, 1, 0) и (1, 0, 1) нельзя сказать, что один меньше другого.

Для проверки функции на монотонность используют рисунок, называе-

мый диаграммой Хассе.

Рис. 3.1

28

Идея здесь состоит в том, чтобы сравнивать не каждые два набора из восьми, а меньшее количество пар. Возле каждого набора переменных пишем значение функции на этом наборе.

При этом если будет нарушение монотонности, оно обнаружится на диа-

грамме.

 

 

 

 

 

 

 

 

 

 

Например, для функции

f (x, y, z) (y x) (y z)

нарушение моно-

тонности происходит следующим образом:

 

 

 

 

 

 

(0, 0, 1) < (0, 1, 1),

 

 

 

 

 

 

 

Таблица 3.7

но

 

 

 

 

 

 

 

 

 

 

 

Выполнение

T0

T1

L

 

M

S

f (0, 0, 1) > f (0, 1, 1),

 

свойства

 

 

 

f

+

+

 

поскольку

 

 

 

 

 

 

 

 

 

 

f

 

f (0, 0, 1) =1, f (0, 1, 1) = 0.

 

 

 

 

 

 

 

 

 

 

 

Наконец, самодвойственной называют булеву функцию, которая равна двойственной к ней.

Ответ на задачу о проверке принадлежности булевой функции к классам замкнутости записывают таблицей (табл. 3.7).

Здесь T0 означает функции, сохраняющие 0; T1 – функции, сохраняю-

щие 1; L – линейные; M – монотонные; S – самодвойственные.

Ответ в таблице приведен, разумеется, для функции f (x, y, z)

(y x) (y z).

29

Список рекомендуемой литературы

Виноградов И. М. Основы теории чисел. М.: Наука, 1972.

Кемени Дж., Снелл Дж., Томпсон Дж. Введение в конечную математику. М.: Изд-во. иностр. лит., 1963.

Поздняков С. Н., Рыбин С. В. Дискретная математика. М.: Академия, 2008.

Фудзисава Т. Математика для радиоинженеров. Теория дискретных структур. М.: Радио и связь, 1984.

30