Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Уч.пособие-по-ОДМ-2012

.pdf
Скачиваний:
54
Добавлен:
10.05.2015
Размер:
2.36 Mб
Скачать

3.5Различные алгоритмы построения многочлена Жегалкина

3.5.1Алгоритм 1 (посредством СДНФ)

1. Строим СДНФ функции, отличной от нуля (функция f(xe) 0 уже представлена в виде многочлена Жегалкина).

2.

Заменяем все символы " " на " ".

 

3.

Выносим за скобки одинаковые сомножители и упрощаем полу-

 

 

 

 

 

 

 

 

 

 

 

ченную формулу, применяя тождество

.

 

 

 

 

 

 

 

 

 

 

 

 

 

xy xy

= x(y y) = x · 1 = x.

4.

Все отрицания переменных

 

i

заменяем на выражение xi 1 (в

x

 

силу равенства

 

i = xi 1).

 

 

В

.

 

x

 

 

 

 

5.

Раскрываем скобки, учитывая сочетательный и распределитель-

 

ный законы функций алгебры логики.

ПредставимБарашевфункцию в виде СДНФ

 

С

6. Приводим подобные члены, вычеркивая пары одинаковых слага-

емых (согласно тождеству x x = 0).

 

Унучек

 

7. В результате проведенных преобразований получаем многочлен

Жегалкина заданной функции.

 

 

f(xe) = x·y·z x·y·z x·yМИРЭА·z x·y·z = x·y·z x·y·z x·y·z x·y·z =

Пример 3.11. Представить функцию

f = (01001101) в виде много-

члена Жегалкина.

e

 

Решение.

fсднф = x · y · z x · y · z x · y · z x · y · z

Упростим представление данной функции , используя приведенный выше алгоритм:

=x · y · z x · y · z xz(y y) = x · y · z x · y · z x · z =

=(x 1)(y 1)z x(y 1)(z 1) xz =

=xyz yz xz z xyz xz xy x xz = yz xz z xy x.

41

Итак, f(xe) = yz xz z xy x- представление заданной функции многочленом Жегалкина.

3.5.2Алгоритм 2 (метод неопределенных коэффициентов)

1.Выписываем в общем виде многочлен Жегалкина функции n переменных

 

P

x) =

 

 

 

 

 

.a13x1x3 . . .

 

 

