- •Логічні операції та логічні змінні
- •2. Булеві функції
- •3. Булеві функції однієї та двох змінних
- •Практичне заняття 1
- •4. Системи базових (елементарних) операцій
- •Булеві функції багатьох змінних
- •Практичне заняття 2
- •6. Булева двохелементна алгебра. Алгебра логіки
- •Практичне заняття 3
- •7. Алгебра Жегалкіна
- •Практичне заняття 4
- •8. Диз’юнктивні нормальні форми (днф) булевих функцій
- •Практичне заняття 5
- •9. Досконала диз’юнктивна нормальна форма булевої функції
- •Практичне заняття 6
- •10. Кон’юнктивні нормальні форми (кнф) булевих функцій
- •Практичне заняття 7.
- •11. Досконала кон’юнктивна нормальна форма булевих функцій
- •Практичне заняття 8.
- •12. Двоїстість булевих функцій
- •Практичне заняття 9.
- •13. Поліном Жегалкіна. Лінійні функції
- •Практичне заняття 10.
- •14. Функції, що зберігають нуль та функції, що зберігають одиницю. Монотонні функції
- •Практичне заняття 11.
- •15. Класи Поста. Теорема Поста
- •Практичне заняття 12
- •16. Мінімізація булевих функцій
- •16.1 Постановка задачі. Основні поняття
- •16.2. Мінімізація булевих функцій методом карт Карно
- •Практичне заняття 13
- •16.3. Мінімізація на множині кнф
- •Практичне заняття 14
- •16.4. Мінімізація функцій методом Квайна – Мак-Класкі
8. Диз’юнктивні нормальні форми (днф) булевих функцій
Для спрощення викладок введемо параметр і позначення таким чином.
(1)
Зокрема
, , , .
Звідси можна зробити висновок, що
Безпосередньо перевіряється, що булева функція може бути представлена формулою
. (2)
Елементарною кон’юнкцією називається кон’юнкція будь-якого число булевих змінних, що взяті із запереченням або без нього, в якій кожна змінна зустрічається не більше одного разу. Будемо вважати константу 1 елементарною кон’юнкцію, що містить нуль змінних.
Приклад 1. Приклади елементарних кон’юнкцій ,. Формули , не є елементарними кон’юнкціями.
Диз’юнктивною нормальною формою (ДНФ) називається формула, що зображена у вигляді диз’юнкції елементарних кон’юнкцій.
Приклад 2. Формула є диз’юнктивною нормальною формою (ДНФ).
Теорема. Будь-яку булеву функцію можна записати у вигляді кон’юнктивного розкладу
. (3)
Запис означає багатократну диз’юнкцію, яка береться для всіх можливих наборів значень .
Приклад 3. Записати диз’юнктивний розклад функції за змінними .
Виконання. В цьому випадку диз’юнктивний розклад (3) приймає вигляд
.
Обчислимо:
;
;
;
.
З врахуванням цього для заданої функції можна записати диз’юнктивний розклад по змінним і :
.
Приклад 4. Записати диз’юнктивний розклад функції по змінній x.
Виконання. В даному випадку формула (3) запишеться як
.
Обчислимо:
Тому
.
Як видно з цих прикладів, результатом кон’юнктивного розкладу булевих функцій заданих формулою булевої алгебри є подання їх диз’юнктивною нормальною формою (ДНФ).
Практичне заняття 5
Записати диз’юнктивний розклад заданої функції по:
-
змінним і ;
-
змінній .
Виконання.
.
Обчислимо:
;
;
;
.
В підсумку
-
.
Обчислимо:
;
.
В підсумку
.
Варіанти для самостійної роботи
Варіант |
|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
9. Досконала диз’юнктивна нормальна форма булевої функції
Елементарна кон’юнкція називається конституентою одиниці (мінтермом) функції , якщо .
Конституента одиниці має такі властивості:
-
конституента одиниці дорівнює одиниці лише на одному відповідному ій слові;
-
значення конституенти одиниці однозначно визначаться номером відповідного слова;
-
кон’юнкція будь-якого числа різних конституент одиниці функції дорівнює нулю.
Приклад 1. Елементарна кон’юнкція є конституентою одиниці функції на слові 10:
Це підтверджується таблицею істинності
.
Елементарна кон’юнкція є конституентою одиниці функції на слові 111, а кон’юнкція – на слові 110. Причому ) (властивість 3).
Досконалою диз’юнктивною нормальною формою (ДДНФ) називається формула, що зображена диз’юнкцією конституент одиниці.
Кожна булева функція, крім константи 0, може бути подана єдиною ДДНФ, яка є результатом диз’юнктивного розкладу(1, п. 8) булевої функції по всім змінним:
(1)
З використанням цієї формули можна сформулювати такий алгоритм побудови ДДНФ булевої функції, заданої таблицею істинності.
-
Вибрати всі слова, на яких задана функція приймає значення 1.
-
Побудувати конституенти одиниці на цих вибраних словах.
-
Об’єднати одержані конституенти одиниці операцією диз’юнкції
Приклад 2. Булева функція задана таблицею істинності
.
Побудувати ДДНФ для цієї функції.
Виконання. Вибираємо слова, на яких задана функція набуває значення 1 і виписуємо відповідні конституенти одиниці.
010
100
101
Об’єднуємо одержані конституанти одиниці операцією диз’юнкції і одержуємо ДДНФ заданої функції:
Якщо булева функція задана формулою булевої алгебри, то побудова ДДНФ здійснюється за таким алгоритмом.
-
Виключити константи. Для цього скористатися законами дій з константами: ; ; ; .
-
Опустити знаки заперечення на змінні. Для цього скористатися законами де Моргана : ; .
-
Побудувати ДНФ булевої функції. Для цього розкрити дужки використовуючи дистрибутивний закон кон’юнкції відносно диз’юнкції, звести подібні, застосовуючи закони ідемпотентності та і закони дій із запереченням ; .
-
Побудувати конституанти одиниці функції. Для цього ввести в кожну елементарну кон’юнкцію відсутні змінні використовуючи рівність ;
-
Побудувати ДДНФ булевої функції. Для цього необхідно розкрити дужки та звести подібні.
Приклад 1. Побудувати ДДНФ функції
Виконання. Константи у формулу не входять і тому починаємо з 2 кроку.
2 крок. Опускаємо заперечення на змінні:
.
3 крок. Розкриваємо дужки:
(ДНФ)
4 крок: Задана функція залежить від трьох змінних, тому до елементарних диз’юнкцій вводимо відсутні змінні.
5 крок Розкриваємо дужки і зводимо подібні члени
Отже, ДДНФ заданої функції