Файл: Цифровые многозначные элементы и структуры учеб. пособие.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 10.07.2024
Просмотров: 159
Скачиваний: 0
символьных (вида |
axt, aJs,(xt), л:rJSi(xt), JSr(xr) J Si(xi)) |
и т. д., |
|
которые накрывают функцию на тех наборах, где она |
равна |
k — 1. |
|
При этом отмечают |
и другие наборы, накрытые этой |
импликантой. |
Далее находят простые импликанты, накрывающие еще не накрытые наборы со значениями функций k — 2 и т. д. до тех пор, пока функция не будет накрыта на всех наборах.
Пусть функция зависит от двух аргументов. |
В этом случае каждая |
|||||||||||||||
цифра таблицы соответствует значению функции на |
наборе (a,., |
aj), |
||||||||||||||
то есть |
|
произведению Ja. (*;) |
Jaj (х2). Импликанта |
Jar (хг) соответ |
||||||||||||
ствует а,-му столбцу (строке). |
Если п > |
3, для |
определения соответ |
|||||||||||||
ствующих наборов необходим некоторый навык. |
(xlt |
х2, х3) |
для |
k |
= 4, |
|||||||||||
Рассмотрим пример. Пусть дана функция f |
||||||||||||||||
заданная табл. |
17. |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
*2 |
|
|
|
|
|
Таблица |
17 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
1 |
2 |
3 |
0 |
1 |
2 |
3 |
0 |
1 |
2 |
3 |
0 |
1 |
2 |
3 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
° |
0 |
1 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
1 |
2 |
2 |
2 |
2 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
2 |
2 |
2 |
2 |
2 |
0 |
0 |
1 |
0 |
0 |
0 |
2 |
0 |
0 |
0 |
2 |
0 |
3 |
3 |
3 |
3 |
3 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
|
|
0 |
|
|
|
1 |
|
2 |
|
|
|
|
|
3 |
|
На наборах (3, 0, 0), (3, 1, 0), (3, 2, 0), (3, 3, 0) рассматриваемая функция равна 3. Очевидно, что посредством односимвольной имп
ликанты на этих наборах |
накрыть функцию нельзя. Рассмотрим дву |
|||||
символьные импликанты. |
Импликанта x2J0 (jc3) |
накрывает |
функцию |
|||
на первых четырех наборах. Кроме того, на наборах (2, 0, |
0), (2, 1, 0), |
|||||
(2, 2, 0), (2, 3, 0) эта же импликанта накрывает значения |
2 функции. |
|||||
Отметив в табл. 17 уже накрытые значения функции, |
перейдем к на |
|||||
борам, где функция равна 2. Импликанта 2J x {x^)J0 |
(х3) |
накрывает |
||||
значения 2 функции на наборах (1, 0, 0), (1,1, 0), (1, 2, 0) |
и (1, 3, 0). |
|||||
На наборах (2, 2, 2) и (2,2, 3) функцию накрывает импликанта 2J2(хх) х |
||||||
X */2 |
(х2) х3, которая накрывает также значения |
1 функции |
на наборе |
|||
(2, 2, |
1). Значения 1 функции на наборах (0, 1, |
0), (0, |
1, |
1), (0, 1, 2), |
(0, 1, 3) накрываются импликантой \J0 (x1)J1 (х2). Таким образом, ми
нимальная ДНФ функции, |
заданной табл. |
17, |
следующая: |
||
|
/ {Х\, х2, |
x3) |
— x2Jq(х8) \/ 2Jj (x2) J0 (x3) |
||
5 |
V 2 * ^2 |
(-^l) ^2 (^2) ^ 3 V 1 ^ 0 |
(^l) |
(Xi)' |
|
896 |
|
|
|
65 |
|
|
|
|
|
|
Следующий метод подобен известному в булевой алгебре методу Мак-Класки. Зафиксируем порядок аргументов в наборах: индекс аргумента соответствует его порядковому номеру слева. В этом случае каждое элементарное произведение тоже будет иметь свой номер: цифра /-го разряда любого набора равна значению п — / + 1-го ар гумента на этом наборе и равна индексу при функции J s.
соответствующего элементарного произведения. Элементарные про изведения, склеивающиеся по формулам (2.48) и (2.49), должны иметь все цифры /г-й системы счисления (исключая 0 в случае формулы (2.49)) в том разряде, по которому производится склеивание, при одинаковых остальных цифрах. Процесс склеивания необходимо вести в опреде ленном порядке, так как пропуск хотя бы одной операции склеивания дает неверный результат.
Для того чтобы сократить время поиска нужных элементарных про изведений, разобьем их на группы с различными индексами. Индекс группы — это количество цифр k — 1 в номере данного элементарного произведения. Число групп не превышает п + 1. Склеиваться могут лишь те элементарные произведения, которые находятся в группе с индексом / и одно — в группе / -f- 1. Для удобства номера элементарных произведений можно перевести из k-й системы счисления в какую-либо другую, например, в десятичную. В этом случае разность между чис
лами, отличающимися на 1 в /-ом разряде, равна kl. Очевидно, что число, имеющее цифру k — 1 в 1-ом разряде (в k-ou представлении), будет наибольшим и именно оно должно содержаться в группе с боль
шим индексом. |
|
|
|
Сформулируем признаки, по которым определяют номера склеи |
|
ваемых элементарных произведений. |
тогда |
|
и |
Элементарные произведения, занумерованные k числами, |
|
только тогда склеиваются между собой, согласно (2.48), |
когда: |
|
1) |
одно из этих k чисел находится в группе с индексом /, а остальные |
в группе с индексом / — 1; 2) разность между двумя соседними чис лами есть степень /г; 3) число с большим индексом больше всех осталь ных. Константа полученного элементарного произведения равна наи меньшей из констант склеиваемых произведений.
Элементарные произведения, занумерованные к — 1 числами, склеиваются между собой при тех же условиях (согласно (2.49), то есть по аргументу), причем константа полученной импликанты равна наименьшему из коэффициентов тех элементарных произведений, константы которых меньше их порядкового номера (если считать пер вым элементарное произведение с наименьшим номером).
Итак, вначале нужно знать номера элементарных произведений в /г-й системе счисления, чтобы разбить их на группы в соответствии с индексами, затем перевести их в десятичную систему счисления и ис кать номера склеиваемых элементарных произведений, заключая их
66
в скобки (начиная с большего числа). Справа, тоже в скобках, записы вается разность с индексом * (* — пара) или J (J — пара). Дальнейшие склеивания производятся между скобками.
Приведенные в § 2.7 правила поглощения легко интерпретируются для рассматриваемой модификации метода Мак-Класки. Процесс перевода простых импликант из цифровой записи в аналитическую также не труден.
Рассмотрим пример. Выберем функцию, заданную табл. 17, и за пишем номера элементарных произведений в системе счисления с осно
ванием |
4 (слева, |
перед черточкой — константа): |
|
|
||
1 — 010, |
1 — 011, |
1 — 012, |
1 — 013, 2 |
— 100, |
2 — 110, |
2 — 120, |
2 — 130, |
2 — 200, |
2 — 210, |
2 — 220, 2 |
— 230, |
1 — 221, |
2 — 222. |
2 — 223, |
3 — 300, |
3 — 310, |
3 — 320, 3 |
— 330. |
|
|
Разобьем все элементарные произведения на группы в соответствии с индексами. При этом сразу же запишем их номера в десятичной сис теме счисления. Для удобства в каждой группе номера элементарных произведений расположим в порядке их возрастания, а группы — в порядке возрастания индексов
1 — 16*, |
2 — 64*, |
2 |
— 128*, 1 — 164*, |
1 — 28*, |
3 |
— 192* 3 — 240*, |
1 — 20*, |
2 — 80*, |
2 — 144*, 2 — 168*, |
2 — 112*, |
3 — 208*, |
||
1 — 24*, |
2 — 96*, |
2 |
— 160*, |
2 — 172*, |
3 — 224*, |
|
|
;Тг7 |
2 -1 7 6 * , |
|
|
||
|
|
|
|
2-я |
гр. |
3-я гр, |
Склеиваем элементарные произведения в соответствии с приведен ными правилами
1 — (16, |
20, |
24, |
28) (47), |
|
2 — (144, |
160, |
176) (16*)*, |
||
1 — (20, |
24, |
28) (4%)*, |
|
1— (160, |
164, |
168, |
172) |
(4/)*, |
|
2 — (64, |
80, |
96, |
112) (16У), |
2 — (164, |
168, |
172) |
(4х), |
|
|
2 — (80, |
96, |
112) (16л:)*, |
|
3 — (192, |
208, |
224, |
240) |
(16У)*, |
|
2 — (128, |
144, 160, 176) |
(16./)*, |
3 — (208, |
224, |
240) |
(16л:)*. |
Полученные импликанты склеиваем, обращая внимание на то, чтобы разности вместе с индексами совпадали и номера первых эле ментарных произведений, стоящих в скобках, склеивались. Получим две новые импликанты
3 — (64, 80, 96, 112, 128, 144, 160, 176, 192, 208, 224, 240) (16У, 64*),
3 — (80, 96, 112, 144, 160, 176, 208, 224, 240) (16*. 64*).
Как видно, дальнейшие склеивания невозможны.
67
Правила поглощения для рассматриваемого примера формулируют ся аналогично. Для удобства выполнения алгоритма поглощения сфор мулируем эти правила отдельно для двух случаев.
1. Пусть для каждой разности с индексом х импликанты U2 у импликанты и г найдется разность с индексом / . В этом случае погло щает U если С1 >• С2 (Сх и С2 — соответственно константы импликант Ux и 1/2) и множество номеров элементарных произведений в скобках импликанты Ux включает в себя множество номеров элементарных про изведений в скобках U2.
2. Пусть Ux имеет разность с индексом х, причем эта разность от сутствует среди разностей импликанты U2. В этом случае целесообразно проверять поглощение лишь тогда, когда импликанта U2 входит в со
вокупность импликант, |
склеивание |
которых |
привело |
к появлению |
|||
Ux (то есть в элементарном произведении вместо / s (х) |
появляется х). |
||||||
Здесь |
необходимо и достаточно проверить справедливость |
условий, |
|||||
приведенных в п. 1, а также условия I |
> С2, где I — порядковый номер |
||||||
U2 в ряду указанных импликант, расположенных в порядке |
возраста |
||||||
ния наибольших номеров в их скобках. Например, импликанта |
2 — |
||||||
(64, |
80, 96, 112) (16/) |
поглощает |
импликанту 2 — (80, |
96, |
112) |
||
(16х), так как условия случая 1 выполняются, |
но она сама не поглоща |
ется импликантой 3 — (64, 80, 96, 112, 128, 144, 160, 176, 192, 208, 224, 240) (16/, 64х), поскольку не выполняется условие / > С2, а проверка его необходима, ибо здесь имеет место случай 2.
Поглощенные импликанты отметим звездочкой *. Неотмеченные им пликанты являются простыми. Выпишем их:
3 — (64, 80, 96, 112, 128, 144, 160, 176, 192,208, 224, 240) (16/, 64*),
2 |
— (164, 168, |
172) (4*), |
1 |
— (160, 164, 168, 172) (4/), |
|
2 |
— (64, 80, 96, |
112) (16/), |
1 |
— (16, 20, 24, |
28) (4/). |
Необходимо записать эти импликанты в буквенной форме. Для этого воспользуемся следующим, вытекающим из описанного выше, приемом. Выберем из множества номеров в скобках какой-нибудь один (например, наибольший) и запишем его в &-й системе счисления. По полученному числу восстанавливаем элементарное произведение. Вычеркиваем оператор / 5 (xt), если рассматриваемая простая импликан та имеет разность с индексом / , соответствующую аргументу xt (в на шем примере аргументу хг соответствует разность 64, хг — 16, ха — 4). Если разность имеет индекс х, то соответствующий оператор заменяет ся своим аргументом. Константа импликанты сохраняется неизменной (если она не равна k — 1). Таким образом, первая простая импликанта имеет вид 3—240 — 3—330 -> 3 /3 (хх) / 3 (х2) / 0 (х3) -*■ 3 ^ /0 (х3) -»
—*■XyJо (*з). а остальные 2 /2 (хх) / 2 (х2)х3, 1/2 (х2) / 2 (х2), 2/ х (хх) / 0 (*3), 1/о (*]) /1 (х2).
68
Если построить импликантную матрицу для данной функции, то можно убедиться, что простая импликанта 1J2 (хд ^ 2 (xz) в минималь ную ДНФ не входит и последняя имеет такой же вид, как в предыду щем примере.
Следует отметить, что некоторые функции в классе ДНФ очень слабо поддаются минимизации. Так, например, не удается получить простое выражение для функции х + у (mod k). При k = 3 минималь ная форма этой функции содержит 8 двухместных операций и 6 одно местных (без минимизации их потребовалось бы 14 и 6 соответственно), но с увеличением k эффект минимизации уменьшается.
§ 2.9. Минимизация Д Н Ф многозначных функций
в избыточных базисах
При некоторых принципах представления информации можно посредством сравнительно простых физических схем реализовать значительное количество многозначных логических операций. Поэто му представляет интерес исследование возможностей получения канонических представлений многозначных функций и их минимиза ции в избыточных базисных системах, включающих такие операции. С другой стороны, исследование избыточных базисных систем обуслов ливается существованием функций, плохо поддающихся минимизации в неизбыточных системах из класса ДНФ.
Введение в состав полной системы новых операций дает возмож ность получить дополнительные соотношения склеивания. В результа те этого получаемые простые импликанты позволяют найти наиболее простое представление данной функции, а следовательно, появляется возможность наиболее просто реализовать ее.
Рассмотрим избыточную базисную систему, которая содержит все
константы и следующие операции: |
|
|
|
|
xi V *2 = max (xlt |
х2), |
|
|
= min (xlt |
х2), |
|
|
х1 = х -f i (mod k), |
||
|
x — k — 1 — x (mod k), |
||
|
( k ■— 1 |
ПрИ Xj = Xo, |
|
|
0 np„ |
|
|
Заметим, что при xx = s функция J |
(хъ x3) превращается в функцию |
||
J s (x). |
Приведенная система операций |
включает в себя полную сис |
|
тему |
Россера — Тьюкетта (а также систему Поста). Следовательно, |
||
сама система является полной. |
|
|
69