Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Теория автоматов. Учебное пособие
.pdf
zyx
,
zyx
,
zyx
,
В общем виде СДНФ и СКНФ записываются выражениями (6.32) и (6.33),
Пример 6.6. Пусть логическая функция P(x, y, z) задана следующей таб-
Решение. По таблице истинности находим, что функция P(x, y, z) прини-
zyx
,
zyx
,
zyx
,
xyz
.
zyx
,
zyx
,
xyz
.
zyx
,
zyx
,
xyzzyxzyxzyxzyxP
СДНФ
),,(
.
zyx
,
zyx
,
xyzzyxzyxzyxzyxP
СДНФ
),,(
.
))()()((),,( zyxzyxzyxzyxzyxP
СКНФ
.
содержит наименьшее число букв по сравнению со всеми ДНФ/КНФ, существующими для данной функции. При помощи правил развертывания элементарных конъюнкций и дизъюнкций, ДНФ и КНФ могут быть
преобразованы в СДНФ и СКНФ.
В общем виде СДНФ и СКНФ записываются выражениями (6.32)
и (6.33), которые могут быть слишком громоздкими. Для их упрощения
используется более компактная числовая форма записи, предусматривающая только перечисление десятичных эквивалентов двоичных наборов, на которых функция принимает значение единицы (для СДНФ)
или нуля (для СКНФ), соединив их знаками дизъюнкции (для СДНФ)
и конъюнкции (для СКНФ).
Пример 6.6. Пусть логическая функция P(x, y, z) задана следующей
таблицей истинности (табл. 6.3). Требуется представить ее в виде СДНФ
и СКНФ.
Решение. По таблице истинности находим, что функция P(x, y, z)
принимает единичные значения на четырех входных наборах аргументов. Данным наборам аргументов соответствуют следующие четыре
минтерма:
Тогда в виде СДНФ данная логическая функция будет представлена
в следующем виде:
,
,
,
.
.
По аналогии представим данную логическую функцию в виде
СКНФ. В итоге получим:
Таблица 6.3
Входные наборы
z y x
0 0 0 0 x + y + z
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
Значение
функции
-81-
для СДНФ для СКНФ
минтерм макстерм
y z
x
xyz
x
+ y + z
x y
z
x
+ y +
x +
xyz
.
y
+
z
z

1
, a2, …, an) пере-
В геометрическом смысле каждый двоичный набор (a1, a2, …, an)
переменных логической функции можно рассматривать как n-мерный
вектор, определяющий точку n-мерного пространства. Исходя из этого,
все множество наборов, на которых определена функция n переменных,
представляется в виде вершин n-мерного куба. Отмечая точками вершины, в которых функция имеет единичные значения, получают ее геометрическое представление, например, так, как показано на рис. 6.7, а.
а б в
Рис. 6.7. Геометрическое и кубическое представление функции
Y = (3, 4, 5, 6, 7): a — 0-кубы; б — 1-кубы; в — 2-куб
На основе геометрических представлений строятся кубические
представления логических функций, в которых используются элементы n-мерных кубов. Геометрически каждому набору (a
ветствует вершина n-мерного куба с данными координатами. Каждую
вершину, на которой функция принимает единичное значение, приня-
,a2, …, an) соот-
1
то называть 0-кубом (нулевым кубом). Множество 0-кубов образует ну-
левой кубический комплекс К
нулевой кубический комплекс имеет вид К
. Например, для функции Y = V(3, 4, 5, 6, 7)
0
= (011, 100, 101, 110, 111)
0
и в данном случае состоит из пяти 0-кубов, каждый из которых соответствует определенной вершине трехмерного куба (рис. 6.7, а).
Если два 0-куба из комплекса К
различаются только по одной ко-
0
ординате, то они образуют один 1-куб (единичный куб). Он представля-
ется общими элементами 0-кубoв, а на месте координаты, по которой
различаются 0-кубы, указывается символ «-», обозначающий независимую координату. Например, два 0-куба: 100, 101 различаются только по
третьей координате и, следовательно, образуют единичный куб 10-, ко-
торому соответствует ребро трехмерного куба. Все множество единичных кубов функции образует единичный кубический комплекс К
-82-
1.

Для функции Y = V(3, 4, 5, 6, 7) он состоит из пяти 1-кубов: K1 = {-11, 10-,
1-0, 1-1, 11-} и определяет все множество ребер, на которых функция Y
принимает единичные значения (рис. 6.7, б).
Если два единичных куба из комплекса K
имеют общую незави-
1
симую координату и различаются только по одной координате, то они
образуют один 2-куб (двоичный куб). Его запись состоит из общих
компонент 1-кубов, а координата, принимающая различные значения
в 1-кубах, обозначается в 2-кубе как независимая координата «-» (пробел). Например, два единичных куба 1-0 и 1-1 образуют один двоичный
куб 1--. Для рассматриваемой функции Y двоичный комплекс имеет вид
К
= {1--} и состоит из одного двоичного куба, соответствующего грани
2
трехмерного куба (рис. 6.7, в). Размерность куба определяется числом
независимых координат (символов «-»).
Объединение кубических комплексов К
x
, …, xn) образует кубический комплекс функции К(f). Для рассматрива-
2
, К1, …, Кn функции f(x1,
0
емого примера комплекс К(f) соответствует объединению комплексов
К
, К1 и К2.
0
В отличие от аналитических форм записи логических функций,
в которых используется большой набор индексированных букв и математических знаков, кубические представления позволяют задавать
логические функции в виде множества кубов, компонентами которых
являются только три символа; 0, 1, -. Ограниченное число символов
в записи функций позволяет использовать кубические представления
в ЭВМ при решении задач автоматизированного логического проектирования комбинационных автоматов.
-83-

Целью минимизации логических функций является получение более простых аналитических выражений, что в свою очередь позволит
осуществить более простую реализацию соответствующего комбинационного автомата.
Для рассмотрения вопроса минимизации необходимо сформулировать следующие определения.
Совершенной дизъюнктивной нормальной формой (СДНФ)
логической функции f(x
конъюнкций максимального ранга, соответствующих наборам входных
переменных, на которых значение логической функции равно 1.
Дизъюнктивной нормальной формой (ДНФ) логической функции f(x
, …, xn) называется дизъюнкция элементарных конъюнкций
1
функции, ранг хотя бы одной из которых меньше максимального ранга.
Сокращенной дизъюнктивной нормальной формой логической функции f(x
, …, xn) называется такая ДНФ, реализующая f(x1, …, xn),
1
которая состоит из элементарных конъюнкций, ранг хотя бы одной из
которых меньше максимального ранга и которые не могут быть более
склеены между собой. Такие элементарные конъюнкции принято называть импликантами.
Тупиковой дизъюнктивной нормальной формой логической
функции f(x
, …, xn) называется такая ДНФ, реализующая f(x1, …, xn), в ко-
1
торой ни одна из импликант не является лишней, то есть ни одна из
импликант не может быть удалена из формулы.
Кратчайшей дизъюнктивной нормальной формой логической функции f(x
, …, xn) называется такая ДНФ, реализующая f(x1, …, xn),
1
в которой количество импликант минимально по сравнению с другими
ДНФ, реализующими функцию f(x
Минимальной дизъюнктивной нормальной формой логической функции f(x
, …, xn) называется такая ДНФ, реализующая f(x1, …, xn),
1
, …, xn) называется дизъюнкция элементарных
1
, …, xn).
1
-84-

Исходная таблица истинности
Тупиковая ДНФ функции
Кратчайшая и минимальная
в которой минимально количество букв переменных по сравнению
с другими ДНФ, реализующими функцию f(x
, …, xn).
1
Общую схему минимизации логических функций можно проиллюстрировать следующим образом:
СДНФ логической функции
Сокращенная ДНФ функции
ДНФ функции
Задача минимизации логических функций осложнена следующими обстоятельствами:
1. Общее количество ДНФ логической функции f(x
от n-переменных, определяется величиной 2
n
3
. Число 3 определяется тем,
, …, xn), зависящей
1
что возможны три исхода: любая логическая переменная может входить
в ДНФ со значением инверсии, без знака инверсии, может не входить
в элементарную конъюнкцию, то есть |D| = 2
тва D, состоящего из объектов ДНФ логической функции f(x
n
3
, где |D| — мощность множес-
, …, xn) [22].
1
2. Среди множества D содержится одна единственная СДНФ логической функции f(x
ей сокращенных и тупиковых ДНФ, реализующих функцию f(x
, …, xn) и некоторое количество тождественных
1
, …, xn).
1
В настоящее время не существует какого-либо способа определения общего количества тождественных ДНФ, реализующих одну и ту же логическую функцию.
3. Вид тождественной ДНФ логической функции существенно зависит от формы записи СДНФ и порядка преобразований, производимых над СДНФ логической функции.
Все известные на сегодня способы минимизации логических функ-
ций могут быть поделены на две большие группы:
1) методы минимизации одновыходных (одиночных) логических
функций;
-85-

