Файл: Архаров В.И. Арифметические и логические основы цифровых вычислительных машин учеб. пособие.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 09.07.2024

Просмотров: 88

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Пример 2. Минимизировать булеву функцию f (хъ х 2, х 3), заданную следующей совершенной нормальной формой:

* 1 * 2 * 3 V * 1 * 2 * 3 V * 1 * 2 * 3 V * 1 * 2 * 3 -

Образуем три пары соседних конъюнкций

(* 1 * 2 * 3 > *1*2*з) >

(* 1 * 2 * 3 . * 1* 2* з ) ,

( X ^ X g , * х * 2* з ) .

Применяя к ним операции склеивания, получим конъюнкции

второго ранга: х хх 2, х хх 3, х 2х 3. Строим из них дизъюнктивную нор­ мальную форму

* 1 * 2 V * 1 * 3 V * 2 * 3 •

Применяя к ней критерий поглощения, получим тупиковую форму, являющуюся в данном случае минимальной:

* 1 * 2 V * 1 * 3 -

Если исходная функция задана в конъюнктивной нормальной форме, то построение минимальной формы методом непосредствен­ ного упрощения .осуществляется так. Вначале, пользуясь распре­ делительным законом конъюнкции относительно дизъюнкции, рас­ крывают в конъюнктивной нормальной форме скобки. После этого приводят подобные члены и устраняют элементарные поглощения.

Пример 3. Минимизировать функцию А, заданную в конъюнк­ тивной нормальной форме

А= ( * l V * 2 V * 3 ) A ( * l V * 2 V * 3 ) -

Раскроем скобки и получим дизъюнктивную нормальную форму

А = *]*2 V * 1 * 3 V * 2 * 3 V * 2 * 3 V * 1 * 2 V * 1 * 3 •

Применим к ней критерий поглощения и получим минимальную дизъюнктивную форму

S ^ X ^ V * 2*3 V * 1* з -

Ниже описываются некоторые методы, позволяющие, независимо от исходной формы функции, найти все тупиковые формы и среди них выбрать простейшую.

Метод Куайна

При минимизации по методу Куайна исходной является СДНФ функции. Если функция задана одной из своих ДНФ, то с помощью развертывания (5.10) нетрудно перейти к СДНФ.

В соответствии с методом Куайна сначала производятся склеи­ вания каждой конституенты единицы со всеми соседними. Для того, чтобы какая-либо конституента единицы, как и любая элементар­

138

ная конъюнкция, могла бы быть склеена со всеми соседними, не­ обходимо воспользоваться операцией склеивания (12). При каж­ дом склеивании конституент единицы — элементарных конъюнк­ ций ранга п, в соответствии с операцией (12), получаем элементар­ ные конъюнкции ранга п—1 и подвергнутые склеиванию конституенты единицы. После выполнения всех возможных склеиваний используем закон поглощения (11).

В результате этой процедуры, которую назовем «1-м шагом», получим формулу, дизъюнктивно объединяющую элементарные конъюнкции ранга п—1 и оставшиеся несклеенными, ввиду отсутст­ вия соседних, конституенты единицы. Когда ни одна из конституент единицы не имеет соседних, тогда СДНФ является минимальной' формой функции.

Второй шаг заключается в неполном склеивании соседних эле­ ментарных конъюнкций ранга п— 1,что приводит к получению эле­ ментарных конъюнкций ранга п—2, и применении закона погло­ щения. В итоге выполнения второго шага приходим к дизъюнктив­ ной нормальной форме, содержащей в общем случае элементарные конъюнкции ранга п—2 и несклеенные (как не имеющие соседних) элементарные конъюнкции рангов п и п—1. Аналогичные шаги вы­ полняем до тех пор, пока дальнейшее упрощение формулы с по­ мощью применения операции неполного склеивания и.закона по­ глощения становится невозможным. В этом и заключается нахож­ дение сокращенной нормальной формы, членами которой являются все простые импликанты функции.

