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

Основы дискретной математики

.pdf
Скачиваний:
331
Добавлен:
05.06.2015
Размер:
1.93 Mб
Скачать

◄ Имеем девять элементарных конъюнкций над переменными { x, y} : 1,

x , x , y , y , xy

, xy , xy , x y . Относительно каждой из них выясним, является ли она импликантой, и

если это так, то простая ли она.

 

Для удобства дальнейших рассуждений перечислим значения функции f

на всех

наборах значений переменных: f (0,0) =1, f (0,1) =1, f (1,0) = 0 , f (1,1) =1 .

1 импликантой не является, так как обращается в 1 на всех наборах, в то время как f (1,0) = 0 .

x не является импликантой f , так как на наборе (1,0) она обращается в 1, в то время

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

x обращается в 1 на наборах (0,0) , (0,1) , и на каждом из этих наборов f также равна

1, следовательно, x - импликанта f . Эта импликанта простая, так как конъюнкция 1,

полученная из нее путем удаления x , импликантой не является.

y обращается в 1 на наборах (0,1) , (1,1) , и на каждом из этих наборов f также равна 1,

следовательно, y - импликанта f . Эта импликанта простая, так как конъюнкция 1,

полученная из нее путем удаления y , импликантой не является.

y обращается в 1 на наборах (0,0) и (1,0) , а f (1,0) = 0 , следовательно, y не является

импликантой f .

xy обращается в 1 на одном наборе (1,1), и f (1,1) =1 , следовательно, xy - импликанта f . Однако простой эта импликанта не является, так как конъюнкция y , полученная из

нее путем удаления буквы x , является импликантой.

xy обращается в 1 на одном наборе (0,1) и f (0,1) =1, следовательно, xy - импликанта f . Однако простой эта импликанта не является, поскольку конъюнкция x , полученная

из нее путем удаления буквы y , является импликантой.

 

 

xy обращается в 1 на наборе (1,0) , а

f (1,0) = 0 , следовательно,

xy

не является

импликантой f .

 

 

 

x y обращается в 1 на наборе (0,0) ,

f (0,0) =1, следовательно,

x y

импликанта f .

Однако простой эта импликанта не является, так как конъюнкция x , полученная из нее путем удаления y , является импликантой.

PDF created with pdfFactory Pro trial version www.pdffactory.com

Таким образом, функция f имеет две простые импликанты: x и y .

Упражнение 2.18. Перечислить все простые импликанты функции f (x, y) = (1011) .

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

Например, для функции f (x, y) = x y (см. пример 3) сокращенная ДНФ имеет вид

x y .

Из определения сокращенной ДНФ непосредственно следует, что сокращенная ДНФ у функции единственна.

Справедливо следующее утверждение: сокращенная ДНФ функции f (x1, x2 ,..., xn )

задает функцию f (x1, x2 ,..., xn ) (доказательство приведено во второй части параграфа).

Более того, оказывается, что почти всегда можно реализовать функцию дизъюнкцией лишь некоторых (не всех!) простых импликант. В связи с этим уместно ввести понятие тупиковой ДНФ.

Определение. Тупиковой ДНФ функции называется такая реализующая ее дизъюнкция простых импликант, из которой нельзя удалить ни одну простую импликанту так, чтобы полученная после удаления ДНФ все еще задавала функцию.

Имеет место следующий теоретический факт: минимальная ДНФ функции является тупиковой ДНФ (доказательство приведено во второй части параграфа).

3. Построение минимальных ДНФ. Рассмотрим алгоритм построения минимальных ДНФ функции, исходя из СДНФ. Обоснование данного алгоритма можно найти в [1].

Алгоритм состоит из трех этапов: сначала получают сокращенную ДНФ, далее строят все тупиковые ДНФ и, наконец, из тупиковых ДНФ выделяют минимальные.

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

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

а) операция неполного склеивания, состоящая в замене выражения Kx Kx на

Kx Kx K ;

б) операция поглощения, состоящая в замене выражения K1K2 K1 на K1 ;

