Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Анализ дискретных устройств объектов информатизации при решении задач информационной безопасности. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
Пример 2.11.
(,,
)
=
˅
.
Получим КНФ функции:
(,,
)=(
˅
=(˅
)(
)(
˅
˅
)(


˅
˅
)(
)(

)
˅
.
)
=
Определив недостающие переменные в каждой элементарной дизъюнкции, добавим их и приведем к виду КНФ, получив СКНФ:
=(˅˅
)(˅˅
=(˅˅)(˅˅
(,,
)(˅
)(

)
=
˅˅
˅)(
)(
˅

˅˅)= ˅
)
.
Нормальные и совершенные нормальные формы логических функций используются при решении задач, анализа ДУ, в частно­сти для определения возможности минимизации функциональных электрических схем ДУ.
2.7. Минимизация логических функций
При рассмотрении стандартных форм логических функций бы­ло выяснено, что СДНФ и СКНФ являются неэкономичными фор­мами представления логических функций. Для построения ДУ це­лесообразно применять формы представления логических функций более компактные, позволяющие экономно реализовать устройства.
Критериями компактного представления логических функций являются: минимальное количество переменных в ДНФ (КНФ) или минимальное количество элементарных дизъюнкций (конъюнкций) в ДНФ (КНФ). Эти критерии используются при минимизации логи­ческих функций.
Известны методы минимизации, позволяющие по СДНФ (СКНФ) получить сокращенные ДНФ (СкДНФ), тупиковые ДНФ (ТДНФ), минимальные ДНФ (МДНФ) и кратчайшие ДНФ (КДНФ).
Рассмотрим методы получения минимизированных дизъюнк­тивных форм логических функций.
Получение СкДНФ по методу В. Куайна. В этом методе ис­пользуются так называемые простые импликанты.
21
Для логической функции импликантой будет любая функция φ, если на любом значении наборов переменных, где φ = 1, значе­ние функции также равно 1. Так, каждая конституента 1 в СДНФ
будет импликантой этой функции.
Импликантами будут и результаты совместного применения к
логической функции операций неполного склеивания ∨ = = ∨ ∨ и поглощения ∨=A, т. е. каждое выражение А,
а также их дизъюнкции.
Импликанта называется простой, если никакое ее вхождение не является импликантной данной функции.
Для минимизации СДНФ по методу В. Куайна осуществляется
попарное сравнение элементарных конъюнкций вида А и А
и применение операций склеивания  ∨А =  ∨ ∨ и ∨ =  и поглощения до тех пор, пока их можно осуществлять.
В результате получается дизъюнкция конъюнкций (называемые простыми импликантами), которая эквивалентна исходной СДНФ.
Дизъюнкция всех простых импликант логической функции называется сокращенной ДНФ.
Пример 2.12.
(,,
=(1− 3):
)
= (1)
∨

∨



∨
∨(2)

∨ = 

∨(3)
∨(2−3):
∨
.


∨
=
Здесь элементарные конъюнкции пронумерованы (1), (2), (3). Попарное рассмотрение их – (1–3), (2–3).
Получение СкДНФ по методу Е. Мак-Класски. В этом методе процедура неполного склеивания и поглощения над буквенными вы­ражениями функций заменена операциями над двоичными кодами.
Каждой конституенте 1 ставится в соответствие код двоичного
числа. Например, для 

 кодом будет 001, для 


– 000. К кодам применяются операции склеивания и поглощения. Склеи­ваются только соседние коды, которые отличаются только в одном разряде. В обобщённом коде в результат склеивания, вместо ис­ключенной переменной, ставится прочерк. Все поглощенные коды помечаются. Оставшиеся непомеченными коды представляют про­стые ипликанты.
22
Для примера 2.12 применение метода Е. Мак-Класски состоит в


 

 




следующем:
выписывают в виде кодов конституенты единиц:
010, 001, 000;
проводят попарное склеивание соседних кодов:
010 000
0−0
∗ ∗

001 000 00−
∗ ∗
;
коды 0–0 и 00– не являются соседними и их склеивание не-
возможно. Им соответствуют простые импликанты 

и 

;
СкДНФ будет иметь вид:
(,,
)
= 

∨

.
Получение ТДНФ покрытием импликантной таблицы. Для по- лучения ТДНФ логической функции используется СДНФ функции и СкДНФ. Строится импликантная таблица, столбцы которой обо­значаются конституентами единиц СДНФ, а строки – простыми импликантами СкДНФ.
Для логической функции в СДНФ (,,
∨

(,,
∨
∨
)
= 
∨

∨
∨
и полученный СкДНФ
∨
построим импликантную
)
= 

