Главная страница

Судопланов. Судоплатов С.В., Овчинникова Е.В. Дискретная математика 2016. Редакционная коллегия серии учебники нгту


Скачать 2.01 Mb.
НазваниеРедакционная коллегия серии учебники нгту
АнкорСудопланов
Дата05.06.2022
Размер2.01 Mb.
Формат файлаpdf
Имя файлаСудоплатов С.В., Овчинникова Е.В. Дискретная математика 2016.pdf
ТипУчебники
#571403
страница31 из 36
1   ...   28   29   30   31   32   33   34   35   36
xy ∨ x z ∨ xyz)
+
= (x ∨ y) (x ∨ z) (x ∨ y ∨ z). ¤
Отметим, что если формула ϕ эквивалентна формуле ψ: ϕ ∼ ψ, то
ϕ
+
∼ ψ
+
Функция f (x
1
, . . . , x
n
) называется самодвойственной, если
f
+
(x
1
, . . . , x
n
) = f (x
1
, . . . , x
n
).

6.9. ПОЛНЫЕ СИСТЕМЫ БУЛЕВЫХ ФУНКЦИЙ
205
Пример 6.8.3. Покажем, что формула ϕ = xy ∨ xz ∨ yz задает самодвой- ственную функцию.
С этой целью убедимся, что на всех противоположных наборах значений переменных (δ
1
, δ
2
, δ
3
) и (1 − δ
1
, 1 − δ
2
, 1 − δ
3
) формула принимает противо- положные значения. Действительно, составив таблицу истинности
x 0 0 0 0 1 1 1 1
y
0 0 1 1 0 0 1 1
z
0 1 0 1 0 1 0 1
ϕ 0 0 0 1 0 1 1 1
,
получаем ϕ(0, 0, 0) = ϕ(1, 1, 1), ϕ(0, 0, 1) = ϕ(1, 1, 0), ϕ(0, 1, 0) = ϕ(1, 0, 1),
ϕ(0, 1, 1) = ϕ(1, 0, 0). ¤
§ 6.9.
Полные системы булевых функций
Как мы уже знаем из теоремы о функциональной полноте, любая булева функция представима в виде формулы, содержащей лишь операции , , ¬,
т. е. в виде терма сигнатуры {∧, ∨, ¬}. В этом параграфе будет дано описание сигнатур, позволяющих получать любые булевы функции.
Система булевых функций F = {f
1
, f
2
, . . . , f
n
} называется полной, если любая булева функция представима в виде терма сигнатуры {f
1
, f
2
, . . . , f
n
},
т. е. в виде суперпозиций функций из F.
Из сказанного выше ясно, что система {∧, ∨, ¬} является полной. Ответ на вопрос о полноте произвольной системы F дает теорема Поста, форму- лируемая ниже.
Введем определение классов Поста.
1. Класс P
0
— это класс булевых функций, сохраняющих нуль, т. е. функ- ций f (x
1
, . . . , x
n
), для которых f (0, 0, . . . , 0) = 0:
P
0
= {f | f (0, 0, . . . , 0) = 0}.
2. Класс P
1
— это класс булевых функций, сохраняющих единицу, т. е.
функций f (x
1
, . . . , x
n
), для которых f (1, 1, . . ., 1) = 1:
P
1
= {f | f (1, 1, . . . , 1) = 1}.
3. Класс S — это класс самодвойственных функций:
S = {f | f — самодвойственная функция}.

