- •Розділ 4. Булеві функції
- •4.7. Мінімізація булевих функцій
- •Задача мінімізації складається з пошуку найпростішої, згідно з обраним критерієм, формули.
- •Множина S, що складається з імплікант функції f, називається покриттям (або повною системою
- •Простою імплікантою функції f називається така кон'юнкція-імпліканта, що ніяка її власна частина не
- •Диз'юнктивним ядром булевої функції f
- •Для знаходження множини простих імплікант функції, що задана СДНФ, використовуються такі перетворення формул
- •Таблиця істинності функції f(x,у,z) та її трьох імплікант, що входять до складу ДНФ
- •Для аналізу різних зображень булевої функції через КНФ і одержання мінімальних КНФ трансформуємо
- •Мінімізація булевих функцій методом карт Карно
- •Карта Карно для ДНФ (діаграма Вейча — для КНФ) є аналогом таблиці істинності,
- •До конституент одиниці, що відповідають будь- яким двом сусіднім кліткам, можна застосувати операцію
- •Приклад. Побудувати карту Карно для функції
- •Правило склеювання кліток і запису МДНФ
- •5.Кожна група кліток, що одержана після склеювання, відповідає тій імпліканті функції,
- •Приклад. Знайти МДНФ для функції
- •Мінімізація булевих функцій методом діаграм Вейча
- •Приклад. Побудувати МКНФ для функції
- •Мінімізація частково визначених функцій
- •Приклад. Функція f(x, у, z, t) дорівнює одиниці на наборах (0,0,1,0), (0,1,1,0), (1,0,1,0),
- •Приклад. Функція f(x, у, z, t) дорівнює одиниці на наборах (0,0,1,0), (0,1,1,0), (1,0,1,0),
- •Характеристика методів Карно та Вейча
- •Мінімізація булевих функцій методом Нельсона
- •Характеристика методу Нельсона
- •Мінімізація булевих функцій методом Квайна
- •4.Скласти імплікантну таблицю і знайти диз'юнктивне ядро.
- •Імплікантна таблиця функції
- •Виділення диз’юнктивного ядра та спрощення імплікантної таблиці
- •За спрощеною імплікантною таблицею знаходимо тупикові ДНФ
- •Характеристика методу Квайна
- •Мінімізація булевих функцій методом Мак-Класкі
- •Конституенти одиниці записуються у вигляді двійкового коду — номеру конституенти. Імпліканти, що одержані
- •Виконання операцій склеювання здійснюється покроково. На першому кроці здійснюються всі можливі склеювання конституент
- •1.Згрупувати двійкові коди імплікант з однаковою кількістю одиниць. Число одиниць m - індекс
- •Приклад. Знайти за допомогою метода Мак-Класкі мінімальну ДНФ функції:
- •Двійкові коди конституент одиниці функції
- •Одержання простих імплікант методом Мак-Класкі
- •Для знаходження тупикових ДНФ будуємо імплікантну таблицю
- •Одержання спрощеної імплікантної таблиці
- •Cпрощена імплікантна таблиця
- •Характеристика методу Мак-Класкі
- •Мінімізація булевих функцій методом Блейка — Порецького
- •Приклад. Знайти скорочену ДНФ за методом Блейка — Порецького для функції
- •Характеристика методу Блейка — Порецького
- •4.8. Алгебра Жегалкіна
- •Тотожності алгебри Жегалкіна
- •Зображення заперечення:
- •Поліном Жегалкіна
- •Побудова поліному Жегалкіна аналітичним способом
- •Побудова поліному Жегалкіна методом невизначених коефіцієнтів
- •Розв'язок. Запишемо поліном для даної функції у вигляді суми за модулем 2 всіх
- •Функції, що зберігають нуль та одиницю
- •Монотонні функції
- •Теорема. Булева функція, відмінна від констант 0 і 1, є монотонною, якщо і
Приклад. Побудувати МКНФ для функції
f(x, у, z, t) = x у z t x у z t x у z t x у z t
x у z t x у z t x у z t x у z t.
A
xy |
00 01 11 10 |
МКНФ: |
||
zt |
|
|
|
|
00 |
|
0 |
0 |
f(x, у, z, t) = A В C D = |
01 |
|
0 |
0 |
= ( у z) (у z t) |
|
(x z t) ( x у t). |
|||
11 |
|
|
0 |
|
|
|
|
||
10 |
0 |
0 |
0 |
|
В C D
Мінімізація частково визначених функцій
Якщо для розв'язку задачі використовуються не всі набори вхідних даних, то припустиме будь-яке значення функції на інтерпретаціях, що не використовуються, і така функція називається частково визначеною. Іншими словами, функція не визначена на вказаних інтерпретаціях. При мінімізації такі функції довизначаються так, щоб одержати найбільш економічну мінімальну ДНФ (КНФ).
Приклад. Функція f(x, у, z, t) дорівнює одиниці на наборах (0,0,1,0), (0,1,1,0), (1,0,1,0), (1,0,0,0) і не визначена, якщо ху = 1. Необхідно побудувати МДНФ та МКНФ.
xy |
00 01 11 10 |
МДНФ: |
zt |
|
|
00 |
х 1 f(x, у, z, t) = A В = z t x t. |
01 х 11 х 10 1 1 х 1
А В
Приклад. Функція f(x, у, z, t) дорівнює одиниці на наборах (0,0,1,0), (0,1,1,0), (1,0,1,0), (1,0,0,0) і не визначена, якщо ху = 1. Необхідно побудувати МДНФ та МКНФ.
xy |
00 01 11 10 |
МДНФ: |
|||
zt |
|
|
|
|
|
00 |
0 |
0 |
х |
|
f(x, у, z, t) = A В = z t x t. |
01 |
0 |
0 |
х |
0 |
МКНФ: |
11 |
0 |
0 |
х |
0 |
f(x, у, z, t) = C D = t (x z). |
|
|||||
10 |
|
|
х |
|
|
C D
Характеристика методів Карно та Вейча
•Методи не є формальними і складні для програмної реалізації.
•Методи не зручні у застосуванні до функцій з кількістю змінних більше шести.
•Перевагою методів є простота сприйняття та вивчення для людини.
Мінімізація булевих функцій методом Нельсона
Метод мінімізації Нельсона реалізує перехід від КНФ до скороченої ДНФ.
1.Записати КНФ заданої функції.
2.Розкрити дужки за дистрибутивним законом, спростити і звести подібні (закони ідемпотентності й протиріччя).
3.Виконати всі можливі операції диз'юнктивного поглинання. Результуюча формула є CДНФ функції.
Приклад. Знайти методом Нельсона СДНФ функції f(x, у, z) = (х y)( x z)(x y z).
Розв'язок.
f(x, у, z) = (х y)( x z)(x y z) =
=(х x y x х z y z )(x y z) =
=х x x y x x х z x y z x х x y y x yх z y y z y х x z y x z х z z y z z =
=х z x y z х y z x y z
Характеристика методу Нельсона
•Метод є формальним, але складний для програмної реалізації.
•Метод зручний, тільки якщо функція задана у вигляді КНФ.
•Результатом є скорочена, а не мінімальна форма. Для отримання мінімальної форми треба скористатися ще якимось методом.
Мінімізація булевих функцій методом Квайна
Метод мінімізації Квайна також реалізує перехід від ДДНФ до мінімальної ДНФ з використовуванням операцій склеювання та поглинання.
1.Записати ДДНФ заданої функції.
2.Виконати всі можливі операції неповного диз'юнктивного склеювання. Результуюча формула є диз'юнкцією всіх можливих імплікант даної функції.
3.Виконати всі можливі операції диз'юнктивного поглинання. Результуюча формула є CДНФ функції.
4.Скласти імплікантну таблицю і знайти диз'юнктивне ядро.
5.Спростити імплікантну таблицю за допомогою видалення рядків, що відповідають імплікантам диз'юнктивного ядра, і стовпців, що відповідають тим конституентам одиниці, які покриваються імплікантами ядра. Якщо при мінімізації деякої функції виходить, що спрощена імплікантна таблиця порожня, то тупикова ДНФ цієї функції складається тільки з імплікант диз'юнктивного ядра.
6.Знайти всі тупикові ДНФ даної функції.
7.Знайти мінімальну ДНФ.
Приклад. Знайти методом Квайна МДНФ функції f(x, у, z) = х у z x y z x y z x y z x y z.
Розв'язок. Виконаємо всі можливі операції диз'юнктивного склеювання і поглинання:
f(x, у, z) = х у z x y z x y z x y z x y z
y z |
y z |
x z |
x y = |
= у z y z x z x y