- •Логічні операції та логічні змінні
- •2. Булеві функції
- •3. Булеві функції однієї та двох змінних
- •Практичне заняття 1
- •4. Системи базових (елементарних) операцій
- •Булеві функції багатьох змінних
- •Практичне заняття 2
- •6. Булева двохелементна алгебра. Алгебра логіки
- •Практичне заняття 3
- •7. Алгебра Жегалкіна
- •Практичне заняття 4
- •8. Диз’юнктивні нормальні форми (днф) булевих функцій
- •Практичне заняття 5
- •9. Досконала диз’юнктивна нормальна форма булевої функції
- •Практичне заняття 6
- •10. Кон’юнктивні нормальні форми (кнф) булевих функцій
- •Практичне заняття 7.
- •11. Досконала кон’юнктивна нормальна форма булевих функцій
- •Практичне заняття 8.
- •12. Принцип двоїстості
- •13. Двоїстість булевих функцій
- •Практичне заняття 9
- •14. Поліном Жегалкіна. Лінійні функції
- •Практичне заняття 10
- •15. Функції, що зберігають нуль та функції, що зберігають одиницю. Монотонні функції
- •Практичне заняття 11.
- •16. Класи Поста. Теорема Поста
- •Практичне заняття 12
- •17. Мінімізація булевих функцій
- •17.1 Постановка задачі. Основні поняття
- •17.2. Мінімізація булевих функцій методом карт Карно
- •Практичне заняття 13
- •17.3. Мінімізація на множині кнф
- •Практичне заняття 14
- •17.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 крок. Будуємо ДДНФ:
В підсумку:
.