Третий шаг заключается в нахождении и отбрасывании лишних простых импликант для накрытия всех единичных значений, функ­ ции совокупностью минимального количества простых импликант. Это может быть сделано с помощью импликантной матрицы. В ре­ зультате выполнения этого шага получаем одну или несколько тупиковых форм функции. Последним шагом метода Куайна яв­ ляется перебор полученных тупиковых форм с целью выбора ми­ нимальной. В некоторых случаях приходим не к одной, а к несколь­ ким минимальным формам. Выбор одной из них определяется со­ ображениями технической реализации схемы.

Пример 4. Рассмотрим минимизацию по Куайну СДНФ. Пусть

задана булева функция таблично

(табл.

6-2).

Т а б л и ц а 6-2

 

 

 

 

JCtXo

 

 

 

 

 

00

01

10

11

*3*2

 

 

 

 

0 0

1

1

1

1

01

1

1

1

I

1 0

0

0

1

0

11

1

1

0

1

139


о

Члены СДНФ конституенты

6 0 = *3X 2 X l*0

k \

=

* з * 2 * 1

6 2 =

Х3Х2Х1Х0

k 3 — * з * 2 * 1

6 4 = Х3Х2Х1Х0

6 5 =

X3X2X1X0

k e — * з * 2* 1

k 7

— X3X2X1X0

6 10 =

W W

k n

= Х з*2 * 1 * 0

k 73

=

*3*2*1*0

&15 ~

*3*2*1*0

Примеча­ ние

+

+

+

+

+

+

. “Ь-

+

+

+

+

+

Элементарные

конъюнкции - 3-го ранга

Х^Х^Х\ — &о& 1

X^X^XQ ■— &0&2

Х3Х1Х0 — k ok i

X3X2X0 — kyk-i

*3 * 1 * 0 kykb

*3 *2*1 — 6 6 3

X3XIX0 ■— 6 2 6 o

X2X1X0 6 2 6 lo

*3 * 1 * 0 6 3 6 7

*3*2*1 6 4 6 5

X3X2X0 kyk§ X2X1X0 6 4 6 1 2

* 3 * 2 * 0 6 5 6 7

*2*1*0 6 5 6 1 3

*3 *2*1 — 6 в6 7

*2 * 1 * 0 6 7 6 1 5

*3*2*1 6 1 2 6 1 3

*3 *2*0 6 1 3 6 1 5

Примеча­ ние

+

+

+

+

+

+

+

П И 1

+

+

+

+

+

+

+

+

+

+

Элементарные конъюнкции 2-го ранга

* з * 26 0 , 1 , 2 , 3

* 3 * i6 0 , 1 , 4 , 5 *зл:2 &0 , 2 , 1 , 3

* з * о 6 0 , 2 , 4 , 6

* 3 * i 6 0 , 4 , 1 , 5 * з * о 6 0 , 4 , 2 , 6

* 3 * 0 6 1 , 3 ,

5 , 7

* s * o 6 1 , 5 , 3 ,

7

* 3 * i6 2 ,

3 ,

6 , 7

* 3 * i6 2 ,

6 ,

3 ,

7

* 3 * 2 6 4 , 5 ,

6 , 7

* 2* i 6 4 , 5 , 1 2 , 13

* з * 26 4 , 5 , 6 , 7

* 2* i 6 4 , 1 2 , 5 , 13 * 2* o6 5 , 7 , 1 3 , 15

* 2 * 0 — 6 5 6 3 6 7 6 1 5

Т а б л и ц а 6-3

Примеча­ ние

a+

b+

a-f-

C +

b+

c+

d-f-

d-f-

e+

e+

f +

gП И 2

/+

ПИ 2

ПИ З

ПИ З

Элементарные

Примеча­

конъюнкции 1-го ранга

ние

