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

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

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

αm = 1

 

m = 0

 

 

 

 

α

 

 

 

 

 

 

 

 

m · f(α1, . . . , αm−1, 0, αm+1, . . . , αn)

 

 

 

 

 

α

 

 

 

 

αm · f(α1, . . . , αm−1, 1, αm+1, . . . , αn) =

 

 

 

 

 

=

1

· f(α1, . . . , αm−1, 0, αm+1, . . . , αn)

 

 

 

 

1 · f(α1, . . . , αm−1, 1, αm+1, . . . , αn) =

 

 

 

 

 

= 0 · f(α1, . . . , αm−1, 0, αm+1, . . . , αn)

 

 

 

 

1 · f(α1, . . . , αm−1, 1, αm+1, . . . , αn) =

 

 

 

 

 

= f(α1, . . . , αm−1, 1, αm+1, . . . , αn) =

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

= f(α1, . . . , αm−1, αm, αm+1, . . . , αn).

 

 

 

 

 

 

 

 

П

 

и A 0 = A.

При выводе мы использовали тождества 1·A = A, 0·A = 0

Итак, мы получили:

.

 

 

В

 

 

 

f(α1, α2, . . . αn) =

 

.

 

 

 

 

=αm · f(α1, . . . , αm−1, 0, αm+1, . . . , αn)

αm · f(α1, . . . , αm−1, 1, αm+1, . . . , αn) =

=f(α1, α2, . . . , αm−1, αm, αm+1, . . . , αn).

Так как α - произвольный двоичный набор, равенство (3.1) выполня-

ется для всех α Bn, и, значит, является тождеством. Заметим, что

xmm = 1 e

xm = σm. Тогда тождество (3.1) можноСпредставить следу-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ющим образом:e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f(x1, . . . , xm−1, xm, xm+1, . . . , xn) =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= x m f(x

, . . . , x

m−1

, σ

m

, x

m+1

, . . . , x

).

 

 

 

 

 

 

m

1

 

 

 

 

n

 

 

Барашев

 

 

 

 

 

 

 

 

 

 

 

Аналогично доказываются две следующие теоремы.

 

 

 

 

Теорема

3.2. О разложении функции по нескольким переменным

Всякую функцию

 

алгебры логики f(x1, x2, . . . , xn)

при

любом m

 

 

 

Унучек

 

 

 

 

 

 

 

 

 

(1 6 m 6 n) можно представить в виде

 

 

 

 

 

 

 

 

 

f(x1, x2, . . . , xm−1, xm, xm+1, . . . , xn) =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

МИРЭА

 

 

 

 

=

; 2;:::; m

1

; m)

m x11 x22 · · · xmm11 xmm f(σ1, σ2

, . . . , σm−1, σm,

 

 

( 1

B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xm+1, . . . , xn),

31

Это равенство называется разложением функции по переменным x1, x2, . . . , xm.

Теорема 3.3. О разложении функции по всем переменным

f(x1, x2, . . . , xn) = σ

n x11 x22 · · · xnn11 xnn f(σ1, σ2, . . . , σn−1, σn).

 

B

 

 

 

 

Если f(x1, x2, . . . xne) ̸≡0,

то,

удалив логические слагаемые, для

которых f(σ1, σ2, . . . σn) = 0,

получим

 

 

f(x1, x2, . . . , xn) = σ

1

2

n−1 n

Nf x1

x2

· · · xn−1.xn .

 

 

 

 

 

 

Найденное разложение

называется Совершенной Дизъюнктивной

 

e

 

 

П

Нормальной Формой (СДНФ).

 

 

 

 

 

 

.

Замечание 3.4. В СДНФ входят элементарные конъюнкции, имею-

щие одинаковый ранг n, где n- количествоВпеременных.

.

 

 

rсднф

= |Nf | · n

 

 

 

 

С

 

 

Замечание 3.5. СДНФ имеет максимальный ранг среди всех ДНФ,

 

реализующих

 

 

 

 

Теорема

 

 

 

ции

левой

 

 

 

 

 

 

 

 

 

 

Доказательство.

 

 

 

 

 

Барашев

 

 

 

1. Пусть функция f(x) ̸≡0. Тогда, согласно теореме 3.3, эту функ-

 

цию можно представить в виде СДНФ, то есть формулы, содер-

 

жащей элементарныеУнучекфункции , &, .

 

 

 

 

e

¬

 

 

2. Если функция являетсяМИРЭАтождественным нулем (f(xe) 0), то её можно представить, например, в виде формулы f(xe) = x1 · x1, являющейся суперпозицией конъюнкции и отрицания.

32

3.2.1Алгоритм построения СДНФ булевой функции

1. Находим носитель функции Nf = e Bn|f(σe) = 1}, то есть те двоичные наборы σ,e на которых значение функции равно 1.

