Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Diskretnaya_matematika_1.doc
Скачиваний:
198
Добавлен:
10.02.2016
Размер:
11.37 Mб
Скачать

27.1.2. Постановка задачі

Мінімізація схем у булевому базисі зводиться до пошуку мінімальної ДНФ, якій відповідає мінімальне покриття. Для оцінки складності булевої функції використовується критерій Квайна, що формулюється таким чином:

Твердження: Мінімальній функції відповідає мінімальна ціна за Квайном, обумовлена як С=qs(n-s), де qs - число S-кубів, що утворюють покриття даної функції від n змінних, s - розмірність кубів.

Мінімальне покриття характеризується мінімальною ціною.

Приклад. y=x1x3x4x1x2x1x3 n=4

C=1(4-1)+2(4-2)=3+4=7.

Задача мінімізації здійснюється в два кроки.

На першому кроці знаходиться скорочене покриття, що містить всі S-куби максимальної розмірності і не утримує жодного куба, що покривається Якім-небудь кубом цього покриття.

Відповідну скороченому покриттю ДНФ називають скороченою ДНФ, а її мінтерми - простими імплікантами. Для будь-Якій булевої функції скорочене покриття є єдиним, але воно може бути надлишковим унаслідок того, що деякі з кубів покриваються сукупностями інших кубів.

На другому кроці здійснюється перехід від скороченої ДНФ до тупикової ДНФ, утвореної зі скороченої ДНФ виключенням усіх надлишкових кубів, без яких сукупність кубів, що залишилася, ще утворить покриття даної булевої функції, але при подальшому виключенні кожного з кубів одержувана сукупність кубів вже не покриває задану функцію, тобто перестає бути покриттям.

Куб скороченого покриття, що покриває вершини даної булевої функції, які не покриваються ніЯкіми іншими кубами скороченого покриття, не може виявитися надлишковим і завжди увійде в мінімальне покриття. Такий куб, як і відповідна йому імпліканта, називається екстремаллю чи істотною імплікантою, а вершини, що покриваються ними, - відзначеними вершинами. Множина екстремалей утворює ядро покриття.

При переході від скороченого покриття до мінімального спочатку виділяється ядро покриття. Якщо множина екстремалей не утворить покриття, то воно доповнюється тим чи іншим способом до покриття кубами зі скороченого покриття. На множини отриманих таким чином тупикових покрить вибирається мінімальне.

СДНФ  СкДНФ  ТДНФ  МДНФ

Приклад. y =x1 x2x3 x1 x2 x3  x1x2x3  x1x2 x3  x1 x2 x3

K0 = 0 1 0 K1 = 0 1  K2 = 

0 1 1  1 1

1 0 0 1 0 

1 0 1 1  1

1 1 1

CкДНФ =К1 ТДНФ1 = 0 1  ТДНФ2 = 0 1 

1 0   1 1

1  1 ` 1 0 

МДНФ1 = 0 1  МДНФ2 = 0 1 

1 0   1 1

1  1 1 0 .

27.2. Метод Квайна

Як вихідну форму булевої функції для мінімізації методом Квайна використовують СДНФ чи таблицю істинності. Приведення до скороченого ДНФ здійснюється застосуванням властивостей доповнення (операції склеювання).

(ахі) (axi)=a

Множині конституент «1» відповідає сукупність 0-кубів К0, операції склеювання відповідає об'єднання двох 0-кубів, що відрізняються тільки однією координатою. Результатом такого об'єднання є 1-куб, у якому різні координати вихідних 0-кубів заміщені символом .

Приклад. 0-куби: 1010  1-куб: 100.

1000

Якщо порівняти попарно всі 0-куби, одержуємо множину 1-кубів К1. Застосовуючи таким же способом до множини К1 операцію склеювання, знаходимо множину 2-кубів К2 і т.д. Процес продовжується доти, поки отримана з множини КS чергова множина КS+1 не виявиться порожньою (чи не буде отриманий n-куб, що представляє функцію – константу «1»). У результаті є комплекс кубів, що складається з множин КS:

К=К0, К1,..., КS, де sn-1.

Для виділення з К0 множини простих імплікант ZK при кожній операції склеювання тим чи іншим способом відзначаються ті куби, що поєднуються в куби вищої розмірності. Очевидно, що невідмічені куби й утворять множину простих імплікант Z, іменовану скороченою ДНФ.

На наступному кроці при витягу екстремалей використовується таблиця покрить. Її рядки відповідають простим імплікантам, а стовпці - конституентам «1» (0-кубам) даної функції. У клітці таблиці ставиться мітка, якщо проста імпліканта, що відповідає даному рядку, покриває вершину, яка відповідає даному стовпцю клітки. Екстремалям відповідають ті рядки таблиці, що містять єдину мітку в якому-небудь стовпці. Видаляючи рядки екстремалей і всі стовпці, в яких дані рядки мають мітки, одержуємо скорочену таблицю покрить.

Зі скороченої таблиці покрить тим чи іншим способом вибираються прості імпліканти, що доповнюють виділену множину екстремалей до тупикових покрить. Метод Квайна не формалізує цей крок у вигляді якої-небудь процедури. На множини всіх тупикових покрить визначаються мінімальні покриття, яких може бути кілька.

Приклад. Задана функція y=1(0, 1, 2, 5, 6, 7). Комплекс кубів містить три множини, з яких К1 дорівнює скороченої ДНФ, табл. 17.1 ілюструє покриття простими імплікантами зі СкДНФ конституент 1.

К = 000 К1 = 00 К2 = 

001 00 СкДНФ = К1

010 01

101 10

110 11

111 11

Таблиця 27.1

000

001

010

101

110

111

00

00

В

01

С

10

D

11

E

11

F

AB

AC

BD

CE

DF

EF

У прикладі екстремалі відсутні (Екстремалі з'являться у наступному прикладі лекції 18). Тупикові ДНФ мають вид:

ТДНФ1= 00 ТДНФ2= 00 ТДНФ3= 00

00 10 01

11 11 11.

11

Мінімальні ДНФ і їхньої ціни по Квайну мають вид:

МДНФ1=ТДНФ2,

Смднф1=3(n-1)=6, ymin1=x2x3x1 x2 x1 x3,

МДНФ2=ТДНФ3,

Смднф2=3(n-1)=6, ymin2=x1x3 x1x2x2 x3.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]