* 3 6 0 , 1 ,2 , 3 , 4 , 5 , 6 , 7

П И 4

* 36 0 , 1, 4 , 5 , 2, 3 , 6 , 7

П И 4

* 36 0 , 2, 4, 6 , 1 ,3 , 5 , 7

П И 4

\



Из таблицы 6-2 строим СДНФ функции

F -^'3-^2'И^О V ''^3^2'^1-^ft \/ '^З-^'2'^'l'^O \/

V -^3-^2-^1'^0 \/ XgX2XjXQ V

V'^З-^г^'З.'^ОV•^ 3'^2'^i'^oV-^Х^ХоV -^з-Т'

2-Tl'To\/ХзХ 2Х]ХоVXgA^XjXfl■

Процедура минимизации показана в таблице 6-3.

В первой вертикальной графе выписаны все конституенты «1» заданной функции. Идя сверху вниз по этой графе, выясняем воз­ можность склеивания каждой конституенты со стоящими ниже. Элементарные конъюнкции третьего ранга, полученные в итоге склеивания конституент «1», выписаны в графе 3, в правой части

которой указано, какие конституенты «1» были склеены.

Тот факт,

что ни одна из конституент «1» не осталась несклеенной,

отмечаем

в графе 2 знаком «+».

 

Идя сверху вниз по графе 3, выясняем возможность склеиваний каждой элементарной конъюнкции третьего ранга с расположенным ниже. Итог склеиваний этих конъюнкций показан в графе 5.

В графе 4 против элементарной конъюнкции х 2х 1х 0 сделана от­ метка ПИ1, означающая, что эта конъюнкция не склеивается ни с одной из конъюнкций третьего ранга и поэтому является простой импликантой (ПИ) данной функции.

В графе 6 одинаковыми буквами обозначены одинаковые элемен­ тарные конъюнкции второго ранга, полученные в итоге всех воз­ можных склеиваний элементарных конъюнкций третьего ранга. Из всех одинаковых конъюнкций данного ранга должна быть со­ ставлена одна:

х \ / x \J х . . . = х,

х- . . . -х = х.

В итоге всех возможных склеиваний элементарных конъюнкций второго ранга получим три одинаковых элементарных конъюнкции

первого ранга (графа 7). Конъюнкции х 2х х и х2х0 не склеиваются ни с одной из конъюнкций второго ранга, поэтому они являются простыми импликантами (ПИ2, ПИЗ). В графе 6 это обозначено ПИ2, ПИЗ.

Итак, в итоге применения операции склеивания и закона погло­ щения получено 4 простых импликанты функции. Дизъюнкция най­ денных простых импликант имеет вид:

F = x2x1x0 + x2x 1 + x2x 0 + xs

(6.6)

и является сокращенной нормальной формой булевой функции, за­ данной табл. 4-1.

Теперь выясним возможность - перехода от полученной сокра­ щенной нормальной формы к тупиковым нормальным формам, для чего надо выявить в выражении (6.6) лишние простые импликанты. Это можно сделать с помощью импликантной матрицы (см. таблицу

6-4).

141


В каждой строке импликантной матрицы «X» отмечено, какие конституенты единицы накрываются данной простой импликантой, т. е. какие члены СДНФ принимают единичные значения на набо­ рах, обращающих в «1» данную простую импликанту. Если какаялибо конституента «1» заданной функции накрывается лишь одной простой, то последняя обязательно включается в число членов ту­ пиковой нормальной формы.

Из таблицы 6-4 видно, что k0 накрывается только простой им­ пликантой х 3, k 10 только х 2х гх 0, k 12 только Х2Х1; k 15 только Х2Х0. Таким образом, ни одна из простых импликант сокращенной нор­ мальной формы не является лишней. Следовательно, полученная сокращенная нормальная форма (6.6) является одновременно и тупиковой и минимальной формой.