в) операция удаления дублируемых членов, состоящая в замене выражения K K на

K .

PDF created with pdfFactory Pro trial version www.pdffactory.com

0-й шаг. Выписываем СДНФ функции. К каждой паре конъюнкций, образующих СДНФ, применяем, если это окажется возможным, операцию неполного склеивания ( Kx Kx заменяем на Kx Kx K ). Затем с помощью операции поглощения

(K Kxσ = K ) удаляем те конъюнкции ранга n, которые возможно удалить таким образом. Убираем дублируемые члены (K K = K ). Полученную в итоге ДНФ обозначаем D1 .

k -й шаг. К началу этого шага нами построена ДНФ Dk . К каждой паре конъюнкций ранга (n k ) этой ДНФ применяем операции неполного склеивания и поглощения,

после чего убираем дублируемые члены. Полученную в результате этой процедуры ДНФ обозначаем Dk +1 . Если Dk +1 совпадает с Dk , то Dk - искомая сокращенная ДНФ.

Впротивном случае, увеличив значение k на единицу, повторяем k -й шаг.

Вкачестве примера построим методом Квайна сокращенную ДНФ функции

g = (10011011) :

g (x1, x2 , x3 )

СДНФ

x1x2 x3

x1x2 x3 x1x2 x3 x1x2 x3

 

=

x1x2 x3

=

= x1x2 x3 x1x2 x3 x1x2 x3 x1x2 x3 x1x2 x3 x2 x3 x2 x3

x1x3 x1x2 = x2 x3 x2 x3 x1x3 x1x2 .

2-й этап: построение тупиковых ДНФ.

Напомним, что сокращенная ДНФ представляет собой дизъюнкцию всех простых импликант функции. Значит, если сокращенная ДНФ функции найдена, то найдена и совокупность всех простых импликант функции.

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

Пусть f - произвольная булева функция. Назовем носителем функции множество булевых векторов, на которых функция f принимает значение 1. Пусть булевы векторы α%1 , α% 2 ,..., α% s - элементы носителя функции f , K1, K2 ,..., Km - совокупность простых импликант функции. Составим таблицу, строки которой соответствуют простым импликантам функции, столбцы - элементам носителя, а в ячейках на пересечении строки Ki и столбца α% j проставлено число σij , равное 1, если импликанта

Ki на наборе α% j обращается в единицу, и равное 0 в противном случае (табл. 2.20).

Назовем эту таблицу импликантной.

PDF created with pdfFactory Pro trial version www.pdffactory.com

По импликантной таблице составим

 

 

 

 

Таблица 2.20

s

æ

ö

 

 

 

 

 

 

 

α%1

...

a% j

α% s

формулу вида

ç Ú

Ki ÷ , т.е.

 

j=1

èi: σij =1

ø

 

 

 

 

 

 

каждому булеву вектору a% j (1≤ j n )

K1

σ11

s1 j

σ1s

 

 

 

 

 

 

 

 

 

 

 

 

 

сопоставим дизъюнкцию тех

импликант, значение которых на a% j

 

 

 

 

 

 

Ki

σi1

sij

σis

 

 

 

равно 1, и запишем конъюнкцию всех

 

 

 

 

 

 

выписанных дизъюнкций.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Составленную таким образом

Km

σm1

smj

σms

 

 

 

 

 

 

формулу преобразуем, используя

 

 

 

 

 

 

 

 

 

 

 

 

законы дистрибутивности, в ДНФ над алфавитом переменных {K1, K2 ,..., Km } . Затем полученное выражение упростим, применив, сколько возможно, операции поглощения и удаления дублируемых членов. В результате всех этих преобразований получим дизъюнкцию различных конъюнкций вида Ki1 Ù Ki2 Ù...Ù Kip . По каждой такой конъюнкции выпишем дизъюнкцию Ki1 Ú Ki2 Ú ... Ú Kip . Все полученные таким образом дизъюнкции представляют собой тупиковые ДНФ функции f .