206
Глава 6. АЛГЕБРА ЛОГИКИ
4. Класс M
— это класс монотонных функций. Булева функ- ция f (x
1
, . . . , x
n
) называется монотонной, если для любых наборов нулей и единиц (α
1
, . . . , α
n
) и (β
1
, . . . , β
n
) из условий α
1 6 β
1
, . . ., α
n
6 β
n
следует
f (α
1
, . . . , α
n
) 6 f (β
1
, . . . , β
n
). Таким образом,
M = {f | f — монотонная функция}.
5. Класс L — это класс линейных функций. Булева функция f (x
1
, . . . , x
n
)
называется линейной, если в булевом кольце h{0, 1}; ⊕, ¯i функция f пред- ставима в виде f (x
1
, . . . , x
n
) = c
0
⊕ c
1
x
1
⊕ c
2
x
2
⊕ . . . ⊕ c
n
x
n
, где c
0
, c
1
, c
2
,
. . ., c
n
∈ {0, 1}.
Коэффициенты c
0
, c
1
, . . ., c
n
линейной функции определяются из следу- ющих соотношений:
c
0
= f (0, 0, . . . , 0), c
0
⊕ c
1
= f (1, 0, . . . , 0),
c
0
⊕ c
2
= f (0, 1, . . . , 0), . . . , c
0
⊕ c
n
= f (0, 0, . . . , 0, 1),
т. е.
c
0
= f (0, 0, . . . , 0),
c
1
= c
0
⊕ f (1, 0, . . . , 0) , . . . , c
n
= c
0
⊕ f (0, 0, . . . , 1).
(6.1)
Таким образом, проверка линейности сводится к нахождению коэффи- циентов c
i
по формулам (6.1) и сопоставлению таблиц истинности данной формулы f (x
1
, . . . , x
n
) и полученной формулы c
0
⊕ c
1
x
1
⊕ . . . ⊕ c
n
x
n
Пример 6.9.1. Проверим, является ли линейной функция x ∨ y. Имеем
c
0
= 0 0 = 0, c
1
= 0 (1 0) = 1, c
2
= 0 (0 1) = 1. Таким образом,
c
0
⊕ c
1
x ⊕ c
2
y = x ⊕ y. Сопоставляя таблицы истинности формул x ∨ y и x ⊕ y,
убеждаемся, что они не совпадают. Вывод: функция x ∨ y нелинейна. ¤
Линейность функции можно также определить с помощью следующей теоремы.
Теорема 6.9.1 (теорема
Жегалкина).
Всякая
булева
функция
f (x
1
, . . . , x
n
)
представима
полиномом
Жегалкина,
т.
е.
в
виде
f (x
1
, . . . , x
n
) =
L
(i
1
,...,i
k
)
x
i
1
x
i
2
. . . x
i
k
⊕ c, где в каждом наборе (i
1
, . . . , i
k
)
все i
j
различны, а суммирование ведется по некоторому множеству
таких несовпадающих наборов. Представление булевой функции в виде
полинома Жегалкина единственно с точностью до порядка слагаемых.

6.9. ПОЛНЫЕ СИСТЕМЫ БУЛЕВЫХ ФУНКЦИЙ
207
Полином Жегалкина называется нелинейным (линейным), если он (не)
содержит произведения различных переменных.
Таким образом, линейность булевой функции равносильна линейности соответствующего полинома Жегалкина.
Для получения полинома Жегалкина булевой функции, находящейся в СДНФ, используются аксиомы булевой алгебры, аксиомы булева кольца
h{0, 1}; ⊕, ¯i и равенства, выражающие операции , и ¬ через операции этого булева кольца: x∨y = x⊕y ⊕xy, x(y ⊕z) = xy ⊕xz, x = x⊕1, x⊕0 = x,
x ⊕ x = 1, xx = 0 и т. д.
Пример 6.9.2. Определим, будет ли линейной функция f (x, y, z) = x yz∨
∨ xyz ∨ xy z.
Имеем f (x, y, z) = (xyz ⊕xyz ⊕xyzxyz)∨xy z = (xyz⊕ xyz)∨xy z = xyz⊕
⊕xyz ⊕ xy z ⊕ (x yz ⊕ xyz)xy z = x yz ⊕ xyz⊕ xy z⊕ 0 = xz(y ⊕ y) ⊕ xy z =
= xz · 1 ⊕ xy z = (x ⊕ 1)z ⊕ x(y ⊕ 1)(z ⊕ 1) = xz⊕ 1· z⊕ xyz ⊕ xz ⊕ xy ⊕ x =
= x ⊕ z ⊕ xy ⊕ xyz. Полученный полином Жегалкина является нелинейным,
и, следовательно, функция f также нелинейна. ¤
Заметим, что если в эквивалентности ϕ ∨ ψ ∼ ϕ ⊕ ψ ⊕ ϕ · ψ формулы ϕ
и ψ являются различными конституентами единицы, то их произведение ϕ·ψ
равно 0, и тогда ϕ ∨ ψ ∼ ϕ ⊕ ψ. Следовательно, для получения полинома
Жегалкина из СДНФ можно сразу заменить на .
Отметим, что каждый класс Поста замкнут относительно операций заме- ны переменных и суперпозиции, т. е. с помощью этих операций из функций,
принадлежащих данному классу, можно получить только функции из этого же класса.
Пример 6.9.3. Определим, к каким классам Поста относится булева функция f (x, y) = x | y.
Так как f (0, 0) = 1, а f (1, 1) = 0, то f (x, y) /
∈ P
0
и f (x, y) /
∈ P
1
. Поскольку
f (1, 0) 6= f (0, 1), то f (x, y) /
∈ S. Так как f (0, 0) > f (1, 1), то f (x, y) /
∈ M.
Полином Жегалкина для функции f (x, y) = xy имеет вид 1 ⊕ xy в силу равенства x = 1 ⊕ x. Поэтому данная функция нелинейна. Таким образом,
можно составить следующую таблицу
Функция
Классы
P
0
P
1
S
M
L
x
|
y
нет нет нет нет нет

