Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мінімізація функцій_КЛ.doc
Скачиваний:
11
Добавлен:
20.08.2019
Размер:
862.21 Кб
Скачать

3.2. Алгебраїчний метод

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

Приклад 3.1. Мінімізувати функцію

,

де нижні індекси показують номери доданків, які являють собою мінтерми.

Розв’язання. Легко бачити, що можна виконати операцію склеювання таких пар мінтермів: 1 і 2 за змінною А; 2 і 3 за змінною С; 2 і 4 за змінною В; 3 і 5 за змінною В; 4 і 5 за змінною С;

В результаті виконання операцій склеювання отримаємо скорочену формулу , в якій можна провести склеювання доданків: 2 і 5 за змінною В; 3 і 4 за змінною С. При цьому отримаємо формулу , яка містить два одинакові доданки, що дає можливість остаточно записати функцію у вигляді .

Приклад 3.2. Мінімізувати функцію , задану в ДНФ.

Розв’язання. Для розв’язання поставленої задачі доцільно спочатку перетворити до ДДНФ. Скориставшись аксіомою , запишемо:

.

Після розкриття дужок та врахування аксіоми , дістанемо ДДНФ вигляду:

.

Застосовуючи до одержаних мінтермів закон склеювання дістанемо наступні дві мінімальні форми:

  1. якщо склеїмо 2-й з 3-м за змінною С, 1-й з 5-м за змінною А та 4-й з 6-м за змінною В, то ;

  2. якщо склеїмо 2-й з 6-м за змінною А, 1-й з 3-м за змінною В та 4-й з 5-м за змінною С, то .

Одержані мінімальні форми є мінімальними за всіма вище введеними критеріями простоти.

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

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

Метод Квайна полягає в застосуванні до імплікант, які входять в ДНФ функції f закону поглинання .

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

Метод Квайна виконується в декілька етапів.

Продемонструємо метод Квайна на прикладах.

Приклад 3.3. Нехай потрібно мінімізувати функцію

Застосовуючи операцію склеювання дістанемо:

Тут за допомогою нижніх індексів вказані номери імплікант, в результаті склеювання яких, одержується відповідна імпліканта нижчого рангу.

В результаті таких перетворень одержимо скорочену форму .

Оскільки подальше спрощення неможливе, то одержана форма є тупиковою, а отже, і мінімальною.

А тепер приступимо до реалізації методу Квайна.

Етап1. Знаходження первинних імплікант. Перш за все складається таблиця (табл. 1) і знаходяться імпліканти третього і другого рангу, тобто знижується ранг членів, які входять в ДДНФ.

Таблиця 1

Початкові терми

+

1

+

1

+

1

+

1

+

1

В табл.1 і нижче символом “+” позначені терми (імпліканти), до яких застосовувався закон поглинання.

Таблиця 2

+

1

+

1

1

+

1

+

1

Після цього складається таблиця (табл. 2), яка включає всі терми, які не брали участь у поглинанні (таких немає), а також первинні імпліканти другого рангу. В загальному, складання таблиць продовжується до тих пір, поки можна застосувати закону поглинання.

Складаємо наступну таблицю, яка включає усі терми, які не підлягають поглинанню на попередніх кроках (таким термом в даному випадку є терм ), а також імпліканти 1-го рангу.

У розглядуваному прикладі можна дійти до первинних імплікант першого рангу (табл. 3).

Таблиця 3

1

1

В результаті етапу 1 одержуємо дві первинні імпліканти: і .

Етап2. Розставлення міток. Складається таблиця (табл. 4), число рядків, якої дорівнює числу первинних імплікант, а число стовпців співпадає з числом мінтермів (конституент одиниць) ДДНФ функції f. Якщо в деякий мінтерм ДДНФ входить яка-небудь із первинних імплікант, то на перетині відповідного стовпця і рядка ставиться мітка (символ “*”).

Таблиця 4

Первинні імпліканти

1

2

3

4

5

*

*

*

*

*

*

Етап 3. Знаходження істотних імплікант. Якщо в деякому стовпці таблиці знаходиться лише одна мітка, то первинна імпліканта у відповідному рядку є істотною, оскільки без неї не буде можливості одержати усю множину заданих мінтермів. У даному випадку такою імплікантою є . Стовпці, які відповідають істотним імплікантам, із таблиці викреслюються. У даному випадку такими імплікантами є і . Завдяки імплікації в табл. 4 можна викреслити стовпці 1,2,3 5, а завдяки імплікації – стовпець 4. Зауважимо, що в першу чергу розглядаємо імплікацію, яка більше покриває конституент одиниці. В результаті такої дії приходимо до результату, коли покриті усі конституент одиниці, а оскільки імпліканти і є первинні, то можна записати мінімальну форму у вигляді