В качестве примера найдем с помощью приведенного выше алгоритма тупиковые ДНФ функции g = (10011011) . Ранее мы нашли сокращенную ДНФ этой функции,

следовательно, можем выписать совокупность всех простых импликант функции:

K1 = x2 x3 , K2 = x2 x3 , K3 = x1x3 ,

K4 = x1x2 . Составим импликантную таблицу (табл. 2.21).

 

 

 

 

 

 

Таблица 2.21

 

 

 

 

 

 

 

 

 

 

 

 

000

011

100

110

111

 

 

 

 

 

 

 

 

 

 

 

K1 = x2 x3

 

1

0

1

0

0

 

 

 

 

 

 

 

 

 

 

 

K2 = x2 x3

 

0

1

0

0

1

 

 

 

 

 

 

 

 

 

 

 

K3 = x1x3

 

0

0

1

1

0

 

 

 

 

 

 

 

 

 

 

 

K4 = x1x2

 

0

0

0

1

1

 

 

 

 

 

 

 

 

 

 

Тогда

PDF created with pdfFactory Pro trial version www.pdffactory.com

5

æ

Ú

 

ö

= K1K2

(K1

Ú K3 )(K3

Ú K4 )(K2

Ú K4 ) =

 

ç

=1

Ki ÷

j=1

èi: σij

ø

 

 

 

 

 

= K1K2 (K2 K3 Ú K4 ) K4 = K1K2 K3 K1K2 K4 .

Имеем две тупиковые ДНФ, каждая из которых задает функцию g :

K1 K2 K3 = x2 x3 x2 x3 x1 x3

и

K1 K2 K4 = x2 x3 x2 x3 x1x2 .

3-й этап: построение минимальных ДНФ. Минимальные ДНФ функции являются тупиковыми ДНФ. Поэтому, чтобы их найти, достаточно вычислить сложность всех тупиковых ДНФ функции и отобрать из них ДНФ наименьшей сложности (таких ДНФ может оказаться несколько). Они и будут минимальными ДНФ.

 

 

Таблица 2.22

Например, для функции g = (10011011) обе тупиковые

 

 

 

 

 

ДНФ имеют сложность, равную 6, и, следовательно, обе

 

x1

x2

x3

f

 

 

 

 

 

являются минимальными.

 

 

0

0

0

1

Пример 4. Построить минимальные ДНФ функции:

 

 

 

 

 

 

0

0

1

1

а) f = (11101010) ;

 

 

 

 

 

 

 

 

 

 

0

1

0

1

 

 

 

 

 

 

 

 

б) h = (1000100110001011) .

 

 

0

1

1

0

 

 

 

 

 

 

 

 

 

 

◄ а) Зададим функции таблицей

(табл. 2.22).

 

1

0

0

1

 

 

 

 

 

 

 

 

 

1-й этап. Строим сокращенную ДНФ функции:

 

1

0

1

0

 

 

 

 

 

 

 

 

 

СДНФ

 

 

 

 

 

 

f (x1, x2 , x3 ) =

x1x2 x3 Ú x1x2 x3 Ú x1x2 x3 Ú x1x2 x3 Ú x1x2 x3

=

1

1

0

1

 

 

 

 

= x1x2 x3 x1x2 x3 x1x2 x3 x1x2 x3 x1x2 x3 x1x2 x1x3 x2 x3

1

1

1

0

 

 

 

 

x2 x3 x1x3 = x1x2 x1x3 x2 x3 x2 x3 x1x3 =

 

 

 

 

 

 

 

 

 

= x1x2 x1x3 x2 x3 x2 x3 x1x3 x3 x3 = x1x2 x3 .

 

2-й и 3-й этапы для данной функции можно опустить. Действительно, нетрудно убедиться, что при опускании любой буквы в сокращенной ДНФ, получается формула, функцию f не представляющая. Следовательно, сокращенная ДНФ x1 x2 x3 функции f является также тупиковой и минимальной.

PDF created with pdfFactory Pro trial version www.pdffactory.com

