Файл: Дискретная математика.pdf

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

4.3 Аналитическое представление булевых функций

71

2. Закон склеивания

xy ∨ xy

x.

3. Закон обобщённого склеивания

xz ∨ yz ∨ xy

xz ∨ yz.

Доказательство: применим склеивание в обратную сторону (расщепление)
и поглощение:

xz ∨ yz ∨ xy

xz ∨ yz ∨ xyz ∨ xyz xz ∨ yz.

4. Закон Порецкого

∨ xy

∨ y.

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

∨ xy

xy ∨ xy ∨ xy xy ∨ xy ∨ xy ∨ xy ∨ y.

Приведение булевых функций к дизъюнктивной нормальной форме (ДНФ)

и к совершенной дизъюнктивной нормальной форме (СДНФ).

Элементарными конъюнкциями называются конъюнкции переменных или их

отрицаний, в которых каждая переменная или её отрицание встречается не более
одного раза.

ДНФ называется формула, имеющая вид дизъюнкции элементарных конъюнк-

ций (ДНФ функции может быть не единственной).

Приведение к ДНФ.

1. С помощью двойного отрицания

(x) и правил де Моргана все отрица-

ния «спускаются» до переменных.

2. Раскрываются скобки (применяя свойства): а) xx

x; б) ∨ (идемпо-

тентность); в) xx

= 0 (закон противоречия) и г) x= 1 (закон исключённого

третьего).

3. Удаляются лишние конъюнкции и повторения переменных.

4. Удаляются константы (применяя свойства констант).

. . . . . . . . . . . . . . . . . . . . . .

Пример 4.7

. . . . . . . . . . . . . . . . . . . . .

Привести к ДНФ выражение xy ∨ x

(∨ xz)(x(∨ z) ∨ yz).

Решение:
1) преобразуем выражение

((x(∨ z) ∨ yz));

x

(∨ z) ∨ yz = (x(∨ z)) ⋅ y z = (∨ (∨ z)) ⋅ (∨ z) = (∨ ⋅ z)(∨ z) = (x y ∨ x z 

yy z ∨ yz

) = (x y ∨ x z ∨ yz);

2) подставим полученное выражение в исходное и продолжим преобразования:
xy 

(xy ∨ xxz)(x y ∨ x z ∨ yz) = xy ∨ xy(x y ∨ x z ∨ yz) = xy ∨ xyy ∨ xyz ∨ xyz xy ∨ xyz =

y

(∨ x z) = y(∨ xz ∨ xz) = yx ∨ yz.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


background image

72

Глава 4. Переключательные функции

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

содержат не все переменные

(xy xyz ∨ xyz), например: xy ∨ xyz xyz ∨ xyz ∨ xyz.

4.3.1 Булева алгебра функций и эквивалентные
преобразования в ней

Все эквивалентные преобразования в булевой алгебре проводятся с помощью

основных эквивалентных соотношений (законов):

1) ассоциативность;

2) коммутативность;

3) дистрибутивность:

а) относительно дизъюнкции;

б) относительно конъюнкции;

4) идемпотентность ⋅ x

x∨ x;

5) закон двойного отрицания x

x;

6) свойства констант 0 и 1:

а) ⋅ 1

x; б) ∨ 1 = 1; в) 0 = 1;

б) ⋅ 0

= 0; д) ∨ 0 = x; е) 1 = 0;

7) правила де Моргана

а) x

1

x

2

x

1

x

2

;

б) x

1

x

2

x

1

x

2

;

8) закон противоречия ⋅ x

= 0;

9) закон исключённого третьего ∨ x

= 1.

Данные эквивалентные соотношения отличаются тем, что:

1) они не выводимы друг из друга — убедиться в их справедливости можно,

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

2) этих соотношений достаточно для выполнения любых эквивалентных пре-

образований логических формул.

Упрощение формул.
Наряду с основными соотношениями для упрощения формул также исполь-