∨
таблицу (табл. 2.5).
Таблица 2.5
Импликантная таблица
Простые импликанты
P1
P2
P3
P4
× × × ×
× × × ×
Конституенты единицы
В табл. 2.5 поставлены отметки в клетках на пересечении кон­ституент единиц и простых импликант, ее поглощающих.
23
Задача покрытия импликантной таблицы состоит в определе-
{
нии неизбыточного множества строк
}
, для которых каждый
столбец имеет хотя бы одну отмеченную клетку.
Покрытия, близкие к минимальному, можно получить следую­щим образом:
1) выбирают столбец с наименьшим числом отмеченных кле-
{
ток и строку с отмеченной клеткой включают в
}
;
2) исключают из импликантной таблицы выбранную строку и
все столбцы, имеющие отметки в этой строке;
3) повторяют пп. 1 и 2 для оставшихся столбцов, пока все
столбцы не будут вычеркнуты;
4) проверяют неизбыточность покрытия путем поочередного
{
исключения выбранных строк из
}
.
Если при исключении какой-либо строки все конституенты еди­ницы заданной функции будут иметь отметки в остальных строках, то
{
эта строка является избыточной и должна быть удалена из
}
.
Дизъюнкция простых импликант, входящих в покрытие им­пликантной таблицы, представляет собой ТДНФ.
Для рассматриваемой импликантной таблицы простые импли-
канты = 
 и = 
войдут в покрытие сразу, поскольку имеют по одной отметке, которые зафиксированы прямоугольника­ми (см. табл. 2.5). Покрытие будет
{
,
ключенного, первого столбца в покрытие могут войти или  или
Тогда
{
,,
}
– одно покрытие, а
{
}
. Для оставшегося, не ис-
,,
}
– другое.
Исключение любой строки из каждого покрытия оставляет не-
которую часть таблицы с не исключенными столбцами.
Таким образом, получаются две ТДНФ:
ТДНФ
ТДНФ
= 
= 
∨
∨
∨
∨
 