208
Глава 6. АЛГЕБРА ЛОГИКИ
Теорема 6.9.2 (теорема Поста). Система F булевых функций тогда
и только тогда является полной, когда для каждого из классов P
0
, P
1
, S,
M, L в системе F найдется функция, не принадлежащая этому классу. ¤
В силу теоремы Поста функция x | y образует полную систему, т. е.
с помощью штриха Шеффера можно получить любую булеву функцию.
В частности, x ∼ x | x, x ∧ y ∼ ¬¬(x ∧ y) ∼ ¬(x | y) (x | y) | (x | y).
Система булевых функций F называется базисом, если она полна, а для любой функции f ∈ F система F \ {f } неполна.
Теорема 6.9.3. Каждый базис содержит не более четырех булевых
функций.
Доказательство. Предположим, что существует базис F, состоящий более чем из четырех функций. По теореме Поста тогда получаем, что F
состоит ровно из пяти функций, каждая из которых не принадлежит ровно одному классу Поста. Пусть f — функция из F, не принадлежащая клас- су P
0
. Тогда, с одной стороны, f (0, 0, . . . , 0) = 1, а с другой — из f ∈ P
1
следует, что f (1, 1, . . . , 1) = 1. Это означает, что f не является самодвой- ственной функцией, что противоречит предположению. ¤
Пример 6.9.4. Следующие системы булевых функций являются бази- сами: {∧, ¬}, {∨, ¬}, {→, ¬}, {↓}, {|}, {↔, ∨, 0}, {⊕, ∧, ↔}. ¤
Широкий набор базисов открывает большие возможности при решении задач минимизации схем устройств дискретного действия, поскольку из ба- зисных схем с помощью суперпозиций можно составить схему, соответству- ющую любой булевой функции.
§ 6.10.
Функциональная декомпозиция
1.
Определение и примеры
Булева функция f (x
1
, . . ., x
n
) называется разложимой, если она может быть представлена в виде суперпозиции функций g
1
, g
2
, . . . , g
k
(k < n)
и F , каждая из которых имеет менее n переменных: f (x
1
, x
2
, . . ., x
n
) =
= F (g
1
, . . . , g
k
). При этом функция f может быть реализована с помощью устройств, соответствующих функциям g
1
, g
2
, . . ., g
k
и F , как показано на рис. 6.10. Разложение функции f в виде суперпозиции g
1
, g
2
, . . ., g
k
и F

6.10. ФУНКЦИОНАЛЬНАЯ ДЕКОМПОЗИЦИЯ
209
-

-

x
1
x
n

-
-