б) Зададим функции таблицей

 

(табл. 2.23).

 

 

 

 

 

 

Таблица 2.23

 

 

 

 

 

 

 

 

 

 

 

1-й этап. Построим сокращенную ДНФ

 

 

 

 

 

x1

x2

x3

x4

f

функции:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h = x x x3 x4

x x x3 x4

x x x3 x4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0

1

0

 

 

 

14243

14243

 

14243

 

 

 

 

 

 

 

 

 

1

2

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x x x x x x x x x x x x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

1

0

0

 

 

 

142433 4

142433 4

 

142433 4

 

 

 

 

 

 

 

 

 

4

 

5

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

I

 

 

 

 

 

 

 

 

 

 

 

 

0

0

1

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x x x3 x4

= x x x3 x4

x x x3 x4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

0

0

1

 

 

 

14243

14243

14243

 

 

 

 

 

 

 

 

 

 

7

1

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

0

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x x x3 x4 x x x3 x4

x x x3 x4

 

 

 

 

 

 

0

1

1

0

0

 

 

 

14243

14243

 

14243

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

4

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

1

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x x x3 x4

x x x3 x4

x x x4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

0

0

1

 

 

 

14243

14243

 

123

 

 

 

 

 

 

 

 

 

6

7

 

 

1,2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2 x3 x4

x2 x3 x4 x2 x x4

 

 

 

 

 

 

 

1

0

0

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

123

123

 

123

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1,4

2,5

 

 

3,7

 

 

 

 

 

 

 

 

1

0

1

0

0

 

 

 

 

 

II

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x x x x x x x x x 1

0

1

1

0

x x x x x x x x x = x x x

 

123

123

123 123

 

123

123

123

 

 

 

 

 

3

4

 

4

 

 

3

4

 

2

3

4

2

3

4

2

4

 

 

 

 

 

4,5

 

 

5,6

6,7

8

 

 

 

9

 

 

10

 

 

11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

0

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

III

 

 

 

 

 

 

 

 

 

 

 

 

1

1

0

1

0

x x3 x4

x x x4

x x x = x x3 x4

x2 x3 x4 x2 x x4

 

 

 

 

 

 

 

 

123

123

123

123

123

123

 

 

1

1

1

0

1

12

 

13

 

14

8

 

 

 

9

 

10

 

 

 

x2 x3 x4

x x3 x4 x x x4

x x x x3 x4

x3 x4 =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

123

123

123

123

 

{

 

123

 

 

1

1

1

1

1

 

11

 

12

 

13

 

 

14

 

 

8,12

 

9,10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

IV

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= x2 x3 x4 x1x2 x4 x1x2 x3 x3 x4 .

 

 

 

 

 

 

 

 

 

 

Переход I: операция неполного склеивания применена к парам конъюнкций 1 и 2, 1 и 4,

2 и 5, 3 и 7, 4 и 5, 5 и 6, 6 и 7.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Переход II: применена операция поглощения - каждая из конъюнкций 4-го ранга поглощена какой-то из конъюнкций 3-го ранга.

Переход III: операция неполного склеивания применена к парам конъюнкций 8 и 12, 9 и 10.

Переход IV: применена операция поглощения и убраны дублирующие члены.

Итак, мы нашли сокращенную ДНФ функции: h = x2 x3 x4 x1x2 x4 x1x2 x3 x3 x4 .

PDF created with pdfFactory Pro trial version www.pdffactory.com

2-й этап. Введем обозначения для простых импликант функции: K1 = x2 x3 x4 ,

K2 = x1x2 x4 , K3 = x1 x2 x3 , K4 = x3 x4 . Составим импликантную таблицу (табл. 2.24).

Таблица 2.24

 

 

0000

 

 

0100

 

0111

1000

1100

1110

1111

 

 

 

 

 

 

 

 

 

 

 

 

 

K1 = x2 x3 x4

0

 

 

0

 

1

0

0

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

K2 = x1x2 x4

0

 

 

0

 

0

0

1

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

K3 = x1x2 x3

0

 

 

0

 

0

0

0

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

K4 = x3 x4

1

 

 

1

 

0

1

1

0

0

 

 

 

 

 

 

 

 

 

 

 

 

Тогда

7

æ

Ú

ö

=

 

 

 

 

 

ç

Ki ÷

 

 

 

 

 

 

j=1èi: σij

=1 ø

 

 

 

 

 

 

=K4 Ù K4 Ù K1 Ù K4 Ù (K2 Ù K4 ) Ù (K2 Ú K3 ) Ù (K1 Ú K3 ) =

=K4 K1 (K2 Ù K4 )(K2 Ú K3 )(K1 Ú K3 ) = K4 K1 (K2 K1 Ú K3 ) =

= K1K2 K4 K1K3 K4 .

Таким образом, имеем две тупиковые ДНФ, реализующие функцию h :

K1 K2 K4 = x2 x3 x4 x1x2 x4 x3 x4

и

K1 K3 K4 = x2 x3 x4 x1x2 x3 x3 x4 .

3-й этап. Тупиковые ДНФ функции h имеют одинаковую сложность (равную 8), и, следовательно, обе являются минимальными.

Упражнение 2.19. Построить минимальные ДНФ функции:

а) f = (11011001) ;