,
.
.
Получение ТДНФ по методу С. Петрика. По этому методу по-
крытие получают преобразованием ПΣ → ΣП.
По рассматриваемому примеру будет ясна суть метода.
)
ΣП =(∨
(
∨
24
)
(
∨
)
.
Раскрытие скобок приводит к виду:
ΣП = 
(
∨
)(
∨
)
=
= ∨∨=
= ∨∨∨.
Каждое слагаемое определяет строки, обеспечивающие
покрытие.
Есть избыточное покрытие – 

.
, есть повторяющееся –
В итоге, имеются два неизбыточных покрытия, обозначенные
 и 
:
={,,
}
, ={,,
}
.
Получение МДНФ. Получение МДНФ состоит в переборе всех полученных тупиковых ДНФ и выборе минимальной по числу букв в каждой ТДНФ.
В рассматриваемом примере две ТДНФ и каждая из них имеет одинаковое количество букв. Отсюда следует, что функция имеет две МДНФ:
МДНФ
МДНФ
=  = 
∨ ∨
∨ ∨
имеет 6 букв;
имеет 6 букв.
Используя скобочную форму записи функции, можно получить
так называемое компактное её представление. Так для
МДНФ
это
представление может иметь вид:
 = 
(∨)∨
.
Минимизация по методу матриц Карно. Матрицы Карно упрощают задачу минимизации при получении минимальных нор­мальных форм логических функций.
Матрица Карно – это прямоугольная таблица истинности, со­держащая 2n клеток, в которой строки и столбцы обозначены сосед­ними двоичными кодами. В клетки матрицы записываются значения логической функции на соответствующих наборах переменных. Если в клетке матрицы Карно стоит прочерк для частично опреде­ленной логической функции, то в этой клетке можно ставить либо 0, либо 1.
25
Матрица Карно для трех переменных представлена в табл. 2.6, а для четырех – в табл. 2.7.
Таблица 2.6
Матрица Карно для трех переменных
x2 x
x
1
3
00 01 11 10
0 0 1
1 1 0 1
1
1 0
001 101
−01

100 110
1−0
Здесь подкубы демонстрируют склеивание.
Матрица Карно для четырех переменных
x3 x
x1 x
2
4
00 01 11 10 00 0 0 0 0 01 0 1 1 0 11 0 1 1 0
Таблица 2.7
10 0 0 0 0
01−1 11−1
−1−1
В матрицах Карно могут объединяться 1 или 0 в подкубы. Под-
куб объединяют 2n клеток в форме прямоугольника.
Например, на рис. 2.5 представлены варианты правильных под-
кубов.
26
Рис. 2.5. Правильные подкубы матрицы Карно
Рассмотрим свойства матриц Карно:
объединение двух соседних клеток, в которых записаны еди- ницы, равносильно операции склеивания им соответствующих кон­ституент 1. В табл. 2.6 и 2.7 показано склеивание конституент 1 при включении в подкуб, соответственно, двух и четырех единиц;
соседним наборам переменных функции соответствуют не только рядом расположенные единицы, но и крайние клетки строк и столбцов;
чем больше клеток включено в подкуб, тем больше консти- туент 1 склеиваются и тем меньше букв входит в конъюнкцию, со­ответствующую подкубу;
подкуб, полностью не входящий в другой подкуб, эквивален- тен простой импликанте;
27
для записи импликанты, соответствующей выбранному под- кубу, необходимо выделить те переменные, которые не меняют своего значения в подкубе.
Для ДНФ, если переменная равна 1, то в импликанту она вой-
дет в прямом виде , если равна 0 – в инверсном виде .
По матрице Карно, если надо получить СДНФ, надо взять дизъюнкцию выражений, полученных для каждой конституенты единицы.
Для получения СкДНФ надо взять дизъюнкцию выражений (простых импликант), полученных для всех максимально возмож­ных подкубов и покрывающих все единицы матрицы.
Для получения ТДНФ надо взять дизъюнкцию выражений, по­лученных для максимально возможных подкубов, покрывающих все единицы матрицы, при которых из всех подкубов какой-либо подкуб исключен, а все единицы остались охвачены оставшимися подкубами.
Получение МДНФ состоит в выборе из всех возможных по­крытий для ТДНФ такое, которое имеет большие подкубы.
Пример 2.13. Пусть дана матрица Карно (табл. 2.8) с выделен­ными максимальными подкубами по единицам.
Таблица 2.8
Матрица Карно с максимальными подкубами по 1
x3 x4
x1 x2
00 01 11 10 00 1 1 0 0 01 0 0 0 0 11 1 1 0 1 10 0 1 0 0
Запишем по матрице все дизъюнктивные нормальные формы
представления логической функции:
(,,,)
∨
СДНФ
= 



∨
28

∨

∨


∨

;
∨
(,,,
)
СкДНФ=
= 
(,,,)
(,,,)
(,,,)
∨
ТДНФ
МДНФ
∨
= 
ТДНФ
= 

= 

∨

∨
∨

∨



∨
∨
∨

∨

∨
– выбрана.
;
;
;
По рассматриваемой матрице Карно (табл. 2.9), но с макси­мальными подкубами по 0 запишем все конъюнктивные нормаль­ные формы представления логической функции.
Таблица 2.9
Матрица Карно с максимальными подкубами по 0
x3 x4
x1 x2
00 01 11 10 00 1 1 0 0 01 0 0 0 0 11 1 1 0 1 10 0 1 0 0
(,,,
∙(∨ ∙(∨
∨∨ ∨
∙(
= (∨ (,,,) (,,,)
(,,,
)
СКНФ
∨
∨∨
)(∨
= (∨
ТКНФ
= (∨)(∨)(∨)(∨∨);
ТКНФ
=(∨∨
)(
)(
∨ 
∨
∨
∨∨ ∨
)(
(,,,
)(∨
)(
)
МКНФ
= 
∨
∨∨
)
СкКНФ=
)(
∨
(
,,,
∨
)( )(
∨
)(∨
)(
∨∨ ∨ 
∨
∨),
)(
∨∨);
)
ТКНФ=
∨ ∨
)(
∨∨);
∨ ∨ ∨
)
)
)
= (,,,)
ТКНФ
29
– одна из них.
2.8. Разработка функциональной электрической схемы дискретного устройства комбинационного типа
Рассмотренные логико-математические основы ДУ комбина­ционного типа позволяют проводить построение ФЭС по таблице истинности.
Построение ФЭС по таблице истинности проводят в такой по­следовательности.
Рассмотрим процесс построения ДУ на примере.
Пример 2.14. Пусть дана таблица истинности (табл. 2.10)
Таблица 2.10
Таблица соответствия для построения ФЭС ДУ
комбинационного типа
x
1
x2 x3 x4 z
0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1
30
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]