(e= a0 a1x1 a2x2 . . . anxn a12x1x2

 

 

 

 

 

n

 

П

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

. . . a12:::nx1x2 · · · xn.

2. Для каждого набора α B

 

составляем уравнение P (α) = f(α),

 

где P (α)- выражение, получаемое из многочлена Жегалкина P (x)

тов.

 

Барашевe

 

 

А

 

систе-

 

при подстановке

вместо x

двоичного набора α. Получаем.

 

e

 

 

В

.

e

e

 

 

2n

 

 

 

 

 

 

 

 

коли-

 

му из e линейных уравнений (количество уравнений равно

e

 

честву двоичных

наборов) с 2n неизвестными (неизвестными яв-

 

e

 

 

 

e

 

 

 

 

 

 

 

 

 

С

 

 

 

 

 

ляются коэффициенты a0, a1, a2 . . . a12:::n).

Определитель системы

 

равен 1, система имеет единственное решение.

 

 

 

 

 

 

УнучекМИРЭА

 

 

3. Решая систему, находим все коэффициенты.

 

 

 

 

4.

Подставляя найденные коэффициенты в P (x), получаем искомый

многочлен Жегалкина.

 

 

 

e

 

 

 

 

Пример 3.12. Представить функцию f = (01001101) из примера 3.11 в виде многочлена Жегалкина методом неопределенных коэффициен-

Решение.

1.Многочлен Жегалкина функции 3 переменных в общем виде задаётся формулой

P (x, y, z) =

= a0 a1x1 a2x2 a3x3 a12x1x2 a13x1x3 a23x2x3 a123x1x2x3.

42

2.Для наглядности зададим функцию таблично. x y z f

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

0

 

0

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

0

 

1

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

1

 

0

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

1

 

1

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

0

 

0

 

 

 

1

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

0

 

1

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

П

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

1

 

0

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

1

 

1

 

 

 

1

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Последовательно подставляя наборы в стандартном (лек-

сикографическом)

 

 

 

 

порядке,

 

 

 

получаем

 

систему

 

уравнений.

 

f(000) = a0

 

a1

a·

0

 

 

 

a2

 

 

0 a3 · 0 a12 · 0 · 0 a13

· 0 · 0

 

 

 

 

 

 

23

0

 

 

0·

a123 · 0В· 0 · 0 = 0 .

 

Барашев· · ·

 

 

 

 

 

 

·

 

·

 

 

 

 

·

 

·

 

 

 

 

 

 

 

 

 

 

 

f(001) = a0

 

a1

 

 

0

·

 

 

a·2

 

 

0

 

 

 

a3

 

1

 

 

 

a12

 

0

 

0

 

a13

 

0

1

 

 

 

 

· · ·

 

 

 

.

 

 

· ·

 

 

 

 

 

 

· ·

 

 

 

 

 

 

 

 

 

a

 

 

 

0

 

 

 

1

 

 

 

a

 

 

 

0

 

0

 

1 = 1

 

А

 

 

 

 

 

 

 

 

 

 

 

·

 

·

 

 

 

 

 

·

·

·

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

23

 

 

 

 

 

 

 

 

 

 

 

 

 

 

123

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

 

 

 

 

 

a

 

 

 

 

 

1

 

 

 

 

0

 

 

 

a

 

 

0

 

1

 

0

0

f(010) = a

 

 

 

 

·

0

 

 

 

 

 

·

 

 

a

 

·

 

 

·

·

 

a

 

·

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

·

 

 

 

0

 

 

1

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

12

 

 

 

 

 

 

13

 

 

 

 

 

 

 

 

a

 

 

1

 

 

 

 

 

a

 

 

 

0

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

·

·

0

 

 

 

 

 

·

 

·

·

0 = 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

23

 

 

 

 

 

 

 

 

 

 

 

 

 

123

 

 

 

 

 

 

 

aС0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Заметим:

Унучек

 

 

1

 

a

 

 

0

1

f(011) = a

 

 

a

 

 

·

0

 

 

a

 

 

 

·

 

1

 

a

 

·

1

 

 

 

·

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

· ·

 

 

 

 

·

 

 

 

0

 

 

1

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

12

 

 

 

 

 

 

13

 

 

 

 

 

 

 

 

a

 

 

1

 

 

 

 

 

a

 

 

 

0

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

·

·

1

 

 

 

 

 

·

 

·

·

1 = 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

23

 

 

 

 

 

 

 

 

123

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

учитывая, что 0 0 =МИРЭА0 и 1 1 = 0.

a

 

 

1

0

f(100) = a

 

 

a

 

 

·

1

 

 

a

 

 

 

·

 

0

 

a

 

·

0

 

a

 

·

1

·

0

 

 

·

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

·

 

 

 

0

 

 

1

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

12

 

 

 

 

 

 

13

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f(101) = a0

 

a1

a23

·

0 0 a123 · 1 · 0 · 0 = 1

0

 

a13

 

1

1

 

 

 

1

 

 

a·2

 

 

0

 

 

 

a3

 

1

 

 

 

a12

 

1

 

 

 

 

 

 

 

· · ·

 

 

· ·

 

 

· ·

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

 

0

 

 

1

 

 

 

a

 

 

 

 

1

 

 

0

 

1 = 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

·

·

 

 

 

 

 

·

 

·

·

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

23

 

 

 

 

 

 

 

 

 

 

 

 

 

123

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f(110) = a

 

 

a

 

 

 

 

1

 

 

 

a

 

 

 

 

 

1

 

 

 

a

 

 

0

 

 

 

a

 

 

1

 

1

 

a

 

 

1

0

 

 

 

0

 

 

1

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

12

 

 

 

 

 

 

13

 

 

 

 

 

 

 

 

a

 

 

1

 

 

 

 

 

a

 

 

 

1

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

·

·

0

 

 

 

 

 

·

 

·

·

0 = 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

23

 

 

 

 

 

 

 

 

 

 

 

 

 

123

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

 

 

 

1

 

 

 

a

 

 

 

 

 

1

 

 

 

a

 

 

1

 

 

 

a

 

 

1

 

1

 

a

 

 

1

1

f(111) = a

 

 

 

 

·

 

 

 

 

 

·

 

 

 

·

 

 

·

·

 

 

·

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

·

 

 

 

0

 

 

1

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

12

 

 

 

 

 

 

13

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

 

1

 

 

1

 

 

 

a

 

 

 

 

1

 

 

1

 

1 = 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

·

·

 

 

 

 

 

·

 

·

·

 

 

 

 

 

 

 

 

 

 

 

 

 

 

23

 

 

 

 

 

 

 

 

123

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

если строго

 

придерживаться

стандартного

порядка,

каждое последующее уравнение содержит ровно один новый неизвестный коэффициент. Решаем полученную систему уравнений,

43

 

 

a0 = 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a0

 

 

= 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a0

a2 = 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

 

a

 

 

 

 

a

 

 

= 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

2

 

3

 

 

23

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

a

1

= 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a0

 

 

a1

 

a3

 

 

 

a13 = 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a0

a1

a2

a12 = 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

 

 

 

a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

 

a

 

 

 

 

a

 

 

 

a

 

 

 

 

a

 

 

 

a

 

 

a = 1

 

 

 

 

 

a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

1

 

2

 

 

3

 

12

 

13

 

23

123

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 = 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

= 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

0

a3 = 1

 

 

23

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

23

= 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a3

 

 

0

a2 = 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a2 = 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0 1 a = 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a = 1

 

 

0

 

 

a = 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

= 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 1 1 a13 = 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пa13 = 1

 

0

 

1

 

0

a12 = 0

 

 

 

 

 

 

 

 

 

 

 

 

.a12

 

= 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

1

 

 

0

 

 

1

 

 

 

1

 

 

1

 

 

1

 

 

a = 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a = 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

123

 

В

 

 

 

123

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

БарашевУнучек

 

 

(

) получаем много-

 

Подставляя

найденные коэффициенты в

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P x ,

 

 

 

член Жегалкина заданной функции

 

 

 

.e А

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f(x) = x z xy xz yz.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

слагаемых, многочлен совпал с формулой, полу-

 

С точностью до

 

 

 

 

 

e

 

 

 

 

 

 

 

 

 

 

 

 

С

 

 

 

 

 

 

ченной в примере 3.11.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.5.3 Алгоритм 3 (метод треугольника)

1.Выписываем левую часть таблицы истинности. Напомним, что она одинакова для всех булевых функций n переменных.

2.Вектор значений функции размещаем в правой части, но не вертикально, а в той же строке, что и набор, состоящий из всех нулей. Эта строка в таблице истинности первая.

3.Попарно складываем по модулю 2 пары соседних значений в стро-МИРЭА

0 0 = 0

0 1 = 1

ке, учитывая, что 1 0 = 1 .

1 1 = 0

44

Результат записываем на 1 строку ниже. Получаем строку, содержащую на 1 элемент меньше, чем в векторе значений.

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

5. Левые значения полученных строк равны коэффициентам много-

члена Жегалкина n переменных P (x). Подставляя вычисленные

коэффициенты в P (x), получаем многочлен Жегалкина исходной

 

e

e

П

функции.

.

Пример 3.13. Представить функцию f = (01001101) из предыдущих

примеров в виде многочлена Жегалкина, используя.

метод треуголь-

ника.

 

 

 

 

 

 

 

e

В

 

.

 

Решение.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

y

z

 

 

 

 

 

 

 

 

1 .1А0

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0

 

 

 

0 1

0

 

0

 

1

 

 

 

 

 

 

 

0

0

1

 

 

 

1 1

 

0

 

1

0

 

1

1

 

 

 

 

 

 

 

 

 

 

 

 

С

 

 

 

 

0

1

0

 

 

 

0 1

 

1

 

1

1 0

 

 

0

1

1

 

 

 

1

 

0

 

0

0

 

1

 

 

1

0

0

 

 

 

 

1

 

0

 

0

1

 

 

1

0

1

 

 

Барашев

0

1

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

1

1

0

 

 

 

 

 

 

1

 

1

 

 

 

 

 

 

 

 

 

 

Унучек

 

 

 

 

 

1

1

1

 

 

 

 

 

 

 

0

 

 

 

 

 

 

Выделенные в правой части числа равны значениям коэффици-

ентов при соответствующихМИРЭАконъюнкциях в многочлене Жегалкина. Индекс многочлена равен номеру ненулевой переменной в левой части. Например,(000) α0, (010) α2, (110) α12 (переменные нумеруются слева направо). И значения коэффициентов

45

 

 

a0 = 0

 

 

 

 

 

 

a3 = 1

 

 

 

 

 

 

 

a2 = 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

23

 

= 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

= 1

, и представление функции в виде многочлена Жегалкина

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a13 = 1

 

 

 

 

 

a12 = 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

123

 

= 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

уже получено в предыдущем примере.

f x

 

 

 

 

 

x

 

z

xy xz

 

yz

( ) =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

3.6 Задачи для самостоятельного решения

 

 

 

 

 

 

 

 

 

 

 

 

 

1.Найти СДНФ, СКНФ и многочлен Жегалкина булевых функций, заданных вектором значений:

1.fe1 = ( 1100 1100 );

2.fe2 = ( 1101 1010 );

3.fe3 = ( 1001 0001 );

4.fe4 = ( 0110 1111 ).

2.Построить таблицу истинности, найти носитель функции, СДНФ, СКНФ и многочлен Жегалкина булевой функции, заданной формулойБарашев В

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

УнучекМИРЭА

 

f5 = ((x y) (x&z)) ((x → y) | (y ↓ z)).

 

e Ответы к задачам для самостоятельного решения

 

1.1. fсднф1

=

x

·

y

·

z

 

x

·

y

· z x ·

y

·

 

z

x ·

y

· z; rсднф1

= 12;

fскнф1

= (x

 

z)&(x

 

 

 

)&(

 

 

 

z)&(

 

 

 

 

 

); rскнф1

= 12;

y

y

z

x

y

x

y

z

fмн.Жег.1 = 1 y.

 

1.2.fсднф2 = x · y · z x · y · z x · y · z x · y · z x · y · z;

rсднф2 = 15; fскнф2 = (x y z)&(x y z)&(x y z); rскнф2 = 9; fмн.Жег.2 = 1 y yz xz xy xyz.

1.3.fсднф3

fскнф3 rскнф3

= x · y · z x · y · z x · y · z; rсднф = 9;

=(x y z)&(x y z)&(x y z)&(x y z)&(x y z);

=15; fмн.Жег.3 = 1 z y x xz xy xyz.

46

1.4.fсднф4 = x · y · z x · y · z x · y · z x · y · z x · y · z x · y · z;

rсднф4 = 18; fскнф4 = (x y z)&(x y z); rскнф4 = 6; fмн.Жег.4 = z y x xz xy.

2. f5 = ( 1111 0111 );

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

feсднф5

=

 

·

 

·

 

 

 

·

 

·z

 

·y ·

 

 

 

 

·y ·z x·

 

·z x·y ·

 

x·y ·z;

x

y

z

x

y

x

z

x

y

z

rсднф5

= 21; fскнф5

=

 

y z; rскнф5

= 3;

x

fмн.Жег.5 = 1 x xz xy xyz.

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

П

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В .

 

Барашев

 

 

 

 

А

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

С

 

 

 

 

 

 

 

 

Унучек

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

МИРЭА

 

47

Глава 4 Геометрический метод минимизации

булевых функций

 

.

 

 

 

4.1

Постановка задачи минимизации

 

 

 

 

П

 

 

 

.

 

4.1.1

Основные определения

В

 

.

цию, не являющуюся константой, можно представитьв виде ДНФ (например, СДНФ). Кроме того, представление функции в виде ДНФ не

Ранее (см. главу 3) мы уже показывали, что любую двоичную функ-

является однозначным для данной функции. СРазличные ДНФ, реализующие одну и ту же булеву функцию, могут иметь различный ранг

называется импликантойУнучекбулевой функции f(xe), если её носитель является подмножеством носителя функции f:

(см. замечание 3.3 на стр. 29). Совершенная ДНФ имеет максимальный

Барашев

 

 

МИРЭА

ранг среди ДНФ данной функции.

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

ДНФ, имеющей как можно меньший ранг.

Определение 4.1. Элементарная конъюнкция

i1

i2

is

, 1 6 i1 < i2 < . . . < is 6 n

K = xi1

xi2

· · · xis

 

 

NK Nf .

 

Другими словами, если K- импликанта, то на всех двоичных наборах

выполняются тождества:

 

K · f = K.

a)