2. Для каждого набора σe из носителя выписываем элементарную конъюнкцию K = x11 x22 · · · xnn .

Если значение i- той координаты в наборе σ равно нулю (σi = 0),

то переменная x

входит в элементарную конъюнкцию с отрица-

нием; если же σii

= 1, то без отрицания.

e

 

 

.

3. Составляем СДНФ, соединяя полученные конъюнкции знаком

дизъюнкции.

 

П

 

 

 

 

.

Пример 3.7. Найти СДНФ функции, заданной вектором значений

f = (01001100). Вычислить ранг полученной формулы. .

Решение.

В

e

 

1.Так как длина вектора значений равна 8 = 23, то функция зависит от трех переменных. Представим функцию таблично.С

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Барашев1 0 1

 

 

 

1

 

УнучекМИРЭА

 

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

1

0

0

 

1

1

1

0

 

2.Подчеркнем все наборы носителя и сопоставим каждому набору σe Nf элементарную конъюнкцию.

33

 

x

y

z

 

f

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0

 

0

 

K1 = x0y0z1 =

 

 

 

 

 

 

 

 

 

 

0

0

1

 

1

 

 

·

 

 

· z

 

 

x

y

 

0

1

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

1

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

0

 

1

 

 

 

1

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= x ·

 

· z

 

 

K2 = x1y0z1

y

1

0

1

 

1

 

 

 

 

 

 

 

K3 = x y z = x · y · z

 

1

1

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

1

 

0

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

3. Выписываем СДНФ:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

fсднф = K1 K2 K3 =

 

·

 

· z x ·

 

·

 

x ·

 

· z

x

y

y

z

y

и вычисляем её ранг

r

сднф

= 9.

 

В

 

П

.

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

ной. ТакБарашевкак f(x) ̸≡1, то f(x) ̸≡0, и, значит, функцию f(x) можно

3.3

Совершенная

конъюнктивная нормальная

 

 

С

 

форма

f(x1

, x2, . . . , xn) Унучек= σ Nf x1 x2 · · · xn−1 xn =

Теорема 3.5. Любая функция алгебры логики, отличная от тож-

дественной единицы (f(x) ̸≡1), может быть представлена в виде

 

 

 

f

 

 

 

 

 

 

 

· · ·

 

 

 

 

 

 

формулы f(x1, x2, . . . , xn) =

 

 

 

 

 

 

 

 

 

 

 

 

 

n 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xnn ).

 

 

 

