![](/user_photo/2706_HbeT2.jpg)
Уч.пособие-по-ОДМ-2012
.pdf2.3.5Алгоритм определения таблицы истинности булевой функции по формуле
1.Определяем множество всех переменных X = {x1, x2, . . . , xn}, входящих в формулу.
2. |
Определяем |
порядок |
выполнения |
элементарных |
функций |
|||||
|
f1, f2, . . . , fm в соответствии с приоритетом выполнения функций |
|||||||||
|
алгебры логики. |
|
|
|
|
|
|
|
||
3. |
Для каждого набора σ = (σ1, σ2, . . . , σn) Bn вычисляем значение |
|||||||||
|
каждой функции f1, e2 |
|
|
|
|
П |
|
|
||
|
|
|
f |
, . . . , f |
|
|
. |
|
|
|
4. |
|
|
|
|
|
|
|
|
||
Самый правый столбец таблицы соответствует вектору значений |
||||||||||
|
функции, заданной исходной формулой. |
|
|
. |
||||||
e |
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|||
|
2.9. |
Построить |
таблицу |
|
|
.А |
функции |
|||
Пример |
|
истинности |
||||||||
f = (x1 → x2) (x1 x3)x2 и указать носитель.В |
|
|
|
Решение.
1.Очевидно, что f(xe) - функция трех переменных x1, x2, x3.
2.Определим порядок действий. С
|
|
|
|
|
|
|||
Барашев |
|
|
|
|
||||
|
Унучекf2 = x1 x3; |
|
|
|
||||
|
|
|
1 |
5 |
2 |
3 |
|
|
|
|
|
4 |
|
|
|||
|
|
МИРЭАf5 = ¬f4. |
||||||
|
f =(x1 |
→ x2) (x1 |
x3)& x2 |
), затем умноже- |
||||
Сначала |
выполняются действия в скобках ( и |
|||||||
e |
|
|
|
|
→ |
|
ние (&), потом логическое сложение ( ). Отрицание выполняется последним, так как инвертируется формула, а не переменная.
3. Разобьём формулу на 5 элементарных функций: f1 = x1 → x2;
f3 = f2&x2; f4 = f1 f3;
Каждой из этих функций соответствует столбец в таблице истинности:
21
![](/html/2706/112/html_OD7Vm6jG0x.4Gxd/htmlconvd-jfhYxr22x1.jpg)
|
|
x1 x2 x3 |
|
f1 f2 f3 f4 |
f5 |
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
0 |
0 |
0 |
|
1 |
|
0 |
0 |
1 |
|
0 |
|
|
|
||||
|
0 |
0 |
1 |
|
1 |
|
1 |
0 |
1 |
|
0 |
|
|
|
||||
|
0 |
1 |
0 |
|
1 |
|
0 |
0 |
1 |
|
0 |
|
|
|
||||
|
0 |
1 |
1 |
|
1 |
|
1 |
1 |
1 |
|
0 |
|
|
|
||||
|
1 |
0 |
0 |
|
0 |
|
1 |
0 |
0 |
|
1 |
|
|
|
||||
|
1 |
0 |
1 |
|
0 |
|
0 |
0 |
0 |
|
1 |
|
|
|
||||
|
1 |
1 |
0 |
|
1 |
|
1 |
1 |
1 |
|
0 |
|
|
|
||||
|
1 |
1 |
1 |
|
1 |
|
0 |
0 |
1 |
|
0 |
. |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
П |
|
|||
Последний столбец таблицы равен вектору значений заданной |
||||||||||||||||||
функции |
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|||
|
|
|
f(x1, x2, x3) = (00001100). |
|
|
. |
||||||||||||
|
|
|
исходной |
|
|
|
|
В |
|
|
|
|
||||||
4. Найдем |
носитель |
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
на которых значение функции равно 1 (эти наборы подчеркнуты): |
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
А |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Барашев |
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
. |
|
|||||||||||
|
|
|
|
x1 |
|
x2 |
x3 |
|
|
f |
|
С |
|
|
|
|||
|
|
|
|
0 |
0 |
|
0 |
|
|
0 |
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
0 |
0 |
|
1 |
|
|
0 |
|
|
|
|
|
|
|
|
|
Унучек |
|
0 |
|
|
|
|
|
|
|
||||||||
|
|
|
|
0 |
1 |
|
0 |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
0 |
1 |
|
1 |
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
1 |
0 |
|
0 |
|
|
1 |
|
|
|
|
|
|
|
|
Решение. |
ge = ((x y) | (z |
МИРЭА→ y)) &(x z) (y z). |
|
|||||||||||||||
|
|
|
|
1 |
0 |
|
1 |
1 |
|
|
|
|
|
|
|
|||
|
|
|
|
1 |
1 |
|
0 |
0 |
|
|
|
|
|
|
|
|||
|
|
|
|
1 |
1 |
|
1 |
0 |
|
|
|
|
|
|
|
Nf = {(100), (101)}
Пример 2.10. Построить таблицу истинности функции
1. Функция g(xe) также является функцией трех переменных.
22
![](/html/2706/112/html_OD7Vm6jG0x.4Gxd/htmlconvd-jfhYxr23x1.jpg)
2. Определим порядок действий.
g = ((x 1 |
y) | (z →2 |
y)) &(x 4 |
z) |
7 |
(y 5 |
z) . |
6 |
||||||
|
3 |
8 |
|
|
|
|
e
3. Построим таблицу истинности функции g(xe).
|
x1 x2 x3 |
|
g1 g2 g3 g4 g5 g6 g7 |
g8 |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
0 |
0 |
0 |
|
0 |
1 |
1 |
0 |
0 |
1 |
0 |
|
0 |
|
||
0 |
0 |
1 |
|
0 |
0 |
1 |
1 |
1 |
1 |
0 |
|
0 |
|
||
0 |
1 |
0 |
|
1 |
1 |
0 |
0 |
1 |
П |
|
|
|
|||
|
0 |
1.0 |
|
||||||||||||
0 |
1 |
1 |
|
1 |
1 |
0 |
1 |
. |
1 |
|
0 |
|
|||
|
0 |
0 |
|
|
|||||||||||
1 |
0 |
0 |
|
1 |
1 |
0 |
1 |
0 |
0 |
1 |
|
0 |
|
||
1 |
0 |
1 |
|
1 |
0 |
1 |
В |
1 |
0 |
|
0 |
|
|||
|
1 |
1 |
|
|
|||||||||||
1 |
1 |
0 |
|
1 |
1 |
0 |
1 |
1 |
1 |
0 |
|
0 |
|
||
1 |
1 |
1 |
|
1 |
1 |
0 |
1 |
0 |
0 |
А |
|||||
|
1 |
|
0. |
||||||||||||
Барашев |
|
|
|
|
|
|
|
||||||||
4. Получили, что g(x) = ( 0000 0000 ) . Функция принимает значе- |
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
С |
|
|
|
|
|
ния "ложь" на всех двоичных наборах. Носитель.этой функции не |
|||||||||||||||
содержит ни |
|
одного двоичного набора, то есть является пустым |
|||||||||||||
|
|
e |
|
|
|
|
|
|
|
|
|
|
|
||
множеством. |
УнучекМИРЭА |
|
|
Определение 2.9. Функция, принимающая значение "ложь" на всех двоичных наборах, называется тождественно-ложной. Функция, принимающая значение "истина" на всех двоичных наборах, называется тождественно-истинной.
2.3.6Основные эквивалентности (законы) алгебры логики
1.Коммутативность (переместительный закон)
x ◦ y = y ◦ x, где ◦ {&, , , , |, ↓}
2.Ассоциативность (сочетательный закон)
23
(x ◦ y) ◦ z = x ◦ (y ◦ z), где ◦ {&, , , }
3.Дистрибутивность (распределительный закон)
(a)дистрибутивность конъюнкции относительно дизъюнкции
x&(y z) = (x&y) (x&z)
(b) дистрибутивность конъюнкции относительно сложения по модулю 2
|
|
x&(y z) = (x&y) (x&z) |
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
||
|
(c) дистрибутивность дизъюнкции относительно конъюнкции |
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
||||
|
|
x (y&z) = (x y)&(x z) |
|
||||||||||||||||||
4. |
Законы де Моргана |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
П |
. |
||
|
|
(a) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
x&y = |
|
|
|
|
|
|
|
|
||||||||||
|
|
|
x |
|
y |
|
|
А |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
Барашев |
|
|
|
|
|
|||||||||||||||
|
|
(b) |
|
x y = Вx&y |
. |
|
|
||||||||||||||
5. |
Закон двойного отрицания |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
С |
|
|
|
||
|
|
|
|
|
|
= x |
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
x |
|
|
|
|
|
|
||||||||||
6. |
Законы поглощения |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
(a) |
|
|
x xy = x |
|
|
|
|
|
|||||||||||
|
|
МИРЭА |
|
||||||||||||||||||
7. |
Идемпотентность |
(b) |
x(x y) = x |
|
|
|
|
|
|||||||||||||
|
x&x = x |
|
|
|
|
|
|
|
|
|
|
|
x x = x |
|
|
|
|||||
8. |
Закон противоречия |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x& |
x |
= 0 |
|
|
|
|
|
|
|
|
||||||||
9. |
Закон "исключенногоУнучектретьего " |
|
|
|
|
|
|||||||||||||||
|
|
|
x |
x |
= 1 |
|
|
|
|
|
|
|
|
||||||||
10. |
Свойства констант |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x&0 = 0 |
x 0 = x |
|
|
|
|
x 0 = x |
|
|||||||||||||
|
x&1 = x |
x 1 = 1 |
|
|
|
|
x 1 = |
|
|
||||||||||||
|
|
|
|
|
x |
|
24
![](/html/2706/112/html_OD7Vm6jG0x.4Gxd/htmlconvd-jfhYxr25x1.jpg)
11. Закон склеивания
xy xy = y
12. Законы сложениия по модулю два
x x = 0 x x = 1 xy xy = y
В справедливости этих эквивалентностей можно убедиться путем построения таблиц истинности соответствующих им функций..
гичные арифметические действия, а иногда - нет.ПТак, например, пере-
Замечание 2.20. Функции алгебры логики (умножение, логическое |
|
. |
|
сложение и сумма по модулю два) иногда похожи на обычные анало- |
|
В |
. |
местительный и сочетательный законы будут выполняться при замене
логических функций на алгебраические. Свойства (а) и (b) распреде- |
|
Барашев |
С |
лительного закона также справедливы, а свойство (с) в арифметике не |
|
выполняется. Булевы константы "0" и "1" |
. |
также не являются числа- |
|
ми в обычном смысле: для константы "0" |
выполняютсяАвсе свойства |
констант, а для "1" верно только свойство умножения (x · 1 = x).
2.4Задачи для самостоятельного решения
eУнучекследующихМИРЭАфункций:
1.f1 = (x&y) (x → z) ↓ ((y z) | (x z)) ;
2.fe2 = ((x ↓ y) & (y z)) (x z) → (y|z);
3.fe3 = (x y) | (y z) & ((x ↓ z) (y → x)) ;
4.fe4 = (x ↓ y) (y|z) → ((x z) (y · z)) ;
5.fe5 = ((x|y) ↓ (z → x)) (x z) & (y z).Найти вектор значений
Ответы к задачам для самостоятельного решения
1. fe1 = ( 0000 0110 );
25
2.fe2 = ( 1110 0011 );
3.fe3 = ( 0010 0110 );
4.fe4 = ( 1101 1111 );
5.fe5 = ( 1010 1100 ).
|
|
|
. |
|
|
П |
|
|
. |
|
|
|
В . |
||
Барашев |
|
|
А |
|
. |
||
|
С |
|
|
Унучек |
|
|
|
МИРЭА |
26
Глава 3
Специальные представления
булевых функций |
|
|
|
|
|
. |
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
П |
|
||||
3.1 |
Дизъюнктивные |
|
и |
|
|
|
|
. |
|
|
|
|
. |
||||||||||
|
|
|
|
В |
|
|
|
|
|
||||||||||||||
|
конъюнктивные |
нормаль- |
|||||||||||||||||||||
|
ные формы |
|
|
|
|
|
|
|
|
|
|
|
|
А |
|||||||||
|
|
Барашев0 1 |
|
|
|||||||||||||||||||
Введем обозначение: |
|
|
|
|
x, |
|
|
α = 0 |
С |
||||||||||||||
|
|
|
|
x = { x, |
|
|
α = 1 , . |
|
|||||||||||||||
Докажем равенствоУнучекx = x α 1 |
|
|
|
|
|
|
|
||||||||||||||||
то есть, |
|
|
|
|
x0 = |
|
|
|
|
|
|
x1 = x. |
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
x, |
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
МИРЭА |
|
|||||||||||||||
Рассмотрим два случая: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
а) |
α = 0 x0 = |
|
= { |
1, |
|
x = 0 |
, то есть, |
00 = 1 |
|
|
|
||||||||||||
x |
0, |
|
x = 1 |
10 = 0 |
|
|
|
||||||||||||||||
б) |
α = 1 x1 = x = { |
0, |
|
x = 0 |
, то есть, |
11 = 1 |
|
|
|
||||||||||||||
1, |
|
x = 1 |
01 = 0 |
|
|
|
|||||||||||||||||
Так как 0 = 1 = α |
|
= 1 |
|
|
|
|
|
, |
то x = 1 тогда, и только |
||||||||||||||
|
|
10 = 01 = α = |
α |
= 0 |
|
|
|
|
|
|
|
|
|
|
|||||||||
тогда, когда x = α. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Так как если α = 0, |
то |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
= x = x 1 |
|
, равенство выпол- |
|||||||||||||||||||
x1 |
|
|
|
||||||||||||||||||||
|
|
если α = 1, |
то |
x |
|
= x = x 1 1 |
|
|
|
|
|
|
|||||||||||
няется для всех возможных α и является тождеством. |
|
||||||||||||||||||||||
Справедливость тождества |
|
|
x = x σ = xσ |
|
|
|
предостав- |
||||||||||||||||
|
|
x |
σ |
||||||||||||||||||||
ляем доказать читателю самостоятельно. |
|
|
|
|
|
|
|
27
![](/html/2706/112/html_OD7Vm6jG0x.4Gxd/htmlconvd-jfhYxr28x1.jpg)
Определение 3.1. Логическое произведение переменных и их отри-
цаний |
i |
i |
i |
1 6 i1 < i2 |
< . . . < is 6 n |
называется |
|||||||||||||||||||
K = xi1 |
1 xi2 |
2 · · · xis s , |
|||||||||||||||||||||||
элементарной конъюнкцией. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
Пример 3.1. K1 = x1x3; |
K2 = x1 |
|
2x3; |
|
|
|
K3 |
= |
|
|
|
1 |
|
2 |
|
3 - |
|||||||||
x |
|
|
|
x |
x |
x |
|||||||||||||||||||
элементарные конъюнкции. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Определение |
3.2. Элементарной |
|
называется |
дизъюнкция |
|||||||||||||||||||||
i |
i |
|
i |
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|||
D = xi1 1 |
xi2 2 . . . |
xis s , |
1 6 i1 < i2 < . . . < is 6 n, |
представля- |
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
П |
|
|
|
|
|
|
|
|
|
|
|
|||
ющая собой логическую сумму переменных и их отрицаний. |
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
Пример 3.2. Элементарными дизъюнкциями являются: |
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
В |
|
|
|
|
. |
|
|
|
|
|
|
|||||||
D1 = x1 x3; |
D2 = x1 |
x |
2 x3; |
|
|
|
D3 |
= |
x |
1 |
|
x |
2 |
x |
3. |
||||||||||
|
Барашев |
|
|
|
|
|
|
А |
|||||||||||||||||
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
||||||||
Замечание 3.1. В элементарные конъюнкции и дизъюнкции не могут |
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
С |
|
|
|
|
|
|
|
|
|
|
|
|
|
входить одинаковые переменные, а также одновременно переменная и её отрицание. Например, конъюнкции K4 = x1x3x1 и K5 = x1x2x3x1 не относятся к элементарным.
Определение 3.3.УнучекКоличество переменных и их отрицаний, входя- МИРЭА
щих в элементарную конъюнкцию (элементарную дизъюнкцию) называется её рангом.
Пример 3.3. Вычислим ранг элементарных конъюнкций из приме-
r1 = 2; r2 = 3; r3 = 3.
Определение 3.4. Дизъюнктивная нормальная форма (ДНФ) -это формула, в которой логическая функция представлена в виде дизъюнкции элементарных конъюнкций.
Пример 3.4. feднф = K1 K2 = x1x3 x1x2x3.
28
![](/html/2706/112/html_OD7Vm6jG0x.4Gxd/htmlconvd-jfhYxr29x1.jpg)
Определение 3.5. Конъюнктивная нормальная форма (КНФ) -это формула, в которой булева функция представлена в виде конъюнкции элементарных дизъюнкций.
Пример 3.5. feкнф = D2D3 = (x1 x2 x3)(x1 x2 x3).
Замечание 3.2. Учитывая приоритет выполнения булевых операций
(см. пункт 2.3.4 на стр. 20), в ДНФ скобки обычно не пишутся. При |
||
|
|
. |
записи КНФ скобки писать обязательно, так как иначе в формуле на- |
||
рушается порядок логических действий. |
|
П |
|
. |
|
Определение 3.6. Сумма рангов элементарных конъюнкций (дизъ- |
||
|
В |
|
юнкций), входящих в дизъюнктивную нормальную форму (конъюнктивную нормальную форму) называется рангом или сложностью
Барашев |
. |
нормальной формы . |
|
|
. |
|
С |
Пример 3.6. r(днф) = r1 + r2 = 2 + 3 = 5 - ранг ДНФАфункции из |
|
примера 3.4. |
|
r(кнф) = r2 + r3 = 3 + 3 = 6 - ранг КНФ функции из примера 3.5.
Замечание 3.3. РассмотримУнучекнекоторую функцию алгебры логики, заданнуюeв виде ДНФ, и упростимМИРЭАформулу:
fднф(x) = x1x2 x1x2x3 x2x4 = x1x2(1 x3) x2x4 = x1x2 x2x4.
Так как формула, полученная в результате преобразований, также является ДНФ исходной функции, то представление булевой функции в виде ДНФ , вообще говоря, не единственно. При этом ранг исходной ДНФ равен 7, а упрощенной - 4.
Аналогично можно показать, что и КНФ задает функцию во многих случаях не единственным образом, причем различные КНФ одной и той же функции могут иметь разные ранги.
29
![](/html/2706/112/html_OD7Vm6jG0x.4Gxd/htmlconvd-jfhYxr30x1.jpg)
3.2Совершенная дизъюнктивная нормальная форма
Теорема 3.1. О разложении булевой функции по одной переменной Всякую функцию алгебры логики f(x1, x2, . . . , xn) при любом m (1 6 m 6 n) можно представить в виде
f(x1, . . . , xm−1, xm, xm+1, . . . , xn) = |
|
|
|
|
|
|
|
|||||
|
|
= |
|
mf(x1, . . . , xm−1, 0, xm+1, . . . , xn) |
|
|
|
|||||
|
|
x |
|
|
|
|||||||
|
|
|
|
|
xmf(x1, . . . , xm−1, 1, xm.+1, . . . , xn). |
(3.1) |
||||||
|
|
|
|
|
|
|
. |
|
|
|
||
Это равенство называется разложением функции по пе- |
||||||||||||
ременной x |
|
, |
|
а |
функции |
f(x , . . . , x |
|
, 0, x |
|
, . . . , x |
) и |
|
|
m |
|
n |
|
|
1 |
В |
|
|
n |
|
|
|
|
|
|
|
|
m−П1 m+1 |
|
|||||
|
|
|
|
|
|
|
|
|
|
. |
|
|
f(x1, . . . , xm−1, 1, xm+1, . . . , xn) - компонентами разложения. |
|
|||||||||||
Доказательство. Рассмотрим произвольный |
набор |
|
переменных |
|||||||||
Барашевαm · f(α1, . . . , αm−1, 0, αm+1, . . . , αn) |
|
|
|
|||||||||
(α1, α2, . . . , αn) |
B |
. |
Покажем, что при подстановке данного набора |
|||||||||
в правую и левую |
части соотношения |
(3.1), |
обе части равенства |
|||||||||
принимают одно и то же значение. |
|
С |
|
|
|
|||||||
|
|
|
.А |
|
αm может принимать 2 значения: 0 или 1. Рассмотрим оба варианта.
αm = 0 αm = 1
αm · f(α1, . . . , αm−1, 1, αm+1, . . . , αn) =
=0 · f(α1, . . . , αm−1, 0, αm+1, . . . , αn)
0 · f(α1, . . . , αm−1, 1, αm+1, . . . , αn) =
=1 · f(α1, . . . , αm−1, 0, αm+1, . . . , αn)
0 · f(α1, . . . , αm−1, 1, αm+1, . . . , αn) =
=f(α1, . . . , αm−1, 0, αm+1, . . . , αn) =
=f(α1, . . . , αm−1, αm, αm+1, . . . , αn).УнучекМИРЭА
30