зуются эквивалентные соотношения, выводимые из основных с помощью эквива-
лентных преобразований:

• поглощение

а) ∨ xy

x; б) x

(∨ y) = x;

• склеивание

xy ∨ xy

x;


background image

4.3 Аналитическое представление булевых функций

73

• обобщённое склеивание

xz ∨ yz ∨ xy

xz ∨ yz;

∨ xy

∨ y.

Правила приведения к ДНФ.
Элементарная конъюнкция — это конъюнкция переменных или их отрицаний,

в которой каждая переменная встречается не более одного раза.

Примеры ДНФ.

1) yz ∨ xy ∨ xz ∨ xy z;

2) yz ∨ xy ∨ xz ∨ xyz.

Все процедуры приведения к ДНФ основаны на законах булевой алгебры и сво-

дятся к следующему:

1) все отрицания «спустить» до переменных;

2) раскрыть скобки с помощью основных эквивалентных преобразований;

3) удалить лишние конъюнкции и повторения переменных в конъюнкциях

с помощью основных законов булевой алгебры (идемпотентность, проти-
воречия, исключённого третьего);

4) удалить константы, применяя закон «свойства констант 0 и 1».

Процедура приведения к КНФ.
Элементарной дизъюнкцией называется дизъюнкция переменных или их отри-

цаний, в которой каждая переменная встречается не более одного раза.

КНФ называется конъюнкция элементарных дизъюнкций.
Пример булевой функции, заданной в КНФ:

(∨ y)(∨ z)(∨ ∨ z).

Процедура приведения булевой функции от ДНФ к КНФ:

1. Применить к формуле правило двойного отрицания:

F

K

1

K

2

. . . ∨ K

m

и привести K

1

K

2

. . . ∨ K

m

к ДНФ K

1

K

2

. . . ∨ K

p

,

где K

1

K

2

. . .K

p

— элементарные конъюнкции. Тогда: F

K

1

K

2

. . .K

m

=

K

1

K

2

. . . ∨ K

m

K

1

K

2

. . . ∨ K

p

.

2. С помощью правил де Моргана освободиться от второго отрицания и пре-

образовать отрицания элементарных конъюнкций в элементарные дизъ-
юнкции D

1

D

2

. . .D

p

. Тогда

F

K

1

K

2

. . . ∨ K

p

K

1

K

2

. . . ⋅ K

p

D

1

D

2

. . .D

p

.

4.3.2 Представление переключательных функций в виде
многочленов

Конституентой «1» называется переключательная функция аргументов, кото-

рая принимает значение «1» только на одном наборе аргументов. Число различных
конституент «1» среди функций аргументов равно 2

n

. Так, для n

= 2 это f

1

f

2

f

4

и f

8

.


background image

74

Глава 4. Переключательные функции

Обычно конституенты «1» выражают через произведение всех аргументов,

каждый из которых входит в произведение либо x

i

, либо x

i

.

Теорема Жегалкина.
Любая переключательная функция может быть представлена в виде полинома

f

(x

1

x

2

. . .x

n

) = a

0

a

1

x

1

a

2

x

2

. . . ⊕ a

n

x

n

+

. . . a

n

+1

x

1

x

2

+

. . . a

n

x

1

x

2

. . .x

n

, (4.4)

где a

0

a

1

. . .a

n

— некоторые константы, равные «0» или «1». Знак ⊕ означает опе-

рацию сложения по модулю 2:

• ⊕ 0

x;

• ⊕ 1

x;

• ⊕ x

= 0 (если чётное число переменных);

• ⊕ ⊕ x

(если нечётное число переменных);

• ⊕ y

⊕ x;

∨ y

x y =

(⊕ 1)(⊕ 1) ⊕ 1 = xy ⊕ ⊕ y.

При записи конкретной функции коэффициенты a

0

a

1

. . .a

n

выпадают, так как

члены, при которых a

i

