
- •Міністерство освіти і науки,
- •Упорядники: в.І. Хаханов,
- •Рецензент: є.І. Литвинова, д-р техн. Наук, проф. Каф. Апот хнуре
- •1 Основні поняття теорії множин
- •1.1 Відношення приналежності та включення
- •1.2 Способи задання множин
- •1.3 Алгебра множин Кантора
- •1.4 Закони й тотожності алгебри множин
- •1.5 Контрольні запитання
- •2 Відповідності. Функції. Відображення
- •2.1 Поняття впорядкованої пари й вектора
- •2.2 Декартів (прямий) добуток множин
- •2.4 Функції. Відображення
- •2.5 Контрольні запитання
- •3 Відношення. Алгебра відношень
- •3.1 Поняття відношення
- •3.2 Операції над відношеннями
- •3.3 Алгебра відношень
- •3.4 Контрольні запитання
- •4 Бінарні відношення
- •4.1 Способи завдання бінарних відношень
- •4.2 Властивості бінарних відношень
- •4.3 Бінарне відношення еквівалентності
- •4.4 Контрольні запитання
- •5 Бінарне відношення порядку
- •5.1 Упорядковані множини. Бінарне відношення порядку
- •5.2 Типи порядку (лінійний, частковий, передпорядок)
- •5.3 Контрольні запитання
- •6 Структури. Алгебраїчні системи. Ізоморфізм
- •6.1 Структура
- •6.2 Дедекиндові (модулярні) структури
- •6.3 Дистрибутивні структури
- •6.4 Ізоморфізм множин
- •6.5 Контрольні запитання
- •7 Висновки до розділу «Теорія множин»
- •8 Позначення до розділу «Теорія множин»
- •9 Основні поняття булевої алгебри
- •9.1 Логічні операції й логічні функції
- •9.2 Закони й тотожності булевої алгебри
- •9.3 Доведення законів булевої алгебри
- •9.4 Контрольні запитання
- •10 Диз’юнктивні та кон’юнктивні нормальні форми (днф і кнф). Досконалі днф і кнф (дднф і дкнф)
- •10.1 Днф і кнф
- •10.2 Дднф і дкнф
- •10.3 Складність зображення булевих функцій
- •10.4 Теорема Шенона про розкладання булевих функцій
- •10.5 Контрольні запитання
- •11 Елементи логічних схем. Булеві функції від двох змінних
- •11.1 Фізичний зміст логічних функцій і, або, ні та їх схемотехнічне зображення
- •11.2 Таблиця аналітичного й схемотехнічного зображення булевих функцій від двох змінних
- •11.3 Властивості й аналітичні подання елементарних булевих функцій від двох змінних
- •11.4 Приклади розв’язання практичних завдань
- •11.5 Контрольні запитання й завдання
- •12 Способи зображення булевих функцій
- •12.1 Табличний спосіб зображення булевих функцій
- •12.2 Числовий спосіб зображення булевих функцій
- •12.3 Аналітична форма запису булевих функцій
- •12.4 Геометрична інтерпретація булевих функцій
- •12.5 Кубічна форма зображення булевих функцій
- •12.6 Схемотехнічне зображення
- •12.7 Контрольні запитання й завдання
- •13 Системи функцій алгебри логіки. Функціональна повнота
- •13.1 Класи булевих функцій
- •13.2 Повнота функцій алгебри логіки
- •13.3 Контрольні запитання
- •14 Булеві похідні
- •14.1 Булеві похідні першого порядку
- •14.2 Фізичний зміст булевої похідної першого порядку
- •14.3 Змішана похідна -го порядку
- •14.4 Булеві похідні k-го порядку
- •14.5 Контрольні запитання
- •15 Мінімізація булевих функцій. Методи квайна і квайна-мак-класки
- •Булеві функції застосувуються при реалізації логічних схем. Різні вирази однієї й тієї ж функції представляють різні схеми.
- •15.1 Основні положення методу квайна
- •15.2 Мінімізація булевих функцій за методом Квайна-Мак-Класки
- •15.3 Контрольні запитання
- •16 Мінімізація булевих функцій: метод невизначених коефіцієнтів
- •16.1 Основні припущення
- •16.2 Алгоритм знаходження невизначених коефіцієнтів
- •16.3 Контрольні запитання
- •17 Мінімізація булевих функцій: метод карт карно
- •17.1 Основні положення
- •17.2 Спрощений стандарт карт Карно
- •17.3 Мінімізація за картами Карно
- •17.4 Контрольні запитання
- •18 Висновки до розділу «булева алгебра»
- •19 Позначення до розділу «булева алгебра»
- •Перелік посилань
- •Упорядники хаханов Володимир Іванович
15.2 Мінімізація булевих функцій за методом Квайна-Мак-Класки
Недолік методу Квайна полягає в необхідності попарного порівняння всіх термів на першому етапі при знаходженні первинних імпликант. Із збільшенням кількості вихідних термів збільшується кількість попарних порівнянь, що ускладнює розв’язок.
Метод Квайна-Мак-Класки є модифікацією методу Квайна. Він заснований на кубічному поданні термів ДНФ із попередньою розбивкою кубів на підгрупи, обумовлені однаковим числом одиниць. Розбивка дає можливість порівнювати куби тільки за сусідніми за числом одиниць групами для зменшення кількості переборів.
В ітеративній процедурі мінімізації попарне порівняння можна виконувати тільки між сусідніми групами.
Вихідне завдання функції визначається для зручності десятковими кодами двійкових кубів, що відповідають ДНФ.
Знаходження первинних імплікант на першому етапі можна спростити за допомогою числового зображення булевих функцій, а саме:
1. Всі вихідні терми записуються у вигляді їхніх двійкових номерів.
2. Всі номери розбиваються на непересічні групи за числом одиниць. Умовою утворення r-куба є наявність розбіжності в (r-1)-кубах тільки за однією координатою в одному двійковому розряді й наявність спільних незалежних координат.
3. В i-групу включають всі номери наборів, що мають у своєму записі i одиниць.
4. Попарне порівняння виконується тільки між сусідніми за номером групами. Групи, які розрізняються за двома розрядами і більше, не має сенсу порівнювати.
Приклад 15.2. Потрібно мінімізувати логічну функцію за методом Квайна-Мак-Класки:
.
Розв’язок.
Функція зображена числовим способом.
На підставі таблиці істинності можна
подати функцію в кубічній формі. Для
цього слід виписати всі 0-куби, що
утворюють комплекс :
.
(15.3)
Слід
розбити комплекс
на
групи за кількістю одиниць у кожному
двійковому наборі. Таких груп буде три:
,
,
.
(15.4)
1) Визначення первинних імплікант.
а) Порівняння сусідніх за номером груп кубів – склеювання кубів (поглинена координата заміняється на Х):
,
(15.5)
.
(15.6)
б) Всі 1-куби розбиваються на групи за принципом розташування незалежної координати Х (нижній індекс відповідає порядковому номеру розташування незалежної координати Х):
;
;
;
.
(15.7)
Куби
всередині кожної групи порівнюються
з метою одержання -кубів.
Порівняння кубів усередині комплексу
дає
,
а порівняння усередині
дає
,
що вже міститься в
,
тобто отримана первинна імпліканта
другого рангу
.
2) Складання таблиці й розміщення міток. Складається таблиця вихідних термів і тих імплікант, які не брали участь у склеюванні. Якщо у вихідний терм входить яка-небудь первинна імпліканта, то на перетинанні відповідного рядка й стовпця вказується мітка «*» (табл. 15.2).
Таблиця 15.2 – Складання таблиці й розміщення міток
Номери стовпців |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
Набори |
0011 |
0100 |
0101 |
0111 |
1001 |
1011 |
1100 |
1101 |
0X11 |
* |
|
|
* |
|
|
|
|
X011 |
* |
|
|
|
|
* |
|
|
01X1 |
|
|
* |
* |
|
|
|
|
10X1 |
|
|
|
|
* |
* |
|
|
1X01 |
|
|
|
|
* |
|
|
* |
X10X |
|
* |
* |
|
|
|
* |
* |
3)
Визначення істотних імплікант.
Істотна
імпліканта визначається єдиною міткою
в якому-небудь стовпці таблиці. Істотною
імплікантою 2-го рангу є терм ,
що відповідає 2-кубу Х10Х. Стовпці, що
відповідають істотній імпліканті,
відокремлюються (табл. 15.3).
Таблиця 15.3 – Визначення істотних імплікант і видалення зайвих стовпців
|
Номери стовпців |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
|
Набори |
0011 |
0100 |
0101 |
0111 |
1001 |
1011 |
1100 |
1101 |
A |
0X11 |
* |
|
|
* |
|
|
|
|
B |
X011 |
* |
|
|
|
|
* |
|
|
C |
01X1 |
|
|
* |
* |
|
|
|
|
D |
10X1 |
|
|
|
|
* |
* |
|
|
E |
1X01 |
|
|
|
|
* |
|
|
* |
|
X10X |
|
* |
* |
|
|
|
* |
* |
4-й і 5-й етапи, які відповідають викреслюванню зайвих стовпців і зайвих первинних імплікант, відсутні.
6) Вибір мінімального покриття. Виділяються стовпці відповідні істотним імплікантам (у цьому випадку тільки однієї істотної імпліканти). Складається таблиця термів та імплікант, які залишилися невиділеними. Вирішується завдання мінімального покриття рядків стовпцями (табл. 15.4).
Таблиця 15.4 – Покриття рядків стовпцями
|
Номери стовпців |
1 |
4 |
5 |
6 |
|
Набори |
0011 |
0111 |
1001 |
1011 |
A |
0X11 |
* |
* |
|
|
B |
X011 |
* |
|
|
* |
C |
01X1 |
|
* |
|
|
D |
10X1 |
|
|
* |
* |
E |
1X01 |
|
|
* |
|
Таким
чином, обране мінімальне покриття
рядків стовпцями: ,
.
Воно відповідає термам
.
З урахуванням отриманої раніше істотної
імпліканти
остаточне мінімальне зображення функції
має вигляд:
.
Отже, методи мінімізації булевих функцій використовуються у всіх програмних додатках, пов’язаних із синтезом обчислювальних пристроїв. Вони дозволяють у середньому на 20 – 30% одержати більш економічний проект із позиції апаратурних витрат. Найбільш практично орієнтованим є метод Квайна-Мак-Класки, що оперує кубічним зображенням булевих функцій. Недоліком обох методів є застосування імплікантної таблиці для розв’язання завдання знаходження мінімального покриття, що вимагає великого обсягу пам’яті для реальних об’єктів.