
5.2. Мінімальна диз’юнктивна нормальна форма (мднф)
Мінімальна диз’юнктивна нормальна форма записується як диз’юнкція елементарних кон’юнкцій, що відповідають виділеним блокам одиниць на карті Карно.
Для отримання МДНФ необхідно виконати такі дії:
- заносимо одиничні значення функції в карту Карно;
- створюємо ПК за одиничними значеннями. Одиниці, які ввійшли на попередніх кроках в одну із кон’юнкцій, вважаємо покритими. Із непокритих і покритих одиниць створюємо наступну кон’юнкцію, покриваючи максимальну кількість непокритих одиниць. Нову кон’юнкцію тільки із покритих одиниць створювати не потрібно. Процес завершується, коли покриті всі одиниці;
- описуємо всі ПК за допомогою таблиці;
- для кожної ПК складаємо кон’юнкцію змінних, від яких вона залежить.
Якщо змінна для даної ПК приймає одиничне значення, то вона береться в прямому вигляді, а інакше – в інверсному:
- об’єднуємо за допомогою операції диз’юнкції всі описані ПК:
.
(5.1)
і отримуємо мінімальну диз’юнктивну нормальну форму.
Приклад 3. Функція f3 задана таблицею істинності (табл. 5.7). Побудувати МДНФ.
Таблиця 5.7 – Таблиця істинності функції f3
х1 |
х2 |
х3 |
f3 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
Заносимо одиничні значення функції f3 в карту Карно.
ПК21
х1 ПК12
-
х2
6
1
7
1
3
1
2
4
5
1
1
1
0
х3
Об’єднуємо клітинки 0, 1, 2 і 3 в ПК12 , а клітинки 3 і 7 в ПК21. Правильні конфігурації описуємо за допомогою табл. 5.8.
Таблиця 5.8 – Опис значень змінних для правильних конфігурацій за одиничними значеннями функції f3
Правильні Конфігурації |
Значення змінних | ||
х1 |
х2 |
х3 | |
ПК12 |
0 |
– |
– |
ПК21 |
– |
1 |
1 |
ПК12
описується
тільки однією змінною, а саме
.
ПК21
описується
добутком змінних х2
і
х3
Об’єднавши
за допомогою операції диз’юнкції
отримані описи ПК, отримаємо МДНФ:
f3мднф
=.
5.3. Мінімальна кон’юктивна нормальна форма (мкнф)
Мінімальна кон’юктивна нормальна форма записується як кон’юнкція елементарних диз’юнкцій , що відповідають виділеним блокам нулів на карті Карно.
Для отримання МКНФ необхідно виконати такі дії:
- заносимо нульові значення функції в карту Карно;
- створюємо ПК за нульовим значеннями. Нулі, які ввійшли на попередніх кроках в одну із диз’юнкцій, вважаємо покритими. Із непокритих і покритих нулів створюємо наступну диз’юнкцію, покриваючи максимальну кількість непокритих нулів. Нову диз’юнкцію тільки із покритих нулів створювати не потрібно. Процес завершується тоді, коли покриті всі нулі;
- описуємо всі ПК за допомогою таблиці;
- для кожної ПК складаємо диз’юнкцію змінних, від яких вона залежить.
Якщо змінна для даної ПК приймає нульове значення, то вона береться в прямому вигляді, а інакше – в інверсному:
- об’єднуємо за допомогою операції кон’юнкції всі описані ПК:
(5.2)
і отримуємо мінімальну кон’юнктивну нормальну форму.
Приклад 4. Функція f4 задана таблицею істинності (табл.5.9). Побудувати МКНФ.
Таблиця 5.9 – Таблиця істинності функції f4
х1 |
х2 |
х3 |
f4 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
Заносимо нульові значення функції f4 в карту Карно.
ПК11
х1 ПК21
-
х2
6
7
0
3
0
2
4
0
5
1
0
0
ПК30 х3
Об’єднуємо клітинки 2 і 3 в ПК11 , клітинки 0 і 2 – в ПК21, а клітинку 5 – в ПК30. Правильні конфігурації описуємо за допомогою табл. 5.10.
Таблиця 5.10 – Опис значень змінних для правильних конфігурацій за нульовими значеннями функції f4
Правильні конфігурації |
Значення змінних | ||
х1 |
х2 |
Х3 | |
ПК11 |
0 |
1 |
– |
ПК21 |
0 |
– |
0 |
ПК30 |
1 |
0 |
1 |
ПК11
описується як диз’юнкція
.
ПК21
описується
як диз’юнкція змінних
.
ПК30
описується
як диз’юнкція змінних
.
Об’єднавши за допомогою операції
кон’юнкції отримані описи ПК, отримаємо
МКНФ:
f4мкнф
= () (
)
(
).