(x11

 

x22

 

xn

1

 

 

 

 

 

 

 

 

 

МИРЭА

 

 

 

 

Такое

 

 

 

N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

представление

 

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ной Конъюнктивной Нормальной Формой (СКНФ).

Доказательство. Рассмотрим функцию, f(x) противоположную дан-

 

 

e

 

 

 

 

e

 

 

 

e

 

 

 

 

e

представить в виде СДНФ:

 

 

 

 

 

 

 

 

 

 

 

 

 

e

 

 

 

 

1

2

n−1

n

 

xnn−11 xnn (3.2)

 

 

 

 

 

 

 

 

 

 

 

=

 

 

x11 x22

· · ·

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

σ

Nf

 

Логическое тождество

A = B

не

изменится, если к обеим его частям

 

 

 

 

 

e

 

 

 

 

 

 

 

 

 

 

 

применить операцию отрицания, то есть, A = B

 

 

 

 

A = B.

34

 

Проинвертируем обе части равенства (3.2):

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f x11 x22 · · · xnn11 xnn

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f(x1

, x2, . . . , xn) = σ

 

 

 

 

 

 

 

N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

К левой части тождества

применим закон двойного отрицания

 

 

 

 

 

 

 

 

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f(x) = f(x),

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а к правойзаконы де Морганаe(см.

пункт 4

на стр. 19)

 

 

 

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

y

,

 

 

 

 

П

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{ x y = x y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

.

 

 

 

 

 

обобщив их на произвольное количество переменных

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i=1

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i=1;:::;m xi

 

=

 

 

 

;:::;m xi

 

 

 

 

 

 

А

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Барашевf(x) = σ Nf (x1 x2 · · ·

 

 

 

 

 

xn ).

 

 

 

 

xn−1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i=1;:::;m xi

= i=1;:::;mВxi

.

 

 

 

 

 

 

 

 

Получим

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 2

 

 

 

n−1 n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

2

 

 

 

 

 

 

 

n−1

 

 

n

 

 

e

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e

 

 

 

 

 

 

 

(x1Сx2 · · · xn−1 xn )

Nf x1

x2

· · · xn−1 xn =

Nf

f(x) =

σ

σ

 

 

 

 

 

 

 

Унучек

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Так как

 

 

 

 

 

 

 

 

 

 

 

 

 

 

МИРЭА

 

 

 

 

 

 

 

 

 

x

= x 1 = (x σ

1)

1 = x (σ

1) 1 = x

 

σ

1 = x

 

,

окончательно получим:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n−1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e

 

 

 

 

 

 

 

 

 

 

1

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Замечание 3.6. rсднф+rскнф = 2n, где n- количество переменных.

35

3.3.1Алгоритм построения СКНФ булевой функции

1. Находим

дополнение

к

носителю

функции

 

 

 

 

e

e

0}, то

есть те двоичные

наборы

e

 

на

 

 

Nf

=

Bn|f(σ) =

σ,

которых значение функции равно 0.

2. Для каждого набора σe из дополнения к носителю выписываем элементарную дизъюнкцию D = x11 x22 · · · xnn .

Если значение i- той координаты в наборе

σ равно единице

 

 

 

.

(σ = 1), то переменная x входит в элементарную конъюнкцию с

отрицанием;i

 

П

 

если же σi =i 0, то без отрицания.

e

 

 

.

 

 

3. Составляем СКНФ, соединяя полученные дизъюнкции знаком

конъюнкции.

 

 

А

 

 

 

Пример 3.8. Представить функцию f = (01001100) из примера 3.7 в

виде СКНФ.

e В

.

.

Решение.

 

 

 

 

 

 

1.Подчеркнем все булевы двоичные наборы, принадлежащие допол-

нению к носителю и сопоставим каждому набору σe Nf элементарную дизъюнкцию. С

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Барашев

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

УнучекD5 = x y z = x

 

 

 

 

 

 

 

1

0 0

 

 

 

1

y

z = x y z

1

1

1

 

 

 

 

0

 

x

y

z

 

 

 

 

f

 

МИРЭА

0

скнф

 

 

 

 

0

0

0

 

 

 

 

D1 = x0

y0

z0

= x1

y1

z1 = x y z

0

0

1

 

 

 

 

1

D2 = x0 y1 z0 = x1 y0 z1 = x y z

0

1

0

 

 

 

 

0

0

1

1

 

 

 

 

0

D3 = x0 y1 z1 = x1 y0 z0 = x y z

1

0

1

 

 

 

 

1

D4 = x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

0

 

 

 

 

0

1

y

1

z

0

= x0 y0 z1 =

 

 

 

z

 

 

 

 

x

y

 

 

 

 

 

 

 

 

 

 

1

1

1

0

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. Получаем СКНФ:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f

 

 

= D1&D2&D3&D4&D5 =

 

 

 

 

 

 

 

 

= (x y z)(x y z)(x y z)(x y z)(x y z). (3.3) Её ранг равен 15.

36

Пример 3.9. Построить таблицу истинности, найти носитель функции, СДНФ и СКНФ булевой функции, заданной формулой

f(x, y, z) = ((x ↓ z) (y z)) | (x y)&(z → x).

Решение.

1. Установим порядок выполнения двоичных функций

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

 

 

 

 

 

 

 

 

1

3

2

 

8

 

4

 

6

 

5

 

f(x, y, z) = ((x ↓ z) (y z)) |((x

 

 

.

 

y) &

(z

→ x))

2. Разобьем формулу на элементарные функции:

 

 

 

 

 

 

 

 

 

 

 

f1 = x ↓ z

 

 

.

 

 

 

 

 

 

 

f2 = y z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f3

= f1 f2

0

0

 

1

1

 

Барашев0 0 1 0 0 0

0

 

 

 

 

 

 

 

 

 

 

 

f4

= x yВ

 

.

 

 

 

 

 

 

 

 

 

f5

= z → x

 

 

С

А

 

 

 

 

 

 

f6 = f4&f5

 

 

 

 

 

 

 

 

 

 

 

f7 = f6

| f7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f8

= f3

 

 

 

 

 

 

 

 

 

 

 

Унучек

 

 

 

 

 

 

 

 

 

3. Вычислим значение элементарных функций f1, . . . , f8 на всех

двоичных наборах:

 

 

МИРЭА

 

 

 

 

 

x y z

 

f1

f2

f3

f4

 

f5

f6

f7

f8

 

 

 

 

0

0

0

 

1

1

0

0

 

1

0

 

1

1

 

 

 

0

1

0

 

1

0

1

1

 

1

1

 

0

1

 

 

 

0

1

1

 

0

1

1

1

 

0

0

 

1

0

 

 

 

1

0

0

 

0

1

1

1

 

1

1

 

0

1

 

 

 

1

0

1

 

0

0

0

1

 

1

1

 

0

1

 

 

 

1

1

0

 

0

0

0

1

 

1

1

 

0

1

 

 

 

1

1

1

 

0

1

1

1

 

1

1

 

0

1

 

 

 

4. Таблица истинности Tf заданной функции:

37

 

 

 

 

x

y

z

 

f

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0

 

1

 

 

 

 

 

 

 

 

 

 

 

 

0

0

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

0

1

0

 

1

 

 

 

 

 

 

 

 

 

 

 

 

0

1

1

 

0

 

 

 

 

 

 

 

 

 

 

 

 

1

0

0

 

1

 

 

 

 

 

 

 

 

 

 

 

 

1

0

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

1

1

0

 

1

 

 

 

 

 

 

 

 

 

 

 

 

1

1

1

 

1

.

 

 

 

 

 

 

 

 

 

5. Сопоставим всем наборам носителя элементарные конъюнкции:

 

x

y

z

f

 

K1 =.x ·

П

 

 

 

 

 

 

 

 

0

0

0

1

 

 

 

 

 

 

 

 

 

 

 

y · z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

0

0

1

1

 

 

K2 =

x

·

y

· z

 

 

 

 

 

 

 

K3

 

 

0

1

0

1

 

=

 

· y ·

 

 

 

 

 

x

z

 

 

 

 

 

 

 

 

 

В

 

0

1

1

0

 

 

 

 

1

0

0

1

 

 

K4 = x ·

 

·

 

 

 

 

 

y

z

 

 

 

 

 

 

 

K5 = x ·

 

.· zА

1

0

1

1

 

 

 

y

 

 

 

 

 

 

K6 = x · y ·

 

 

 

1

1

0

1

 

 

 

 

z

 

 

 

 

 

 

 

K7 =Сx · y · z

 

1

1

1

1

 

 

7.Найдем СКНФУнучекзаданнойМИРЭАфункции. Она совпадает с элементарной дизъюнкцией, соответствующей единственному набору, на котором функция принимает нулевое значение.Барашев

Замечание 3.7. Очевидно, что порядок выполнения операций алгебры логики может задаваться, вообще говоря, не единственным образом. Так, в приведенном выше примере возможен и такой порядок

38

действий:

 

 

 

 

 

7

 

1

6

2

8

3

5

4

f(x, y, z) = ((x ↓ z) (y z)) |(x y) & (z → x) .

3.3.2Выражение сложения по модулю 2, эквивалентности

иимпликации через другие элементарные функции

Используя алгоритмы представления функций в виде.СДНФ и СКНФ, выразим основные элементарные функции через дизъюнкцию, конъюнкцию и отрицание:

1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x y = (xy

) (xy) = (x y)&(x y)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В

 

П)&(

 

 

 

.

 

2.

 

x

y = x y = xy (

 

&

 

 

) = (.x y

 

 

y)

 

 

x

y

x

 

3.

 

 

 

 

 

x → y =

 

y.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

Барашев

 

 

 

 

 

 

 

А

 

 

 

 

 

 

 

.

 

 

 

3.4

Многочлен Жегалкина

 

 

С

 

 

 

 

 

 

Определение 3.7. Многочленом Жегалкина называется формула

вида

 

 

Унучекf1(x) = 1 x1 x1x2x3;

 

 

 

 

 

 

 

 

 

P (x) =

 

 

 

 

 

 

 

 

 

 

 

 

МИРЭА

 

 

 

 

 

· · · xn.

= a0e a1x1 a2x2 . . . anxn a12x1x2 a13x1x3

. . . a12:::nx1x2

Другими словами, многочлен Жегалкина - сумма по модулю два попарно различных элементарных конъюнкций, не содержащих отрицаний переменных (многочлен по модулю 2).

Пример 3.10. Многочленами Жегалкина являются следующие формулы:

e

f2(xe) = x1x2 x1x3.

Теорема 3.6 (И.И.Жегалкина). Всякая булева функция представима в виде многочлена Жегалкина, причем единственным образом (с точностью до порядка слагаемых и порядка сомножителей в конъюнкциях).

39

Доказательство. Если функция f(x) ≡ const, то она уже представ-

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

 

 

 

 

Пусть

f(x)

const,

 

тогда

функцию можно представить в виде

e

̸≡

 

 

 

 

e

 

 

 

 

СДНФ:

 

 

 

 

1

2

 

n−1

n

 

 

f(x) =

σ

Nf x1

x2

 

· · · xn−1 xn .

Учитывая, что

e

 

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x · x

 

= 0,

 

 

получаем

 

1

 

2

 

n

 

 

 

1

 

2

n

 

 

 

 

 

 

 

 

 

) 0

 

 