б) h = (111100010000 0011) .

Теоретические обоснования

Докажем некоторые утверждения, упомянутые в первой части параграфа.

Теорема 2.6. Сокращенная ДНФ функции f (x1, x2 ,..., xn ) задает функцию f (x1, x2 ,..., xn ) .

PDF created with pdfFactory Pro trial version www.pdffactory.com

Доказательство. Пусть на некотором наборе (α12 ,...,αn ) функция равна 1. Тогда найдется входящая в СДНФ функции элементарная конъюнкция, которая на этом наборе также равна 1. Значит, эта элементарная конъюнкция - импликанта функции. Удалением части букв из этой импликанты можно получить простую импликанту,

которая также будет обращаться в 1 на наборе (α12 ,...,αn ) . Поскольку всякая простая импликанта входит в сокращенную ДНФ, то и сокращенная ДНФ функции f на этом наборе обратится в 1.

С другой стороны, если сокращенная ДНФ функции обращается на некотором наборе

(α12 ,...,αn ) в 1, то хотя бы одна из образующих ее простых импликант на этом наборе также равна 1. А если импликанта на наборе равна 1, то и функция на этом же наборе равна 1, т.е. f (α12 ,...,αn ) =1.

Таким образом, на всяком наборе, на котором функция равна 1, ее сокращенная ДНФ равна 1. И, наоборот, на всяком наборе, на котором сокращенная ДНФ функции равна 1, функция также равна 1. Это означает, что значения сокращенной ДНФ функции f и

самой функции f совпадают при любых значениях переменных x1, x2 ,..., xn .

Теорема 2.7. Минимальная ДНФ функции является дизъюнкцией простых импликант этой функции.

Доказательство. Пусть D - произвольная минимальная ДНФ функции f (x1, x2 ,..., xn ) .

Поскольку D задает f , то все входящие в D элементарные конъюнкции являются импликантами f .

Надо доказать, что они простые. Будем рассуждать от противного. Предположим, что в D входит импликанта K , не являющаяся простой. Опустив часть букв, выделим из K простую импликанту K . Обозначим Dдизъюнктивную нормальную форму, полученную из D заменой K на K .

Докажем, что Dзадает функцию f . Запишем D в виде D = K ( Ki ) . Тогда

D′ = K ( Ki ) . Пусть на некотором наборе (α12 ,...,αn ) f равна 1. Тогда, поскольку f = D , то на этом наборе K или ( Ki ) равна 1. Если K равна 1, то и K равна 1, т.е. на наборе (α12 ,...,αn ) K или ( Ki ) равна 1, откуда Dравно 1. С другой стороны, если на некотором наборе (α12 ,...,αn ) Dравна 1, то хотя бы одна из образующих ее импликант на этом наборе также равна 1, а значит, и f (α12 ,...,αn ) =1.