K f = f

б)

48

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

Все элементарные конъюнкции, входящие в СДНФ функции f, являются импликантами данной функции.

Пример 4.1. Дана двоичная функция f(x, y, z) = (0101 0001).

 

 

 

 

 

K1 =

 

 

 

 

z

 

 

 

 

 

 

 

 

x

y

- её импликанты,

Элементарные конъюнкции

e

· ·

 

K2 =

x

z

 

.

 

 

 

 

 

 

 

·

 

 

 

так как

NK1

= { (001) } Nf = { (001), (011), (111) },

 

NK2

= { (001), (011) } Nf = { (001), (011), (111) }.

 

 

 

 

 

 

 

 

 

 

 

П

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

не является, по-

Конъюнкция K3 = yz импликантой функции f

скольку

NK3

= { (001), (101) } ̸ Nf = { (001), (011), (111) }.

 

 

 

 

 

 

В

 

 

 

.

Определение 4.2. Импликанта K булевой функции

 

f(x) назы-

вается простой, если конъюнкция, полученная из KАвычеркиванием

 

 

 

 

 

 

 

 

 

 

 

.

 

хотя бы одной переменной или её отрицания, уже не является импли-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e

кантой для функции f.

 

 

 

 

С

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пример 4.2. Дана двоичная функция f(x, y, z) = (0101 0001).

