Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Элементы дискретной математики. Учебное пособие
.pdf
Лемма о количестве
2
n
{}
{}
fx00
()
fx
()
fx x
()
�
()
216
2
=
01
01
()=()
yx
()
yy
()
yy
()
yx
()
=
yx
()
==
()
=Ъ
()
=®
()
=®
()
=«
xyxy yx«= ®Щ®()()
Количество n-местных БФ равно
Доказательство
А
Всего
� В
функций из А в В). У нас
Пример 1
n=1
x f
0 0 0 1 1
1 1 0 1 0
0
3. Булевы функции
2
.
� Аn=
01,
f
1
f
B =
,
2
01,
f
3
,
Аn=��2
.
=
fx x
=�
2
,
(отрицание х).
=
3
1 — константы,
=
1
;
Пример 2
n=2,
2
x y f0f1f2f3f4f5f6f7f8f9f10f11f12f13f14f
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
fxyfxy
,, ,
fx
,
=
3
fx
,
5
fx
,
10
fx
,
12
fxyx
,
1
;
=
;
=
;
;
Щ
5
=� � �
— константы;
y
(конъюнкция, умножение, «и»);
15
fxyxy
,
7
fxyxy
,
13
fxyyx
,
11
fxyx y
,
9
(дизъюнкция, «или»);
(импликация, «если…, то»);
;
(« эквивалентность, «тогда и только тогда»);
;
31