PDF created with pdfFactory Pro trial version www.pdffactory.com

Таким образом, Dсодержит меньшее число букв, чем D , и при этом реализует функцию f , что противоречит предположению о минимальности исходной ДНФ.

Теорема 2.8. Минимальная ДНФ функции является тупиковой ДНФ.

Доказательство. Будем рассуждать от противного. Предположим, что найдется минимальная ДНФ, которая не является тупиковой. Тогда из этой ДНФ можно удалить хотя бы одну простую импликанту так, чтобы образовавшаяся при этом новая ДНФ по- прежнему реализовала функцию. Но эта новая ДНФ будет иметь меньшую сложность, чем исходная минимальная ДНФ. А это противоречит тому, что сложность минимальной ДНФ наименьшая из возможных.

Задачи повышенной сложности

2.13. Найти число элементарных конъюнкций ранга r над множеством { x1, x2 ,..., xn } ,

обращающихся в единицу на наборе {α12 ,...,αn } .

2.14. Найти число всех элементарных конъюнкций над множеством { x1, x2 ,..., xn } ,

обращающихся в единицу на наборе {α12 ,...,αn } .

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

2.16.Пусть множества X = { x1, x2 ,..., xn } и Y = { y1, y2 ,..., ym } не пересекаются, K -

простая импликанта функции f (x1, x2 ,..., xn ) , а L - простая импликанта функции g ( y1, y2 ,..., ym ) . Показать, что K L - простая импликанта функции f g .

2.17. Назовем число элементарных конъюнкций, образующих ДНФ, ее длиной. Найти длину сокращенной ДНФ функции x1 Å x2 Å ... Å xn .

2.18. Показать, что xi является существенной переменной тогда и только тогда, когда эта переменная явно входит в сокращенную ДНФ функции.

PDF created with pdfFactory Pro trial version www.pdffactory.com

§ 2.4. Классы Поста и замыкание

Функции, сохраняющие 0. Функции, сохраняющие 1. Самодвойственные функции. Монотонные функции. Полином Жегалкина, представление булевой функции полиномом Жегалкина. Линейные функции. Классы Поста. Замыкание системы булевых функций.

Базовые понятия и утверждения

1. Функции, сохраняющие 0; функции, сохраняющие 1. Говорят, что булева функция сохраняет 0, если f (0,0,...,0) = 0 .

Говорят, что булева функция сохраняет 1, если f (1,1,...,1) =1.

Обозначим через T0 ( T1 ) множество всех булевых функций, сохраняющих 0 (1), а через

T0 (n) ( T1 (n) ) множество функций от n переменных, сохраняющих 0 (1).

Пример 1. Определить, принадлежит ли множествам T0 и T1 функция f (x, y, z) = (x ® y) × z .

f (0,0,0) = (0 ® 0) × 0 = 0 , следовательно,

f (x, y, z) = (x ® y) × z ÎT0 ;

f (1,1,1) = (1®1) ×1 =1 , следовательно,

f (x, y, z) = (x ® y) × z ÎT1 .

Упражнение 2.20. Определить, принадлежит ли множествам T0 и T1 функция f (x, y, z) = zx Ú (x ¯ y) .

Несложно убедиться, что функции 0, x , x Ù y, x Ú y, x Å y сохраняют 0, а функции 1, x , x y, x ¯ y, x ® y, x « y не сохраняют 0, функции 1, x , x y, x y, x y, x y сохраняют

1, а функции 0, x , x y, x ¯ y, x Å y не сохраняют 1.

Очевидно, что определения функций, сохраняющих 0 и 1, можно переформулировать следующим образом: функция сохраняет 0, если ее вектор значений начинается нулем, и функция сохраняет 1, если ее вектор значений оканчивается единицей.

Пример 2. Определить число булевых функций от n переменных сохраняющих 0.

PDF created with pdfFactory Pro trial version www.pdffactory.com