Импликанта

 

K1 =

 

 

 

 

z не является простой для функ-

x

y

ции f(x, y, z)

 

=

(0101 0001)·

 

 

·из примераe

4.1, так как импликанта

K2 =

 

z,

 

образованная вычеркиванием

 

из K1 также является

x

 

y

импликантойe ·

для f.

 

 

 

 

 

 

Барашев

Импликанта K2 =

x

· z, является простой импликантой функ-

ции f, поскольку импликанты

K4 =

 

 

и K5 = z, полученные

x

 

 

 

 

 

 

 

Унучек

 

 

 

 

 

 

 

 

 

 

 

 

Множество

 

NK = МИРЭАB | K(σ) = 1} называется интер-

из K2 удалением x и z соответственно, не являются импликантами данной функции.

Определение 4.3. Пусть K - импликанта функции f(x).

 

 

n

 

e

валом функции f, соответствующим импликанте K.

Другими словами,

интервал

носитель конъюнкции.

e

 

- это e

 

49

Определение 4.4. Если вершина булевого куба является подмножеством интервала, говорят, что вершина покрывается интервалом.

Определение 4.5. Интервал, не содержащийся ни в каком другом интервале функции f, называется максимальным интервалом.

Максимальные интервалы функции f взаимно однозначно соответствуют её простым импликантам.

