![](/user_photo/2706_HbeT2.jpg)
Уч.пособие-по-ОДМ-2012
.pdf![](/html/2706/112/html_OD7Vm6jG0x.4Gxd/htmlconvd-jfhYxr31x1.jpg)
α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 · · · xmm−−11 xmm f(σ1, σ2 |
, . . . , σm−1, σm, |
|
|
|||||||||
( 1 |
B |
|
|
|
|
|
|
|
|
|
|
|
||||
|
− |
|
|
|
|
|
|
|
|
|
|
|
|
|
xm+1, . . . , xn),
31
![](/html/2706/112/html_OD7Vm6jG0x.4Gxd/htmlconvd-jfhYxr32x1.jpg)
Это равенство называется разложением функции по переменным x1, x2, . . . , xm.
Теорема 3.3. О разложении функции по всем переменным
f(x1, x2, . . . , xn) = σ |
n x11 x22 · · · xnn−−11 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
![](/html/2706/112/html_OD7Vm6jG0x.4Gxd/htmlconvd-jfhYxr33x1.jpg)
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
![](/html/2706/112/html_OD7Vm6jG0x.4Gxd/htmlconvd-jfhYxr34x1.jpg)
|
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
![](/html/2706/112/html_OD7Vm6jG0x.4Gxd/htmlconvd-jfhYxr35x1.jpg)
|
Проинвертируем обе части равенства (3.2): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
f x11 x22 · · · xnn−−11 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скнф = n·2n, где n- количество переменных.
35
![](/html/2706/112/html_OD7Vm6jG0x.4Gxd/htmlconvd-jfhYxr36x1.jpg)
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
![](/html/2706/112/html_OD7Vm6jG0x.4Gxd/htmlconvd-jfhYxr37x1.jpg)
Пример 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
![](/html/2706/112/html_OD7Vm6jG0x.4Gxd/htmlconvd-jfhYxr38x1.jpg)
|
|
|
|
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
![](/html/2706/112/html_OD7Vm6jG0x.4Gxd/htmlconvd-jfhYxr39x1.jpg)
действий:
|
|
|
|
|
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