Элементы дискретной математики
()
=Е
xy
yx
,|
()
()
xy
()
==
()
=®
.)
.)
.)
fy yy y
(,,..)
()
()
()
xy yx�� �Ъ=Ъ
ў
Щ=Щ1.xyyx
yz
()
ЪЪ()
ў
ЩЩ=Щ Щ2.() ()� � xy zx yz
()
ЪЩ=ЩЪЩ�
ў
()
()
fxyxy
,
6
xy
Е=«
(сложение по модулю 2);
;
fx
14
fxyxy
,
8
fxyfxy
,(,)
213
fxyyx
,
4
y
=
=�
(штрих Шеффера);
(стрелка Пирса);
®
;
.
Суперпозиция функций
fxxx x
Если
nn nn nk
123
ffyyyy fyyy yfyyy
(,,..,,..(,,
(,,.
123
, то функция
n
11112131 22122232 12
kknn n
13
fy yy y
,
n
ј
(,,.
hy yy
�, ј
11 12�
k11112131
1
ј
nk
…
=
n
ется суперпозицией этих функций.
Тождества
1.
.
fy yyy
(,,.
y
.. ))
nnnk
3
n
.
…
k22122232
3
называ-
xy zx
Ъ
2.
Ъ=
.
Проверить можно с помощью таблицы:
x Y z
0 0 0 0 0 0 0
0 0 1 0 1 1 1
0 1 0 1 1 1 1
0 1 1 1 1 1 1
1 0 0 1 0 1 1
1 0 1 1 1 1 1
1 1 0 1 1 1 1
1 1 1 1 1 1 1
() ()
xy zxzyz
3.
x Ъ y y Ъ z (x Ъ y) Ъ z x Ъ (y Ъ z)
32
.
Щ
� � � xy zxzyz
Ъ= ЪЩЪ3. ()

3. Булевы функции
xxxЪ=
ў
Щ=4.� � ��xx x
x Ъ=11
ў
Щ=500.� � � x
xxЩ=1
ў
Ъ=600.� � � x
xxЪ=1
ў
Щ=70.� � �xx
xx� �
yy
()
ў
ЪЩ=
� � �
yy
xy
xy
xyЪ
xy
x
y
xyЩ
,;
,.
aab
=«
{}®{}
()
),
{}
()
4.
5.
6.
7.
8.
9.
10.
=
xy
Щ
xy
Ъ=Щ
.
.
.
.
.
Ъ=
.
.
.
.
.
9. ()
.
xy
10ўЩ=Ъ.� � �� xy
.
.
Замечание
Если в тождествах для операций с множествами заменить З на Щ, И на Ъ,
U на 1, Ø на 0 и отрицание на дополнение, то получим 19 тождеств для БФ.
Проверим Закон де Моргана:
x y
0 0 0 1 1 1 1
0 1 1 0 1 0 0
1 0 1 0 0 1 0
1 1 1 0 0 0 0
Ъ
Дизъюнктивная нормальная форма БФ
Обозначение
Замечание:
Лемма 1
Для любой булевой функции
fxxx xx xf
:,,, (, )
12 12 12
по всем наборам
b
ј
=��
nnn
м
п
b
a
=
н
ab
п
о
aa
12
(,
aa a
12
� �
ab
� ��10
.
=
=
fn:, ,01 01
a
n
aa a
n
01
О
n
, для которых
, где дизъюнкция берется
верно тождество
fnaa a
12
1,
=
.
33

Элементы дискретной математики
bb
nn
,,
()
()
,(,)
bb
nn
,,
()
()
,,
()
bb
nn
,,
()
()
nn
,)
bb
nn
,,
()
()
nn
()
{}
№=
bb
10
{}
��
ii
,,
ff
nn
,,
()
()
{}®{}
{}()
nn
�
aa a
О
Sf
()
{}
,.
{}
22
==
2
nn
,,
()
aa a
О
Доказательство
Пусть при
есть дизъюнкт
bb
12
bb bfbb b
вен
12 12
xx xb
xx xfbb b
b
n
�
n
12 12
bb
12
12 12
=
b
n
�
n
1
.
=
Значит и вся правая часть равна 1.
n
левая часть равна 1. В правой части
. При
n
xx xb
12 12
=
он ра-
Пусть при
xx xb
12 12
извольный дизъюнкт из правой части
xx xb
12 12
Если
� �
aa a
12 12
=
$О
in
,,� � aaто
=
=
он равен
ii i
bb b
левая часть равна 0. Рассмотрим про-
aa
12
xx xf
12 12
aa
12
bb bf
12 12
i
0
=
. Т. е. дизъюнкт всегда равен 0. Все дизъюн-
a
n
� ,
, если
a
n
aa a
"О
aa a,(
�
.
1
=��
a
кты в правой части равны 0, значит вся правая часть равна 0.
Теорема
"
nn
:, ,! ,, ,01 01 01
$Ј
ция берется по всем наборам
12 12
(, )
12n
aa
=� �� � �� �fSfxxx xx x
S
.
12
a
nn
, где дизъюнк-
Доказательство
Для доказательства существования такого множества в силу леммы 1 достаточно положить
�
=
aa aaaa
()
12 12
О
n
n
01 1,,
{}
=
n
При этом считаем, что пустое множество S соответствует нулевой булевой функции f.
Для доказательства единственности, заметим, что выражений для правой
,
01
{}
части столько, сколько множеств
SnН
01,
т. е.
b(, )
n
01
{}
. При
�inb
то
n
2
n
n
2
и n-местных БФ тоже
. Каждой правой части соответствует ровно одна
БФ, и каждой БФ соответствует выражение правой части. Если какой-то БФ
соответствует более одного выражения правой части, то на все функции
не хватит таких выражений.
Если
борам
aa
fxxx xx x
12 12
(, )
12n
S
12
=Ъ
, то правая часть равенства называется дизъюнктив-
a
n
, где дизъюнкция берется по всем на-
ной нормальной формой функции f.
34

3. Булевы функции
xy®
ЪЪ
11
x
yxyxyxyxy xy xyЪЪ
,)
()
()
=ЪЪЪxyzxyz xyzxyz
()
zx
()
()
Пример 1
Построим ДНФ для функции
x y
0 0 1
0 1 1
1 0 0
1 1 1
xyxy xy xy®=
:
°° 01
x ® y
Проверка
x y
0 0 1 1 1 0 0 1
0 1 1 0 0 1 0 1
1 0 0 1 0 0 0 0
1 1 0 0 0 0 1 1
Пример 2
У нас есть 3 кнопки. Требуется спроектировать устройство, которое вы-
дает сигнал, когда нажаты хотя бы 2 кнопки.
x y z
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
fxyz(,
fxyz,,
шим запасом деталей, позволяющих вычислять Щ, Ъ и –, то формула
потребуется 8 деталей «Щ», 3 детали «Ъ» и 3 детали «–».
Заметив, что
кратить количество необходимых деталей:
fxyz yz xz xy yx
— функция голосования трех. Теперь, если мы обладаем боль-
fxyz,,
позволяет собрать требуемое устройство. При этом
xyzxyz xy zz xy xyzxyz xyzxyzЪ= Ъ
=ЪЪ=Ъ
==ЪЪи
Ъ �
, можно со-
y,,
(теперь нужно 2«Щ» и 2«Ъ»).
=
35

Элементы дискретной математики
xy
��
{}
xyxyЩ=Ъ
{}
�
xx=Е
ЕЧ
xyyxЕ=Е
yz
()
ЕЕ
()
xxЕ=0
xxЕ=0
()xyzxzyzЕ=Е
xy yx=
()=()
xxЧ=1
xxxx№Ю=Ю =01 1
xx xkxx
Ч=Ю" і=1
()
е
Х
Полиномы Жегалкина
Теорема о ДНФ говорит о том, что любую БФ можно представить в виде
суперпозиции Щ, Ъ и –.
Система БФ А — полная, если любая БФ является суперпозицией функций из А. Например,
xy
из
из
Ъ=Щ
следует, что
следует, что
Щ-
,
— полная система;
Ъ-
,
— полная система.
Любая БФ может быть выражена через Щ, Ъ и –. Но
таким образом, все отрицания, получим выражение через
1
1,
и
, а заменив,
.
Эти функции удовлетворяют следующим тождествам:
1.
xy zx
Е
2.
Е=
3.
4.
5.
9 аксиом двухэлементного поля
Ю <{0, 1}, Е, ·> — поле
6.
xy zxyz
7.
8.
9.
Раскроем в полученном ранее выражении скобки, получим многочлен.
k
Заметим, что
, т. е. в каждом одночлене каждая пе-
ременная стоит в степени 1 или отсутствует. Таким образом, получим тож-
fxxx x
дество вида
,,
=
n
Sn
a
s
is
Нј
12
{}
О
. Его правая часть называется поли-
i12
ном Жегалкина.
Теорема
Каждая n-местная БФ однозначно (!) представима ($) в виде полинома
Жегалкина.
Доказательство
Существование доказано перед формулировкой теоремы. Докажем единственность. Каждому полиному соответствует ровно одна БФ. Сколько всего полиномов для n-местных БФ? Каждый полином определяется вектором
36

3. Булевы функции
,,
aa aa aa aa aa
јј
{}
2
A Н�
{}
{}
{}
{}
xh
()
()
{}
()
=ј
()
{}
коэффициентов
ких векторов
2
(, ,, ,, ,,
Ж
1212 31323123 412,,)јј
n
{} {} {} {} {} {} {} {}
,,,,
. Таким образом число полиномов от n переменных равно
n
. Та-
числу n-местных функций. Значит каждой булевой функции соответствует
ровно один полином.
Замкнутые классы БФ
Класс БФ С — замкнутый, если каждая суперпозиция функций из С ле-
жит в С.
Лемма
Пусть С — замкнутый класс, содержащий не все БФ,
ная система.
Доказательство.
Предположим противное. А — полная, тогда есть суперпозиция функций
из А, не лежащая в С, что противоречит определению C.
Примеры
1. Все БФ — замкнутый класс.
x
2.
С. Тогда А непол-
01,
3.
01,,x
4.
01,, ,xx
5.
Для доказательства достаточно заметить, что
позиция функций от одной переменной является функцией от одной переменной.
Ъ-
,�
6.
не замкнутый класс.
7. Все 2-местные БФ — незамкнутый класс.
Важный пример 1
Говорят, что функция f (x
Пусть
Tffcccс
c
,, .
, ..., xn) сохраняет константу c, если
1
=
Замкнутые классы
fy
=
x()
, т. е. супер-
fcccс,, ,ј
=
.
37

Элементы дискретной математики
T
{}
xT
nc
,,
()
,,
yT
kc
()
Ој
yT
kc
()
yy
nk
()
()
јј
()
nn
,)
,)
()
()
јј
()
()
fTОП
00
f
f
ОT0ПT
ОT
1
xxyx y,,�� Ъ
1, ,��xyxy«®
П
1
xy+
x
()
()
gf
xx
nn11
,(,)
()
xy
Ъ=Щ
()
()
==
01
()
xx
ff
ff==
{}
yy
nk
,)
11
()
јј
()
Утверждение 1
Т
и
0
— замкнутые классы.
1
Доказательство.
с О
Пусть
fy
nn
1
Если
hccc ffcc cfcc c
,, (,,,,,
,01
. Пусть
,ј
hy yffy yf
ј
О
n
ј
kk
11 1111 1
n n
=ј
1
Как узнать по таблице
fx
ј
1
.
=ј
(,
n
fT
или
fy
О
1
ј
1111
fcccc,, .ј
=
1
�
n
, то
=
?
х
1
0 0
0 0
1 1
1 1
x
2
Для этого необходимо рассмотреть
T
0,
Важный пример 2
gx x
=
Функция
gx xf
если
Например, из
Если
Если
fx
fx x
= 0
=
,
1
=
xy
Ъ=Щ
, то
, то
двойственная для
n
.
следует
fx fx*()
*
fx fx
===
()
()
… x
и
1
fx x
*
=
.
.
n
0 f
1 f
0
1 f
.
n
0
,
.
f
1
2
n
(обозначение
n1
*
=
),
f — самодвойственная, если
Утверждение 2
S — замкнутый класс.
Доказательство
ff fShffy yf
,.(,
Пусть
О= ј
1111
38
*
=
. Пусть
1
Sf
nn nk
*
.
.
n

*
,,
11
()
()
јј
()
()
()
=О
()
()
,,
()
()
()
kn
nn
hS
fSО �
fSП
()
()
ОS
ПS
xxxy xz yz,,�� ЪЪ
,,
xy
xx
()
()
()
()
()
=ЧЧЪЧЧЪЧЧЪЧЧЪЧЧЪЧЧЪЧЧЪЧЧ =xxyxxz xzyxzz yxyyxz yzyyzz
=ЪЪЪЪЪ ЪЪ= ЪЪЪ =ЪЪxy xz xyzxzxyxyz yz yz xy xz yz xyzxyxzyz.
xy xz yzЪЪ
hy yhyy ffyy fy y
,()(
ј
11 111111
fy yfyy ffS
,,ј
=ј=ј
knkknn nk
1 1
=ј
kkn1111 1111 1
11
n n
й
л
=т.к.
щ
ы
3. Булевы функции
)
.
ж
=ј
fy yfyy
з
1111 1
и
=О
т.к. fS ff yy fy yhyy
й
л
јј
knnnk
1
(, ,) ,
=ј
щ
ы
1111 111
Как по таблице узнать
х
1
0 0
0 0
g
1
g
1
1 1
1 1
"
xx xfxx xfxx x
,, ,
*
=
nn n12 12 12
ц
=
ч
n
ш
јј
knnn
1
или
х
2
g
2
g
2
... х
?
п
0
1
g
n
g
n
0
1
=
01,, ,,
«®+
=ј
f
a
b
g
g
b
a
k
|�� �� �xy xyxyxy
.ЮО
fxyz xy xz yz,, .
*
fxyz xy xz yz xy xz yz xyxzyz
=ЪЪ
,,
=ЪЪ=ЧЧ=Ъ
Ъ
Самодвойственность этой функции можно увидеть и по таблице:
x y z
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
Ъ
=
39

Элементы дискретной математики
xy xz yzЪЪ
r
()
{}
,,
r
()
{}
,,
r
r
ab
{}
ii
00
� � � � �
()
{}
,,
ab
()
()
ff
{}
yy
nk
,)
11
()
јј
()
r
aa
()
x y z
1 1 0 1
1 1 1 1
Важный пример 3
Пусть
Laaaa=
12
О
n
01
n
,
12
Lbbbb=
О
n
01
n
.
Положим по определению
ЈЫ"О
Тогда ≤ — бинарное отношение на {0,1}
≤ рефлексивно,
≤ антисимметрично,
Ю ≤ — порядок на {0, 1}n.
≤ транзитивно,
Отметим, что
n = 3
011
001
001 110 11
,
111
101
010
000
сительно введенного порядка.
fx x
Функция
"О
ab
01
n
ab
,
ЈЮ
монотонная, если она сохраняет порядок ≤, т. е.
n1
Ј
.
Lab
1
n
01
, т. е. эти векторы несравнимы отно-
Ј .in
110
100
Пусть
Mff=
– монотонная
.
Утверждение 3
М — замкнутый класс.
Доказательство
Пусть
О= ј
1111
1
nn nk
.
n
ff fShffy yf
,.(,
Рассмотрим два произвольных вектора
aaaaaa aa
=
LL L
,,
11 12 121222 12
kknn nk
L
2
n
40
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
