- •Как выполнить операции над сигналами?
- •Как обработать информацию?
- •Как записать функцию, описывающую закон функционирования какого-то устройства?
- •1.2. Элементарные логические функции
- •Элементарные логические функции одного аргумента
- •Логические функции двух аргументов
- •1.3. Функционально полные системы логических функций (базис)
- •1.4. Основные законы и эквивалентности для логических операций
- •1.5. Канонические формы представления логических функций
- •Пример.
- •1.6. Эквивалентные преобразования логических функций
- •Пример.
- •1.7. Аналитический метод минимизации логических функций
- •Приведем пример минимизации ноф
- •1.8. Графический метод минимизации логической функции
- •А) Минимизация не полностью определенных функций
- •Б) Минимизация совокупности функций.
1.7. Аналитический метод минимизации логических функций
Определение
сокращенных форм логических функций
может быть сделано методом Квайна.
Сущность метода Квайна заключается в
следующем. Если в СДНФ двоичной функции
произвести все возможные операции
неполного склеивания XY + X
= X, а затем все возможные операции
поглощения XY + X = X, то в результате будет
получена сокращенная ДНФ функция, т.
е. дизъюнкция всех ее простых импликант.
Алгоритм минимизации методом Квайна состоит из следующих операций:
представить минимизируемую функцию в СДНФ;
последовательно провести возможные операции неполного склеивания;
проведение всех возможных операций поглощения.
Пример 1. Найти сокращенную ДНФ двоичной функции
F
(X,Y,Z) =
![]()
Ее СДНФ имеет вид
1 2 3 4 5
F
(X,
Y,
Z)
=
![]()
![]()
+
![]()
Z
+ X![]()
+ XY
+ XYZ.
Произведем последовательно все возможные операции неполного склеивания
1-2, 1-3, 3-4, 4-5 1 2 3 4 5
F
(X, Y, Z) =
![]()
+![]()
+
X
+
XY +![]()
![]()
+![]()
Z
+ Х![]()
+ XY
+ XYZ.
Здесь одиночными номерами отмечены конституенты единицы исходной формы, а двойными - члены исходной формы, участвовавшие в склеивании при получении нового члена.
Теперь
произведем все возможные поглощения.
Член
![]()
поглощает конституенты
![]()
![]()
и
![]()
Z,
члены
![]()
,
X
,
XY - соответственно конституенты X![]()
,
XY
,
XYZ.
В результате получим выражение
F
(X,
Y,
Z)
=
![]()
+![]()
+
X
+
XY,
которое является сокращенной ДНФ.
Использование формул неполного склеивания показывает, что один и тот же член исходного представления может склеиваться с несколькими из остальных членов. Для нахождения всех простых импликант необходимо произвести все возможные склеивания каждого члена с остальными. Обычно это делается следующим образом.
Пример тот же.
1 2 3 4 5
F
(X,
Y,
Z)
=
![]()
![]()
+
![]()
Z
+ X![]()
+ XY
+
XYZ.
1*
- 2*
![]()
(склеивание по Z),
1
- 3*
![]()
(склеивание по X),
3
- 4* X
(склеивание по Y),
4 - 5* X Y (склеивание по Z).
F
(X,
Y,
Z)
=
![]()
+![]()
+
X
+
XY
- сокращенная ДНФ.
Здесь звездочками отмечены номера членов, которые поглощаются импликантами, получаемые после каждого склеивания.
Если звездочками будут отмечены номера всех членов исходной формы, то в сокращенную форму войдут только результаты всех склеиваний. В противном случае неотмеченные конституенты единицы будут простыми импликантами и в качестве таковых войдут в сокращенную ДНФ.
Поскольку простая импликанта может принимать значения 1 на нескольких наборах, то в некоторых случаях в сокращенной ДНФ могут содержаться лишние импликанты, исключение которых не влияет на поведение функции. В процессе минимизации все лишние импликанты должны быть исключены из сокращенной ДНФ. В результате будут получены тупиковые ДНФ (ТДНФ).
Тупиковой ДНФ двоичной функции называется дизъюнкция ее простых импликант, ни одна из которых не является лишней.
Пример.
Получить тупиковую дизъюнктивную
нормальную форму логической функции F
(X, Y, Z, V) =
![]()
Сокращенная ДНФ данной функции имеет вид
F
(X, Y, Z, V) = X
+ XZ + YZ +
YV
+
![]()
V
+
![]()
V
.
Найдем ТДНФ методом импликантных матриц.
Метод импликантных матриц включает в себя следующие этапы:
1. Получение СДНФ переключательной функции.
2. Получение сокращенной ДНФ переключательной функции, т.е. нахождение всех ее простых импликант.
3. Построение прямоугольной матрицы - импликантной матрицы, столбцы которой соответствуют конституентам единицы, а строки ее простым импликантам.
4. Выбор из импликантной матрицы минимального количества самых коротких простых импликант, которые совместно поглощают все конституенты единицы функции и ни одна из которых не является лишней.
Дизъюнкция выбранных таким образом простых импликант и будет являться тупиковой.
Пример. Построить импликантную матрицу и получить тупиковые и минимальную ДНФ функции, рассмотренные выше в примере.
СДНФ
F (X, Y, Z, V) =
![]()
![]()
V
+
Y
V
+
YZ
+
YZV
+
+
X![]()
![]()
+ X![]()
V
+ X
Z
+ X
ZV
+ XYZ
+ XYZV.
Сокращенная ДНФ
F
(X, Y, Z, V) = X
+
XZ + YZ +
YV
+
![]()
V
+
![]()
V.
Строим импликантную матрицу (Таблица 1.19).
Таблица 1.19
|
Прост Имплик. |
|
|
|
|
X |
X |
X |
X |
XYZ |
XYZV |
|
X |
|
|
|
|
|
|
|
|
|
|
|
X Z |
|
|
|
|
|
|
|
|
|
|
|
Y Z |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Следует поставить крестики в тех клетках таблицы, в которых импликанты являются частью конституент единицы. Все столбцы обязательно должны быть отмечены одним или несколькими крестиками.
Суть нахождения тупиковых ДНФ по импликантной матрице сводится к отысканию вариантов простых импликант, которые совместно накрывают все исходные конституенты 1.
Вначале определяются существенные импликанты, которые должны обязательно войти в минимальную форму.
Существенной импликантой называют такую импликанту, которая в единственном числе накрывает ту или иную конституенту 1.
Из
полученной импликантной матрицы следует,
что импликанты X
и YZ являются существенными, поскольку
конституента
YZ
поглощается только одной импликантой
YZ, а конституента X![]()
![]()
только импликантой X
.
Поэтому импликанты X
и YZ должны обязательно войти в минимальную
форму. Совместно эти две импликанты
поглощают все конституенты, кроме первых
двух
![]()
![]()
V
и XYZV. Поглощение указанных первых двух
конституент единицы может быть сделано,
как следует из импликантной матрицы,
двумя путями: либо с помощью двух
импликант
YV
и
![]()
V,
либо с помощью одной импликанты XZV. Это
приводит к двум ТДНФ:
1-я
ТДНФ F1 (X, Y, Z, V) = X
+ YZ +
YV
+
![]()
V;
2-я
ТДНФ F2 (X, Y, Z, V) = X
+ YZ +
![]()
V.
Первая содержит 10 букв, а вторая - 7. Поэтому вторая ТДНФ является минимальной (МДНФ).
МДНФ называется такая функция, которая содержит наименьшее количество букв по сравнению с любыми другими функциями ДНФ.
Пример. Дана СДНФ
F
(X, Y, Z, V) =
![]()
ZV
+
Y
V
+
YZ
+ X![]()
V
+ XYZ
+
+
X
ZV
+ XY![]()
+ XYZV + XYZ
+XYZV,
ее
СкДНФ F(X,
Y,
Z,
V)
= Y
V
+ YZ
+ YZ
+ X
V
+ XZ
+ XV
+ XZ
+ XY.
Импликантная матрица имеет вид, представленный в таблице 1.20.
Таблица 1.20
|
прост. мплик. |
|
|
|
X |
XYZ |
X |
XY |
XY |
XYZ |
XYZV |
|
X |
|
|
|
|
|
|
|
|
|
|
|
X Z |
|
|
|
|
|
|
|
|
|
|
|
X Y |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Y |
|
|
|
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
|
|
|
|
|
X
Z |
|
|
|
|
|
|
|
|
|
|
1.
ТДНФ
F1
= XZ +
ZV
+ Y
V
+ YZ
+ XV + XY - 15.
2.
ТДНФ
F2
= XZ +
ZV
+ YZV + YZ
+ XV + XY
- 16.
3.
ТДНФ
F3
= XZ +
ZV
+ Y
V
+ YZV + XV + X
V
+ XY - 18.
Из трех ТДНФ функция F1 (X, Y, Z, V) будет минимальной, так как она содержит наименьшее число букв - 15 по сравнению с F2 (X, Y, Z, V) и F3 (X, Y, Z, V), соответственно 16 и 18 букв.

К1
К1