Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпора 64 страницы.doc
Скачиваний:
173
Добавлен:
15.06.2014
Размер:
2 Мб
Скачать
☆

30 Метод Квайна −Мак-Класки

Этот метод ориентирован на числовое задание ФАЛ в виде кубического комплекса, состоящего из 0-кубов. Метод представляет собой формализованный на этапе нахождения простых импликант метод Квайна. Основной недостаток метода Квайна – необходимость выполнения полного сравнения (склеивания) всех первичных импликант. В случае большого их количества сложность этого сравнения существенно возрастает

f СДНФ(x1x2x3x4) = V (2, 3, 4, 6, 9, 10, 11, 12).

Сформируем кубический комплекс K, состоящий из 0-кубов:K=(0010, 0011, 0100, 0110, 1001, 1010, 1011, 1100).

Выполнив разбиение комплекса K на группы, получим:

Попарное сравнение можно проводить только между соседними по номеру группами кубов, т. к. кубы, порождающие новые кубы, должны иметь кодовое расстояние, равное 1 .

После выполнения первого шага алгоритма простых импликант не выявлено. Полученные 1-кубы разобьем на n групп кубов в зависимости от местоположения свободной координаты в кубе.

, .

Далее выполняется сравнение кубов внутри каждой из групп. В результате могут быть получены 2-кубы, которые, в свою очередь, аналогично 1-кубам будут объединены в группы по совпадению свободных координат и вновь будет выполнено сравнение. На каждом шаге сравнения выявляются кубы, не участвовавшие в образовании новых кубов, и исключаются из дальнейшего упрощения. Для рассматриваемого примера сравнение в группах …привело к образованию двух новых кубов х01х и х01х и кубов, не образовавших новых {х100, 0х10, 10х1, 01х0}..

Дальнейшее сравнение не приводит к формированию новых кубов . Таким образом, получено множество простых импликант:

fсокр.ДНФ={х100, 0х10, 10х1, 01х0, х01х} .

Аналогично методу Квайна строится импликантная таблица Формирование мин покрытия сводится к выявлению обязательных простых импликант и построению на их основе тупиковых форм.

простая импликант

Конституенты единицы

0010

0100

0011

1100

0110

1001

1010

1011

Х100

*

*

0х10

*

*

10х1

*

*

01х0

*

*

Х01х

*

*

*

*

Из табл =>, что простые импликанты x100, 10x1, x01x являются обязательными. Оставшиеся две простые импликанты не являются обязательными и образуют следующие две тупиковые формы.

f МДНФ = {х100, 10х1, х01х, 0х10} – 1-я тупиковая форма;

f МДНФ = {х100, 10х1, х01х, 01x0} – 2-я тупиковая форма.

31 Алгоритм извлечения (Рота)

алгоритм извлечения (Рота) на примере минимизации булевой функции, заданной покрытием С0

Исхе покрытие С0задано объедин-ем мн-в кубовLиN. Кубы комплексаN− это наборы, на к-ых ф-ция не опред-а и к-ые включаются в покрытие ради возможного дополнит упрощения комплексаLв процессе минимизации. Мин покрытие комплексовLиN, Сminназывается К-покрытиемL.Общ алгоритм построения мин К-покрытия наз-ся алгоритмом извлечения и состоит:1) нахождении множества Z простых импликант комплекса К; 2) выделении L-экстремалей на множестве Z; 3) применении алгоритма ветвления при отсутствии L-экстремалей; 4) нахождении абсолютно минимального покрытия из некоторого множества избыточных покрытий. Нахождение множества простых импликант

Преобразование исходного покрытия С0 комплекса К в мн-во простых импликант Z осущ-ся с помощью операции * кубов. В результате первого шага (С0*С0) предусматривается выявление как новых кубов Сy (1-ой и более высокой размерности), так и кубов, к-ые не образуют нов кубов (вкл-ся в мн-во Z0). Из пол-ных нов кубов обр-ся мн-во А1. Также формируется мн-во В1=С0-Z0. Для следующего шага получения мн-ва Z формируется мн-во С1=А1U В1. Для уменьшения мощности мн-ва кубов С1 выполним операцию поглощения (удаления) кубов, образующих множество С1, кубами из множества А1 (А1Í С1).

С0*С0

х010

0х10

0000

0х01

1110

1x10

х010

-

0х10

0010

-

0000

00у0

00у0

-

0х01

ø

ø

000у

-

1110

1у10

у110

ø

ø

-

1х01

ø

ø

ø

ух01

ø

-

А1

00х0

х110

000х

хх01

1х10

Для рассматриваемого примера получим: (см дальше)

Среди кубов С0, возможно, находятся такие кубы, которые с кубами множества А1 могут дать новые кубы или оказаться простыми импликантами после второго шага (С1*С1). При формировании таблицы для выполнения операции С1*С1 (табл. 17) следует учесть, что В1*В1 уже выполнялось на шаге С0*С0. => С1*С1=(А1*А1)U(А1*В1).

00х0

1х10

00х0 000х А1 00х0

1х10 х110 1х10

А1 = х110 хх01 после выполнения 000х

000х С1= х010  операции С1= х110

хх01 0х10 поглощения хх01

0000 В1 х010

Z0=Ø 0х01 0х10

1110

1х01

С1*С1

00х0

1х10

000х

х110

хх01

00х0

-

1х10

у010

-

000х

0000

ø

-

х110

0у10

1110

ø

-

хх01

000у

ø

0001

ø

-

х010

0010

1010

00у0

ху10

Ø

0х10

0010

ух10

00у0

0110

Ø

А2

ø

хх10

ø

хх10

Ø

В результате выполнения умножения С1*С1 получим:

А2={хх10},

Z1=

00х0 .

000х Куб хх01 не дал нового куба. Но это куб второй размерности и новые кубы может дать на третьем шаге (С2*С2).Поэтому его не следует включать в число кубов, образующих множество Z1.

1х10 хх10

х110 1х10

В

C2=А2UB2=

=

2 = хх01 , х110 хх10 .

х010 х010 хх01

0х10 0х10

С2*С2

хх10

хх10

-

хх01

Ø

А3

Ø

Таким образом, получим А3= Ø, следовательно, новых кубов нет.

Z2=

хх10.

хх01 В3=С2-Z2= Ø; C3=A3UB3= Ø.

На этом процесс выявления простых импликант окончен.,

00х0

Z=Z0UZ1UZ2=

- сформированное множество простых импликант.

000х

хх01

хх10 Необходимо выяснить, не содержатся ли в этом множестве “лишние” простые импликанты.