.

У загальному випадку можуть бути наступні етапи.

Етап 4. Викреслювання лишніх стовпців. Після третього етапу в результаті викреслювання стовпців може одержатись таблиця, в якій є два стовпці, в яких є мітки в однакових рядках. Тоді один з них викреслюється. Покриття конституенти одиниці стовпця, який залишився буде здійснювати відкинутий мінтерм. У випадку, якщо таких рядів більше, то викреслюються всі, крім одного.

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

Етап 6. Вибір мінімального покриття. В одержаній після попередніх етапів таблиці вибирається така сукупність первинних імплікант, яка включає мітки у всіх стовпцях принаймні по одній мітці в кожному стовпці. При декількох можливих варіантах такого вибору віддається перевага варіанту покриття з мінімальним сумарним числом букв в імплікантах, які здійснюють покриття.

Приклад 3.4. Задану функцію від чотирьох змінних , яка на вказаних наборах дорівнює одиниці, мінімізувати, користуючись методом Квайна.

Етап1. Знаходження первинних імплікант. Складаємо таблиці (табл.5, 6) і знаходяться імпліканти третього і другого рангу, тобто знижується ранг членів, які входять в ДДНФ до 3 і 2.

Таблиця 5

Початкові терми

1

1

1

1

1

1

1

1

Таблиця 6

Первинні імпліканти рангу 3

1

1

– +

1

– +

1

1

– +

1

1

1

– +

1

В результаті етапу 1 одержуємо шість первинних імпліканти: , , , , , . В табл.6 символом “+” позначено імпліканти, які брали участь в операції склеювання.

Етап2. Розставлення міток. Складаємо табл.7, число рядків, якої дорівнює числу первинних імплікант, а число стовпців співпадає з числом мінтермів ДДНФ функції f. Символ “*” ставиться на перетині рядка і стовпця, якщо відповідна первинна імпліканта рядка входить мінтерм стовпця.

Таблиця 7

Первинні імпліканти

1

2

3

4

5

6

7

8

Початкові терми

*

*

*

*

*

*

*

*

*

*

*

*

*

*

Етап 3. Знаходження істотних імплікант. У даному випадку такою імплікантою є . Викресливши стовпці, які відповідають даній імпліканті, (у даному випадку такими стовпцями є 2,3,7 і 8), одержимо табл. 8, за допомогою якої будемо шукати мінімальне покриття.

Таблиця 8

Первинні імпліканти

1

4

5

6

Початкові терми

*

*

*

*

*

*

*

*

Оскільки для даного випадку етапи 4 і 5 відсутні, то переходимо до етапу 6.

Етап 6. Вибір мінімального покриття. Неважко переконатись, що мінімальне покриття дають первинні імплікант і (табл.9).

Таблиця 9

Первинні імпліканти

1

4

5

6

Початкові терми

*

*

*

*

Таким чином, мінімальна форма заданої функції складається з суми істотної імпліканти (етап 3) і первинних імплікант і (етап 6), які покривають мінтерми, що залишилися:

.

Приклад 3.5. Користуючись методом Квайна, мінімізувати функцію, яка задана у досконалій диз’юнктивній нормальній формі

.

В результаті виконання етапу 1 одержимо табл.10, з якої одержуємо чотири первинні імпліканти рангу 2: , , , .

Таблиця 10

Початкові терми

Результат розставлення міток наведено в табл. 11.

Таблиця 11 Таблиця 12

3

2

*

3

*

1

2

3

4

5

1

*

*

2

*

*

3

*

*

4

*

*

Викресливши істотні імпліканти , (етап 3), одержимо результат, який наведено в табл.12.

Оскільки первинні імпліканти і накривають той самий мінтерм , то це дає можливість одержати дві мінімальні форми:

або .

Приклад 3.6. Користуючись методом Квайна, мінімізувати функцію від трьох змінних, яка на наборах 0, 2, 3, 4, 5, 7 приймає значення 1, на інших – 0, тобто .

В результаті виконання етапу 1 одержимо табл.13, з якої одержуємо шість первинні імпліканти рангу 2: , , , , , .

Таблиця 13

Початкові терми

1

1

1

1

1

1

Результат розставлення міток наведено в табл. 14.

Таблиця 14

*

*

*

*

*

*

*

*

*

*

*

*

Неважко переконатись, що мінімальне покриття (етап 6) можна виконати двома способами, наведеними в таблицях 15, 16

Таблиця 15

*

*

*

*

*

*

Таблиця 16

*

*

*

*

*

*

З таблиць 15, 16 можна записати дві мінімальні форми:

і .