= 0, можно опустить, а коэффициенты, равные 1, — не писать.

Доказательство. Пусть задана произвольная переключательная функция f

(x

1

,

x

2

. . .x

n

), равная «1» на некоторых наборах с номерами m

1

m

2

. . .m

p

. Очевидно,

что f

(x

1

x

2

. . .x

n

) можно записать:

f

(x

1

x

2

. . .x

n

) = K

m

1

+

K

m

2

+

. . . K

m

p

= 1,

(4.5)

где K

m

i

— конституента «1».

Так, для набора с номером m

i

получаем

K

m

1

+

K

m

2

+

. . . K

m

i

+

. . . K

m

p

= 0 + 0 + . . . + 1 + . . . + 0 = 1.

От формулы (4.5) легко перейти к формуле (4.6), если представить K

m

i

в виде

произведений и заменить все переменные с отрицаниями, используя соотношения
x

⊕ 1 (так как отрицания не входят в (4.4)).

Пусть K

i

x

1

x

2

x

3

x

4

. Получим K

i

=

(x

1

1

)x

2

x

3

(x

4

1

)Далее, используя соот-

ношения для конъюнкции:

⎧⎪⎪⎪⎪

⎪⎪⎪⎪⎪

⎪⎪⎪⎪⎪

⎪⎪

⎨⎪⎪⎪

⎪⎪⎪⎪⎪

⎪⎪⎪⎪⎪

⎪⎪⎪⎩

⋅ 0

= 0;

⋅ 1

x;

⋅ x

x;

⋅ ⋅ . . . ⋅ x

x;

xy

yx;

xx

= 0;

x

(z) = xy xz − дистрибутивность,

(4.6)

и приводя подобные члены в соответствии с соотношениями (4.6)–(4.7):

⊕ ⊕ . . . ⊕ x

´¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¶

n

=

⎧⎪⎪

⎨⎪⎪

0,

при четном,

1,

при нечетном.

(4.7)


background image

4.4 Функционально полные системы

75

. . . . . . . . . . . . . . . . . . . . . .

Пример 4.8

. . . . . . . . . . . . . . . . . . . . .

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

14

(x,y).

f

14

x y ∨ xy ∨ xy.

Решение:
f

14

K

0

K

1

K

2

x y ⊕ xy ⊕ xy =

(⊕ 1)(⊕ 1) ⊕ (+ 1)⊕ x(+ 1) = 1 ⊕ ⊕ 

⊕ ⊕ xy ⊕ xy ⊕ xy

= 1 ⊕ xy.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.4 Функционально полные системы

Система функций

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

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

∑, т. е. являться

суперпозицией функций из

∑.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Всякая логическая функция может быть представлена булевой
формулой, т. е. как суперпозиция дизъюнкции, конъюнкции и от-
рицания.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Действительно, для всякой логической функции, кроме константы «0», таким

представлением может служить её СДНФ. (Дизъюнкция конституент «1», равных
«1» на тех же наборах, что и заданная функция, называется СДНФ переключа-
тельной функции
.)

Константу «0» также можно представить булевой формулой xx.
Из теоремы следует, что система

∑ = {&, ∨, ¬} является функционально полной:

f

(x

1

x

2

. . .x

n

) = K

j1

K

j2

. . . ∨ K

jm

,

где K

ji

— это наборы переменных, где функция принимает значение «1». СДНФ

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

Согласно принципу двойственности, справедливому в алгебре Буля, имеем сле-

дующий вывод: любая булева функция f

(x

1

x

2

. . .x

n

) может быть представлена

в виде конъюнкции дизъюнкций её аргументов на тех наборах их значений, на
которых f

(x

1

x

2

. . .x

n

) принимает значение «0». Таким представлением булевой

функции служит совершенная конъюнктивная нормальная форма (СКНФ).

Представление булевых функций двух аргументов в формах СДНФ и СКНФ

приведены в таблице 4.4.