Практическое использование алгоритма Куайна связано с тру­ доемким и напряженным процессом, приводящим часто к получе­ нию большого количества одинаковых элементарных конъюнкций, особенно, если заданная СДНФ состоит из членов относительно высокого ранга. Кроме того, затруднения возникают в связи с гро­ моздкостью записи конституент и возможностью ошибок при отыскании склеивающихся членов в формах, содержащих большое количество членов.

Метод Мак-Класки

Метод Мак-Класки, являясь модификацией метода Куайна, представляет большие практические удобства. В данном методе все наборы значений аргументов, обращающие данную СДНФ в еди­ ницу, подразделяются на группы, наборы, обращающие функцию в единицу, являются записью в двоичной системе счисления номе­ ров конституент единицы этой функции. Каждая группа состоит из наборов с одинаковым количеством единиц. Склеивающие члены могут находиться лишь среди наборов, индексы которых отличаются на единицу, — среди наборов соседних групп. Поэтому для выяснения возможности склеивания набор с индексом 0 сравни­ вается со всеми наборами, имеющими индекс 1, каждый набор с ин-

142

б1

X

ЕС

О

я

о

X

я

ч

 

 

х t ”

 

Индексы

 

 

*1*

 

 

 

 

ч , <-*

 

 

 

 

о I х

 

 

 

 

о е-1

 

 

 

 

* ! *

 

 

0

0

0000

+

0—1

 

 

 

 

1

1

0001

+

 

2

0010

4-

 

 

4

0100

4-

 

 

3

ООН

+

 

2

5

0101

+

 

6

о н о

 

 

 

10

1010

+

 

 

12

1100

+

 

 

7

от

+ 2—3

 

13

1101

4

15

1111

+

 

 

 

 

 

Q А

Члены 3*го ранга

Номера склеенных членов

Примечание

 

 

1

1

 

000—

0,1

+

 

00—0

0,2

+

 

0—00

0,4

+

О—1—1—2

 

 

00— 1

1,3

+

 

0—01

1,5

+

 

001

2,3

+

 

0— 10

2,6

ч~

 

—010

2,10

ПИ1

 

010—

4,5

+

 

01—0

4,6

+

1—2—2—3

100

4,12

+

0— п

3,7

+

 

01— 1

5,7

+

 

— 101

5,13

+

 

011—

6,7

4-

 

п о —

12,13

4-

 

— 111

7,15

4-

2—3—3—4

11—1

13,15

+

 

 

-го ранга

склеенных

 

2

Номера членов

 

Члены

00

 

. 0 , 1 , 2 , 3

0— 0 —

0, 1 , 4 , 5

00--------

 

0 , 2 , 1 , 3

0--------

0

0, 2 , 4 , 6

0— 0 —

0 , 4 , 1 , 5

0--------

0

0 , 4 , 2 , 6

0--------

0

1 , 3 , 5 , 7

0--------

0

1 , 5 , 3 , 7

0—1

2, 3 , 6 , 7

0— 1—

2, 6 , 3 , 7

01--------

 

4 , 5 , 6 , 7

— 1 0

4 , 5 , 1 2 , 1 3

01--------

 

4 , 6 , 5 , 7

1 0 — 4 , 1 2 , 5 , 1 3

1— 1 5 , 7 , 1 3 , 1 5

1— 1 5 , 1 3 , 7 , 1 5

Т а б л и д а 6-5

Примечание

Члены 1-го ранга

Номера склеенных членов

Примечание

а -(-

0-------------

0, 1 , 2 , 3

П И 4

ь +

0-------------

4 , 5 , 6 , 7

 

а

0, 1

, 4

, 5

П И 4

с 4 -

 

2, 3

, 6

, 7

 

ь +

0

0, 2 , 4 , 6

П И 4

с +

 

1 , 3

, 5

, 7

 

d +

d+

е+

е+

/+

gF IH 2

f4~

£П И 2

Ш И З

Ш И З

-