-
-
g
1
g
2
g
k
-
-
-
F
-
f
Рис. 6.10
называется декомпозицией функции f , а соответствующая схема, показан- ная на рис. 6.10, — декомпозиционной реализацией функции f .
В дальнейшем будем использовать следующие обозначения логических устройств. Устройство, соответствующее функции x, будем называть ин-
вертором и обозначать, как показано на рис. 6.11а, устройство, соответ- ствующее функции f (x
1
, . . . , x
i−1
, x
i
, x
i+1
, . . . , x
n
), обозначим, как показано на рис. 6.11б, а устройство, соответствующее функции f (x
1
, x
2
, . . . , x
n
), —
на рис. 6.11в.
Пример 6.10.1. На рис. 6.12 показана декомпозиционная реализация функции f (x
1
, x
2
, x
3
, x
4
) = x
1
x
3
(x
2
⊕ x
3
)x
4
∨ x
1
x
4
, где g
1
= x
1
x
3
, g
2
=
= (x
2
⊕ x
3
)x
4
, g
3
= x
1
x
4
, F (y
1
, y
2
, y
3
) = y
1
∨ y
2
∨ y
3
. ¤
x
©©
©
HH
H e x
e f
x
n
x
i+1
x
i
x
i−1
x
1
f
e
x
1
x
2
x
n
а
б
в
Рис. 6.11

210
Глава 6. АЛГЕБРА ЛОГИКИ
d
&




x
1
x
3
x
2
x
4
d d
&
&
W
-
f
g
1
g
2
g
3
F
Рис. 6.12
Пусть X = {x
1
, x
2
, . . . , x
n
} — множество входных переменных для функ- ции f (X) = F (g
1
(A
1
), g
2
(A
2
), . . . , g
k
(A
k
)), где A
i
— множества входных пере- менных, образующие разбиение множества X, т. е. A
i
6= ∅, A
i
∩ A
j
= ∅ для
i 6= j и A
1
∪ A
2
∪ . . . ∪ A
k
= X. Тогда декомпозиция функции f называется
дизъюнктивной. Недизъюнктивные декомпозиции называются нондизъюнк-
тивными.
Пример 6.10.2. На рис. 6.13 изображена реализация нондизъюнктив- ной декомпозиции f (x
1
, x
2
, x
3
, x
4
, x
5
) = F (g
1
(x
1
, x
2
, x
3
), g
2
(x
3
, x
4
, x
5
)). Здесь множества A
1
= {x
1
, x
2
, x
3
} и A
2
= {x
3
, x
4
, x
5
} не образуют разбиение мно- жества X = {x
1
, x
2
, x
3
, x
4
, x
5
}, поскольку A
1
∩ A
2
6= ∅. ¤

x
5
x
4
x
3
x
2
x
1
g
2
g
1
-
F
f
Рис. 6.13

6.10. ФУНКЦИОНАЛЬНАЯ ДЕКОМПОЗИЦИЯ
211
-
x
5
x
4
x
3
x
2
x
1
F
f
g
Рис. 6.14
2.
Простая дизъюнктивная декомпозиция
Дизъюнктивная декомпозиция функции f (x
1
, x
2
, . . . , x
n
) вида
f (x
1
, x
2
, . . . , x
n
) = F (g(A
1
), A
2
)
называется простой.
Пример 6.10.3. На рис. 6.14 изображена реализация простой дизъюнк- тивной декомпозиции f (x
1
, x
2
, x
3
, x
4
, x
5
) = F (g(x
1
, x
2
, x
3
), x
4
, x
5
). ¤
Чтобы определить свойства булевых функций, ко-
· · ·
· · ·
A
1
A
2
Рис. 6.15
торые позволяют получать простые дизъюнктивные де- композиции в виде F (g(A
1
), A
2
), рассмотрим карту Кар- но функции f (рис. 6.15), где строки соответствуют пере- менным множества A
2
, а столбцы — переменным множе- ства A
1
(например, на рис. 6.6а изображена карта Карно с A
1
= {x
1
, x
2
} и A
2
= {x
3
}). Построенная таким образом карта Карно называется картой декомпозиции для пары
(A
1
, A
2
).
Теорема 6.10.1. Булева функция f (x
1
, x
2
, . . . , x
n
) тогда и только
тогда имеет простую дизъюнктивную декомпозицию в форме f (X) =
= F (g(A
1
), A
2
), когда карта декомпозиции функции f для пары (A
1
, A
2
)
содержит не более двух различных столбцов. ¤
Пример 6.10.4. Рассмотрим карту декомпозиции функции
1   ...   28   29   30   31   32   33   34   35   36


написать администратору сайта