(x1

x2

· · · xn

)(x1

x2

· · · xn

при (α1, α2, . . . , αn) ̸= (β1, β2, . . . , βn).

 

 

 

П

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

.

Поскольку первые 3 строки таблиц истинности для функций двух

переменных "дизъюнкция"

и "сложение по модулю 2" совпадают,

 

 

 

 

 

 

 

 

 

 

 

 

В

 

то x y = x y при x · y = 0. Поэтому, учитывая, что в СДНФ нет

одинаковых логических слагаемых, булеву функцию "дизъюнкция" в

СДНФ можно заменить на функцию "сложение по модулю.2".

f(x)

Барашев= (i1, i2, . . . , k)αi1i2::: k xi1 · xi2 · · · xik ,

αi1i2::: k {0, 1}.

Функция принимает вид

 

 

 

 

 

 

А

 

 

 

 

 

1

2

 

n−1

n

 

 

 

f(x) = σ Nf x1

x2

· · · xn−1 xn..

 

Используя равенствоex = x σ

 

1, заменяем в полученной формуле

x

x σ 1.

e

 

 

 

С

 

x x = 0,

все на

Унучек

 

 

 

 

 

Раскрываем скобки; учитывая тождество

приводим подобные, вычеркивая пары одинаковых слагаемых. В результате этих преобразований получим многочлен Жегалкина.

равно числу всех подмножествМИРЭАмножества конъюнкций, то есть 22n . Таким образом, число всех многочленов Жегалкина, зависящих от n переменных, равно числу всех булевых функций n переменных (см. теорему 2.2). Из этого, как следствие, делаем вывод о единственности представления булевой функции многочленом Жегалкина.

Существование многочлена Жегалкина доказано. Докажем его

единственность.

В общем виде многочлен Жегалкина можно представить формулой

e

Число различных конъюнкций xi1 · xi2 · · · xik равно числу всех подмножеств из n элементов, то есть 2n. Число различных многочленов

40