Определение 4.6. ДНФ, являющаяся дизъюнкцией.всех простых

импликант, называется сокращенной ДНФ (обычно обозначается

ДНФсокр ).

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

Из определения следует, что сокращенная ДНФ для каждой логи-

 

 

 

 

 

 

 

 

 

 

В

П

 

 

 

 

 

 

 

ческой функции определяется однозначно.

 

 

 

 

 

 

 

 

 

 

 

Определение 4.7. Импликанта называется

 

 

 

 

А

 

 

 

 

избыточной., если после

 

Барашев

 

 

 

 

 

 

.

 

 

 

 

 

 

 

её удаления получается ДНФ, реализующая ту же самую функцию,

что и исходная ДНФ.

 

 

 

 

 

 

 

С

 

 

 

 

 

 

 

 

 

 

Пример 4.3. Рассмотрим функцию

 

 

 

 

 

 

 

 

2 x1

 

2x3 x2x4

 

fднф1

(x) = x1

 

 

 

x

x

 

 

 

 

Унучек

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

из замечания 3.3 на стр. 29.

 

 

можно представить также в

Мы уже показали, что эту функцию

 

 

 

 

e

 

 

 

 

 

 

 

 

 

 

 

 

 

e

 

 

 

МИРЭА

 

 

 

 

 

 

виде

fднф2

(x) = x1

x

2

x2x4. Значит, импликанта

 

 

 

 

K1 = x1

x

2x3 -

избыточна для функции f.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Удаление

любой из импликант K

2

= x

x

2

и

K

3

= x

x

4

 

при-

 

e

 

 

 

 

 

1

 

 

 

 

 

 

 

2

 

 

 

водит к функциям, не тождественным исходной функции f (убедиться в этом можно, сравнив носители функций). Поэтому K1 и K2 не являются избыточными для f.

Определение 4.8. Простая импликанта K называется ядровой, если

существует хотя бы один набор α такой, что

K(α) = 1, и в то же

время K

(α) = 0,

 

K

= K,

где K

 

- простая импликанта для

функции f.i

 

 

i ̸

e

 

i

 

e

Используя понятие избыточной импликанты, можно определить

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

50