- •Глава 3
- •3.1.1 Основные определения
- •3.1.2 Законы алгебры логики
- •Законы нулевого множества
- •Законы универсального множества
- •Законы двойной инверсии
- •9. Законы поглощения
- •11. Законы обобщенного склеивания
- •13. Теорема разложения
- •3.1.3 Элементарные логические функции и принцип двойственности
- •3.1.4 Классификация логических устройств и
- •Контрольные вопросы и задания
- •3.2.2 Представление логических функций (лф)
- •3.2.3 Понятие суперпозиции
- •Метод непосредственных преобразований
- •Метод Карно-Вейча
- •3.3.1 Метод непосредственных преобразований
- •3.3.2 Метод Карно-Вейча
- •Реализация логических функций
- •Особенности построения логических устройств
- •3.4.1 Реализация логических функций
- •3.4.2 Особенности построения логических устройств
Контрольные вопросы и задания
Что называется булевыми константами и переменными в алгебре логики?
Почему логическое высказывание называется сложным?
Разъясните понятие операция. Что относится к основным булевым операциям?
Что отображают теоремы булевой алгебры? Сформулируйте теоремы де Моргана, поглощения и склеивания.
Назовите основные операции булевой алгебры. Как они описываются с помощью таблиц истинности; с помощью алгебраических выражений?
Какие функции заданы формулами x y, х / у, х → у, х у ?
Приведите примеры описаний функций алгебры логики в виде:
-словесной формы;
-таблицы истинности;
-алгебраического выражения; в дизъюнктивной и конъюнктивной нормальных формах;
-последовательности чисел;
-куба.
Составьте таблицу истинности для конъюнкции трех логических переменных.
Объясните понятие логический элемент и логическая схема.
Что такое функционально полные системы?
Приведите условное графическое обозначение ЛЭ: И, ИЛИ, НЕ.
В чем заключается принцип двойственности и какое его практическое значение для построения схем логических устройств?
Приведите классификацию логических устройств по способу ввода/ вывода переменных; по принципу действия.
Какие алфавиты характерны для КС и автоматов?
Что такое автомат без памяти и полный автомат.
Формы представления булевых функций
Представление логических функций
Понятие суперпозиции
3.2.1 Формы представления булевых функций
Разработаны универсальные (канонические) формы представления булевых функций, дающие возможность получить аналитическую форму произвольной функции непосредственно из таблицы истинности. Эта форма в дальнейшем может быть минимизирована или упрощена.
Поскольку между множеством аналитических представлений и множеством схем, реализующих эту функцию, имеется взаимнооднозначное соответствие, то отыскание канонической формы записи является начальным этапом синтеза логических схем.
ЛФ могут быть выражены различными логическими формулами благодаря возможности проведения над ними эквивалентных преобразований. Однако на практике наиболее удобными для представления ЛФ оказываются дизъюнктивные и конъюнктивные формы.
Рассмотрим вначале дизъюнктивные формы представления ЛФ, среди которых различают дизъюнктивную нормальную форму (ДНФ) и совершенную дизъюнктивную нормальную форму (СДНФ).
В основе представления ЛФ в дизъюнктивных формах лежит понятие элементарной конъюнкции.
Дизъюнктивные формы представления ЛФ
Конъюнкция любого числа двоичных переменных х1, х2, . . . , хп называется элементарной, если сомножителями в ней являются либо одиночные аргументы, либо отрицания одиночных аргументов.
Например, конъюнкции х2 и х1 х3 являются элементарными,
а конъюнкции х1 и х3 ими не являются.
Очевидно, что символ любой переменной в элементарной конъюнкции может встречаться только один раз, так как произведение переменной на себя равно этой же переменной (по правилу повторения), а произведение переменной на свое отрицание равно нулю.
Дизъюнктивной нормальной формой (ДНФ) переключательной функции называется дизъюнкция (логическая сумма) любого числа элементарных конъюнкций, в каждое из которых аргумент или его отрицание (инверсия) входит один раз.
Например, ЛФ F = х2 + х2 + х4 записана в ДНФ, так как она представляет собой логическую сумму элементарных конъюнкций.
Число переменных, входящих в элементарную конъюнкцию, определяет ранг этой конъюнкции.
Например, - х2 — конъюнкции 1-го ранга;
- х2, х3 -конъюнкции 2-го ранга и т. д.
ДНФ может быть получена из таблицы истинности следующим образом: для каждого набора аргументов, на котором функция равна «1», записывают элементарные произведения переменных, причем переменные, значения которых равно нулю, записывают с инверсией.
Полученные произведения, которые носят названия конституанты единиц, или минтермов, суммируют.
Пример 3.4 Найти ДНФ для логической функции 3-х переменных, которая равна единице в случае, если хотя бы две из входных переменных равны 1.
№
х2
х1
х0
f
0
0
0
0
0
1
0
0
1
0
2
0
1
0
0
3
0
1
1
1
4
1
0
0
0
5
1
0
1
1
6
1
1
0
1
7
1
1
1
1
В последнем столбце отмечаем «1» те строки, которые удовлетворяют условию задания.
Для написания ДНФ ЛЭ используем строки, логическая функция которых равна «1».
Это строки: 3, 5, 6, и 7 таблицы.
ДНФ для данной логической функции имеет вид:
F (х2, х1, х0) = 2х1х0 + х2 1х0 + х2х1 0 + х2х1х0
ДНФ, полученная суммированием конституанта единицы, называют совершенной СДНФ.
Совершенной ДНФ (СДНФ) логической функцией, имеющей п аргументов, называется такая форма, в которой все конъюнкции имеют ранг п.
Или совершенной (СДНФ) логической функции имеющей n аргументов (х1, х2, . . . , хп) называется такая форма в которой все конъюнкции содержат n аргументов.
Например, ЛФ f1 = + х2 - ДНФ, т.к. каждая конъюнкция содержит не все переменные (или их отрицания) входящих в логическую функцию по одному разу,
а ЛФ - f2 = + х2 - СДНФ, т.к. каждая конъюнкция содержит все переменные (или их отрицания) входящих в логическую функцию причем по одному разу.
Конъюнктивные формы представления логических функций
Конъюнктивные формы представления ПФ используются реже, чем дизъюнктивные. Здесь также различают конъюнктивную нормальную и совершенную конъюнктивную нормальную формы. Аналогично элементарной конъюнкции определяется элементарная дизъюнкция, представляющая собой дизъюнкцию любого числа двоичных переменных х1, х2, ..., хп, в которой слагаемыми являются либо одиночные аргументы, либо отрицания одиночных аргументов.
Например, дизъюнкции +х3, х1+ +х3, являются элементарными,
а , ими не являются.
Как и в элементарной конъюнкции, символ любой переменной в элементарной дизъюнкции может встречаться только один раз.
Ранг элементарной дизъюнкции определяется числом переменных, входящих в эту дизъюнкцию.
Например, - х2 — дизъюнкции 1-го ранга;
- х2, х3 -дизъюнкции 2-го ранга и т. д.
Конъюнктивной нормальной формой (КНФ) называется логическое произведение элементарных сумм, в каждую из которых аргумент или его отрицание (инверсия) входят один раз.
КНФ может быть получена из таблицы истинности: для каждого набора аргументов, на котором функция равна «0», составляет элементарную сумму, причем переменные, значение которых равно «1», записывают с отрицанием.
Полученные суммы, которые носят название конституанта нуля или макстермов, объединяют операцией логического умножения.
Пример 3.5 Для примера 3.4 найти КНФ логической функции 3-х переменных, которая равна единице в случае, если хотя бы две из входных переменных равны 1.
Запишем эту функцию в виде таблицы истинности –(табл. Примера 3.4)
Для написания КНФ ЛЭ используем строки, логическая функция которых равна «0».
Это строки: 0, 1, 2 и 4 таблицы.
КНФ для данной логической функции имеет вид:
F (х2, х1, х0) = (х2 + х1 + х0)(х2 + х1 + 0)(х2 + 1 + х0)( 2 +х1 + х0)
КНФ, полученная суммированием конституанта единицы, называют совершенной СКНФ.
Совершенной конъюнктивной нормальной формой (СКНФ) логической функции имеющей n аргументов (х1, х2, . . . , хп) называется такая форма в которой все дизъюнкции содержат n аргументов.
Или совершенной КНФ (СКНФ) ЛФ, имеющей п аргументов, называется такая форма, в которой все дизъюнкции имеют ранг п .
Например, ЛФ f1 = (х1+х3)(х1+ +х3)( 1+х2)( 2+х3)( 1+ 2+ 3) – ДКФ т.к. каждая дизъюнкция содержит не все переменные (или их отрицания) входящих в логическую функцию по одному разу,
а ЛФ f2 = (х1+х2+х3)(х1+ +х3)( 1+х2+х3)( 1+ 2+х3)( 1+ 2+ 3) - СКНФ т.к. каждая дизъюнкция содержит все переменные (или их отрицания) входящих в логическую функцию причем по одному разу (все дизъюнкции ранга 3).
Понятие о минтермах и макстермах
Для получения этих форм (СКНФ и СДНФ) вводятся понятия минтермов (конституанта 1) и макстермов (конституанта 0).
Для представления логической функции F в виде СДНФ необходимо составить сумму произведений значений логической функций Fi и минтермов -mi, причем число слагаемых n равно числу строк в таблице истинности, т. е.
F =
Минтерм (mi) , — это логическое произведение всех переменных, причем переменные, равные нулю, записываются с инверсией.
Минтерм — это функция n переменных, равная единице только на одном наборе.
Минтерм получают как конъюнкцию (логическое умножение) n переменных, которые входят в него в прямом виде (без изменения), если значение данной переменной в наборе Xi = 1, и с отрицанием (инверсное значение), если Хi = 0.
При n переменных имеется 2n минтермов т0, т1, ..., mR, где R = 2n - 1.
Все минтермы двух переменных приведены в табл. 3.10
Таблица 3.10- Минтермы для двух переменных F9 = X1 X2 |
|||||
X1 |
Х2 |
F9 |
fi |
Минтермы |
Макстермы |
0 |
0 |
1 |
f0=1 |
m0 = |
M0 = X1 v X2 |
0 |
1 |
0 |
f1=0 |
m1 = Х2 |
М1 = X1 v |
1 |
0 |
0 |
f2=0 |
m2 = Х1 |
М2 = v X2 |
1 |
1 |
1 |
f3=1 |
m3 = X1 Х2 |
M3 = v |
Значения функции F9, соответствующие, согласно таблице истинности, каждому i-му набору, обозначены как f0, f1, f2, f3.
Напоминание. F9 = X1 X2 -тождественность переменных. Функция имеет значение 1, когда обе переменные имеют одинаковое значение и 0 когда обе переменные имеют разные значения.
Представление функции F9 в СДНФ является дизъюнктивной суммой минтермов, соответствующих наборам переменных, для которых fi = 1:
т.е. F9 = f0∙m0 + f1∙m1 + f2∙m + f3∙m = 1∙m0 + 0 ∙m1 + 0 ∙m2 + 1∙m3 = m0 ∙ m3 = ∙ + X1 ∙Х2
Пример 3.6 Запись логической функции F в виде СДНФ для f(xl,x2,x3)=x1x2x3+(xl+x2)(xl+ 3)
Таблица 3.11
№ |
X1 |
X2 |
Хз |
f(x1,x2,x3) |
№ минтермов |
№ макстермов |
0 |
0 |
0 |
0 |
f1 =0 |
m1 |
М1 |
1 |
0 |
0 |
1 |
f2 =0 |
m2 |
М2 |
2 |
0 |
1 |
0 |
f3 =1 |
m3 |
М3 |
3 |
0 |
1 |
1 |
f4 =0 |
m4 |
М4 |
4 |
1 |
0 |
0 |
f5 =1 |
m5 |
М5 |
5 |
1 |
0 |
1 |
f6=1 |
m6 |
М6 |
6 |
1 |
1 |
0 |
f7 =1 |
m7 |
М7 |
7 |
1 |
1 |
1 |
f8 =1 |
m8 |
М8 |
m1 = 1 2 3; m2 = 1 2 x3; m3 = 1 х2 3; m4 = 1 х2 х3;
m5 = х1 2 3; m6 = xl 2 x3; m7 =x1 х2 3; m8 = x1 x2 x3.
Следовательно, логическая функция F, заданная таблицей истинности 3.11, имеет следующую СДНФ: F = ml f1 + m2 f2 + m3 f3 + m4 f4 + m5 f5 + m6 f6 + m7 f7 + m8 f8 =
= ml 0 + m2 0 + m3 1 + m4 0 + m5 1 + m6 1 + m7 1 + m8 1 = m3 1 + m5 1 + m6 1 + m7 1 + m8 1 =
= 1 x2 3 + x1 2 3 + x1 2 x3 + x1 x2 3 + x1 x2 x3 -запись функции F в СДНФ
Таким образом, для записи функции в виде СДНФ можно использовать следующее правило: следует записать столько дизъюнктивных членов, представляющих собой конъюнкции (произведения) всех переменных, сколько раз функция принимает значение 1, причем переменные, равные нулю, записываются с инверсией.
Для представления логической функции F в виде СКНФ необходимо составить произведение сумм значений логической функции Fi и макстермов -Мi причем число произведений n равно числу строк в таблице истинности, т. е.
F =
Макстерм Мi — это логическая сумма всех переменных, причем переменные, равные 1, записываются с инверсией.
Макстерм — это функция n переменных, равная нулю только на одном наборе.
Макстерм получают как дизъюнкцию (суммирование) всех переменных, которые входят в него в прямом виде, если значение Xi = 0, или в инверсном виде, если значение Хi = 1.
Число макстермов равно 2n, для функции двух переменных они приведены в табл. 3.10.
Представление функции F9 в СКНФ записывается в виде:
F9 = (f0 + M0)(f1 + M1)(f2 + M2)(f3 + M3) = (1 + M0)(0 + M1)(0 + M2)(1 + M3) =
= M1M2 = (X1 + )( + X2)
Поясним на примере табл. 3.12 аналитическую запись функции трех переменных в СДНФ и СКНФ.
Для записи функции Р в СДНФ требуется дизъюнктивно сложить те минтермы, для которых функция равна единице:
Используем строки -2, 4, 5, 7 и 8, тогда P = X3 X3 X1 X1 X2 X1 X2 X3
Для записи функции Р в СКНФ необходимо записать конъюнкцию макстермов, для которых функция равна нулю:
Таблица 3.12 - Функции трех переменных Р(X1 X2 X3) |
||||
№ строки |
X1 |
Х2 |
X3 |
P |
1 |
0 |
0 |
0 |
0 |
2 |
0 |
0 |
1 |
1 |
3 |
0 |
1 |
0 |
0 |
4 |
0 |
1 |
1 |
1 |
5 |
1 |
0 |
0 |
1 |
6 |
1 |
0 |
1 |
0 |
7 |
1 |
1 |
0 |
1 |
8 |
1 |
1 |
1 |
1 |
Используем строки -1, 3 и 6, тогда P = (X1 X2 X3) (X1 X3) ( X2 )
По этому способу производится запись в СДНФ и СКНФ функций с произвольным числом переменных.
Пример 3.7 Запись логической функции F в виде СКНФ для f(xl,x2,x3)=x1x2x3+(xl+x2)(xl+ 3).
Для таблицы 3.12 можно записать следующие макстермы:
М1 = х1 + х2 + х3; М2 = х1 + х2 + 3; М3 = х1 + 2 + х3; М4 = х1+ 2 + 3
М5 = 1 + х2 + х3 М6 = 1 + х2 + 3 М7 = 1 + 2 + х3 М8 = 1+ 2+ 3
Следовательно, логическая функция F, заданная таблицей истинности, описывается следующей СКНФ:
F = (Мl+f1)(М2 +f2)(М3+f3)(М4+f4)(М5+f5)(М6+f6)(М7+f7)(М8+f8) =
=(х1+х2+х3+0)∙(х1+ х2+ 3+0)∙(х1+ 2+x3+1)∙(х1+ 2+ 3+0)∙
∙( 1+х2+х3+1)∙( 1+х2+ 3+1)∙( 1+ 2+х3+1)∙( 1+ 2+ 3+1) =
=(х1 + х2 + х3)∙(х1 + х2 + 3)∙(х1+ 2 + 3) - запись функции F в СKНФ
Таким образом, для записи функции в виде СКНФ используют следующее правило: следует записать столько конъюнктивных членов, представляющих собой дизъюнкции (суммы) всех переменных, сколько раз функция принимает значение 0, причем переменные, равные единице, записываются с инверсией.