2) методы минимизации системы логических функций, зависящих
от n-аргументов.
Среди методов первой группы выделяют следующие методы: пря-
мые аналитические преобразования логических функций, визуальные
методы минимизации с помощью специальных таблиц, машинно-ориентированные методы минимизации.
Все методы минимизации одновыходных логических функций базируются на следующих операциях:
a
1. a · K +
· K = K — склеивание, где a — переменная, К— элементар-
ная конъюнкция.
a
2. a · K +
3. a · K
4. K
1
· K = a · K + a · K + K — неполное склеивание.
+ a · K2 = a · K1 + a · K2 + K1K2 — обобщенное склеивание.
1
· K2 + K1 = K1 + — поглощение.
Одним из первых таких, строго формализованных, методов является метод Квайна. Сущность этого метода состоит в следующем: если
над минтермами исходной СДНФ произвести сначала все возможные
операции неполного склеивания, а затем над полученным выражением
все возможные операции поглощения, то в результате многократно выполненных таких преобразований будет получена сокращенная ДНФ.
Проиллюстрируем применение метода Квайна для минимизации
логической функции F(a, b, c), заданной следующей таблицей истиннос-
ти (табл. 7.1):
a b c F(a, b, c)
0 0 0 1
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
-86-
Таблица 7.1

