- •3. Основы алгебры логики
- •3.1. Таблицы истинности и булевы выражения
- •3.1.1. Каноническая сумма минтермов
- •3.1.2. Каноническое произведение макстермов
- •3.2. Упрощение булевых выражений с помощью карт Карно
- •3.2.1. Минимальные суммы
- •3.2.2. Минимальные произведения
- •3.2.3. Недоопределенные условия
- •3.3. Задания к практическому занятию
3.1.1. Каноническая сумма минтермов
По таблице истинности также можно составить булево выражение. Одна из его форм − получение канонической суммы минтермов или стандартной суммы произведений.
Совершенная дизъюнктивная нормальная форма (СДНФ) представления булевого выражения − запись функции Y в виде дизъюнкции конъюнкций (стандартной суммы произведений), для которых значение функции равно 1.
Каждая конъюнкция этой дизъюнкции включает каждую переменную только один раз в прямом или инверсном виде, при определенном наборе переменных истинна (равна 1) и носит название минтерма.
Алгоритм перехода от таблицы истинности к записи выражения в СДНФ (канонической суммы минтермов) заключается в следующем:
1. Составить минтермы для строк таблицы истинности, на которых функция Y равна 1. Если значение переменной (X1, X2…) в строке равно 0, то в минтерме записывается отрицание этой переменной.
2. Записать дизъюнкцию составленных минтермов, которая и будет представлять булево выражение в СДНФ.
Это правило называют правилом записи переключательной функции по единицам.
Пример 3 Составим булево выражение для следующей таблицы истинности
X1 |
X2 |
X3 |
Y |
Минтермы для Y=1 |
0 |
0 |
0 |
0 |
|
0 |
0 |
1 |
1 | |
0 |
1 |
0 |
1 | |
0 |
1 |
1 |
0 |
|
1 |
0 |
0 |
1 | |
1 |
0 |
1 |
0 |
|
1 |
1 |
0 |
0 |
|
1 |
1 |
1 |
1 |
f(X1, X2, X3)= +++
Алгебра логики содержит ряд следующих теорем:
№ |
а) |
b) |
Закон |
1 |
| ||
2 |
X+0=X |
X∙1=X |
|
3 |
X+1=1 |
X∙0=0 |
|
4 |
X+X=X |
X∙X=X |
идемпотентности |
5 |
X+=1 |
X∙=0 |
|
6 |
=X |
|
двойного отрицания |
7 |
X+Y=Y+X |
X∙Y=Y∙X |
коммутативности (переместительный) |
8 |
X+X∙Y=X |
X∙(X+Y)=X |
поглощения |
9 |
X+∙Y=X+Y |
X∙(+Y)=X∙Y |
|
10 |
двойственности (де Моргана) | ||
11 |
(X+Y)+Z= =X+(Y+Z)= X+Y+Z |
(X∙Y)∙Z= =X∙(Y∙Z)= =X∙Y∙Z |
ассоциативности (сочетательный) |
12 |
X+Y∙Z= =(X+Y)∙(X+Z) |
X∙(Y+Z)= =X∙Y+X∙Z |
дистрибутивности (распределительный) |
13 |
X∙Y+∙Y=Y |
(X+Y)∙(+Y)=X |
склеивания |
Все перечисленные теоремы можно доказать методом совершенной индукции, то есть перебором всех возможных значений.
Пример 4 Упростим булево выражение
3.1.2. Каноническое произведение макстермов
Получить булево выражение по таблице истинности можно через произведение макстермов.
Один из вариантов алгоритма перехода от таблицы истинности к записи выражения через произведение макстермов заключается в следующем:
1. Составить минтермы для строк таблицы истинности, на которых функция Y равна 0. Если значение переменной (X1, X2…) в строке равно 0, то в минтерме записывается отрицание этой переменной.
2. Записать дизъюнкцию составленных минтермов, которая будет представлять булево выражение для .
3. Найдем инверсию полученного выражения, применив правило де Моргана. Полученное выражение − произведение макстермов.
Пример 5 Составим булево выражение для следующей таблицы истинности
X1 |
X2 |
X3 |
Y |
Минтермы для Y=0 |
0 |
0 |
0 |
0 | |
0 |
0 |
1 |
1 |
|
0 |
1 |
0 |
1 |
|
0 |
1 |
1 |
0 | |
1 |
0 |
0 |
0 | |
1 |
0 |
1 |
1 |
|
1 |
1 |
0 |
0 | |
1 |
1 |
1 |
0 |
Получаем булево выражение для нулевых значений выходного параметра:
Каждая сумма включает каждую переменную только один раз в прямом или инверсном виде и носит название макстерма.
Совершенная конъюнктивная нормальная форма (СКНФ) представления булевого выражения − запись функции Y в виде конъюнкции дизъюнкций (стандартного произведения сумм), для которых значение функции равно 0.
Алгоритм перехода от таблицы истинности к записи выражения в СКНФ (второй вариант определения канонического произведения макстермов) заключается в следующем:
1. Составить макстермы для строк таблицы истинности, на которых функция Y равна 0. Если значение переменной (X1, X2…) в строке равно 1, то в макстерме записывается отрицание этой переменной.
2. Записать конъюнкцию составленных макстермов, которая и будет представлять булево выражение в СКНФ.
Это правило называют правилом записи переключательной функции по нулям.
Пример 6 Составим булево выражение для таблицы истинности примера 3
X1 |
X2 |
X3 |
Y |
Макстермы для Y=0 |
0 |
0 |
0 |
0 | |
0 |
0 |
1 |
1 |
|
0 |
1 |
0 |
1 |
|
0 |
1 |
1 |
0 | |
1 |
0 |
0 |
1 |
|
1 |
0 |
1 |
0 | |
1 |
1 |
0 |
0 | |
1 |
1 |
1 |
1 |
|
f(X1, X2, X3)= ()∙()∙()∙()