KKaKa
— склеивание, где a — переменная, К — элемен-
KKaKaKaKa
— неполное склеивание.
212121
KKKaKaKaKa
— обобщенное склеива-
1121
KKKK
— поглощение.
Таблица 7.1
a b c
F(a, b, c)
0 0 0 1 0 0 1
1
0 1 0
1
0 1 1
0
1 0 0
0
1 0 1 1 1 1 0
1
1 1 1
1
СДНФ
. (7.1)
54321
. (7.2)
6
54321
),,( abccabcbacbacbacbacbaF
СДНФ
. (7.2)
Таблица 7.2
конъюнкций
Импликанты, полученные
в результате склеивания
(если склеивание возможно)
1–2
bacbacba
1–3
cacbacba
1–4
не склеиваются
1–5
не склеиваются
1–6
не склеиваются
2–3
не склеиваются
2–4
cbcbacba
2–5
не склеиваются
2–6
не склеиваются
3–4
не склеиваются
3–5
cbcabcba
3–6
не склеиваются
4–5
не склеиваются
4–6
acabccba
5–6
ababccab
abaccbcbcabacbaF
),,(
. (7.3)
Выпишем СДНФ функции F(a, b, c):
Пронумеруем каждую конъюнкцию из (7.1) следующим образом:
СДНФ
),,( abccabcbacbacbacbacbaF
. (7.1)
abccabcbacbacbacbacbaF
),,(
6
. (7.2)
Затем склеиваем (если это возможно) каждый из членов выражения (7.2) с последующими членами и записываем полученные импликанты так, как показано в табл. 7.2.
Таблица 7.2
Номера склеиваемых
конъюнкций
1–2
1–3
1–4 не склеиваются
1–5 не склеиваются
1–6 не склеиваются
2–3 не склеиваются
2–4
2–5 не склеиваются
2–6 не склеиваются
3–4 не склеиваются
3–5
3–6 не склеиваются
4–5 не склеиваются
4–6
5–6
Импликанты, полученные
в результате склеивания
(если склеивание возможно)
+ abc =
abc
+ abc =
abc
c + abc = bc
ab
ab
ac
+ abc = b
abc
c + abc = ac
a
b
+ abc = ab
ab
c
c
Соединяя полученные импликанты знаками дизъюнкции, получаем сокращенную ДНФ логической функции F(a, b, c):
ДНФСо кр
.
Используя метод Квайна для минимизации логических функций
необходимо помнить о том, что в этом методе используется операция
. (7.3)
-87-

неполного склеивания. Если в СДНФ, реализующей логическую функцию, присутствует конъюнкция, которая не может быть склеена ни
с одной последующей конъюнкцией, то эта конъюнкция должна быть
включена в полученную в результате минимизации сокращенную ДНФ.
После получения сокращенной ДНФ, к ней может быть многократно применен метод Квайна, в результате чего будет получена некоторая
тупиковая форма, тождественная исходной ДНФ. Более часто применяют другой метод: метод испытания импликант в сокращенной ДНФ логической функции.
Существо метода состоит в следующем: из формулы, являющейся
сокращенной ДНФ, выбирается испытуемая импликанта (можно произвольным образом). Выбранная импликанта приравнивается к 1. Далее определяются значения логических переменных, обращающих в 1
испытуемую импликанту. Из сокращенной ДНФ удаляется испытуемая
импликанта, а в оставшуюся часть сокращенной ДНФ подставляются
найденные значения логических переменных, обращающих в 1 испытуемую импликанту. Если в результате такой подстановки значение
логической функции равно единичному значению, то испытуемая импликанта является лишней (избыточной) и может быть удалена из сокращенной ДНФ логической функции. После удаления лишней импликанты
также испытываются все импликанты, входящие в сокращенную ДНФ.
Рассмотрим метод испытания импликант на примере.
Пусть логическая функция F(a, b, c), представлена в виде сокращен-
ной ДНФ, полученной по методу Квайна (7.3).
Испытаем импликанты в (7.3). Первой будем испытывать импликанту
ких переменных:
из формулы испытуемую импликанту, получим:
и должна быть удалена из формулы.
.
a
b
Импликанта
1.
= 1, при a = 0, b = 0.
a
b
Подставляя найденные значения в (7.3), предварительно исключив
1 ·
+ 1 · c + 0 · c + 0 · c + 0 · 0 = 1 ⇒ импликанта
c
Таким же образом испытаем оставшиеся в формуле импликанты.
обращается в 1 при следующих значениях логичес-
a
b
является лишней
a
b
-88-

bbbb 00010
импликанта ca не является лишней. Остав-
caca 01000
импликанта cb не является лишней. Остав-
110001 aaa
импликанта cb является лишней и должна
11100 bb
импликанта ac является лишней и должна быть
импликанта ab не является лишней. Оставляем ее в
ДНФТупиковая
1
.
(7.4)
bbbb 00010
импликанта ca не является лишней. Остав-
caca 01000
импликанта cb не является лишней. Остав-
110001 aaa
импликанта cb является лишней и должна
11100 bb
импликанта ac является лишней и должна быть
ab
не является лишней. Оставляем ее в
abcbcacbaF
ДНФТупиковая
),,(
1
.
(7.4)
ДНФТупиковая
2
.
(7.5)
2.
= 1, при a = 0, c = 0.
a
c
· 0 + b · 1 + 0 · 0 + 0 · b = b ⇒ импликанта
b
Оставляем ее в формуле.
3.
с = 1 при b = 0, c = 1.
b
a
· 0 + 0 · 0 + 1 · c + a · 0 = a ⇒ импликанта bc не является лишней.
Оставляем ее в формуле.
4. b
= 1, при b = 1, c = 0.
c
a
· 1 + 0 · 0 + a · 0 + a · 1 = 1 ⇒ импликанта bc является лишней
и должна быть удалена из формулы.
5. ac = 1, при a = 1, c = 1.
0 · 0 +
быть удалена из формулы.
6. ab = 1, при a = 1, b = 1.
0 ·
в формуле.
После испытания импликант получаем одну из тупиковых ДНФ логической функции F(a, b, c):
· 1 + 1 · b = 1 ⇒ импликанта ac является лишней и должна
b
c
+ 0 · c = 0 ⇒ импликанта ab не является лишней. Оставляем ее
не является лишней.
a
c
Если начать испытание импликант в (7.3) не с первой импликанты,
а с какой-либо другой, выбранной произвольным образом, то можно
получить некоторое количество тождественных сокращенных и тупиковых ДНФ, реализующих функцию F(a, b, c). В частности, если начать
испытание импликант с последней импликанты в (7.3), то полученная
тупиковая ДНФ для логической функции F(a, b, c) будет иметь вид:
. (7.4)
abcbcacbaF
),,(
accbbacbaF
),,(
. (7.5)
Данные методы основаны на графическом представлении логических функций и способности человека быстро зрительно отыскивать
некоторые геометрические фигуры. Одним из таких способов является
метод импликантных матриц.
-89-

abccabcbacbacbacbacbaF
),,(
.
abccabcbacbacbacbacbaF
),,(
.
j
— импликанты из выражения
Таблица 7.3
cba
cba
cba cba
cab
abc
X X
X X
X X
X X
X
X
X
X
abcbcacbaF
ДНФТупиковая
),,(
1
; (7.6)
abccabcbacbacbacbacbaF
),,(
.
j
— импликанты из выражения
Таблица 7.3
cba
cba
cba cba
cab
abc
X X
X X
X X
X X
X
X
X
X
abcbcacbaF
ДНФТупиковая
),,(
1
; (7.6)
ДНФТупиковая
2
. (7.7)
Импликантная матрица — это таблица, столбцы которой содержат элементарные конъюнкции (минтермы) СДНФ логической функции, а строки — найденные по методу Квайна импликанты.
Проиллюстрируем данный метод на примере рассматриваемой
нами ранее логической функции F(a, b, c), СДНФ которой определяется
соотношением (7.1):
СДНФ
.
Составим для этой функции импликантную матрицу (табл. 7.3),
в которой K
из выражения (7.3).
— элементарные конъюнкции из (7.1), а Uj — импликанты
i
Таблица 7.3
K
i
U
j
ab
ac
c
b
b
c
ac
ab
ab
abc
X X
X X
X X
с
abc
X X
abc
ab
c
X X
X X
abc
В импликантной матрице ставим «X» на пересечении тех строк и
столбцов матрицы, в которых импликанта может поглотить конъюнкцию. Для получения тупиковой ДНФ необходимо выбрать минимальное число таких импликант U
все элементарные конъюнкции K
, которые в совокупности поглотили бы
j
. В результате этих действий получим
i
две тупиковые формы логической функции F(a, b, c).
-90-
; (7.6)
accbbacbaF
),,(
. (7.7)
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
