
- •Логічні операції та логічні змінні
- •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. Мінімізація функцій методом Квайна – Мак-Класкі
11. Досконала кон’юнктивна нормальна форма булевих функцій
Елементарна диз’юнкція
називається конституентою
нуля (макстермом)
функції
,
якщо
.
Конституента нуля має такі властивості.
-
Конституента нуля дорівнює нулю тільки на одному відповідному слові.
-
Конституента нуля однозначно визначається номером відповідного їй слова.
-
Диз’юнкція будь-якого числа різних конституент нуля функції дорівнює одиниці.
Приклад 1.
Елементарна диз’юнкція
є конституантою нуля функції
на слові 01, оскільки
Елементарна диз’юнкція
є конституентою нуля функції
на слові 000, оскільки
Елементарна диз’юнкція
є конституантою нуля функції
на слові 101, оскільки
Диз’юнкція
.
Досконалою кон’юктивною нормальною формою (ДКНФ) називають кон’юнкція конституент нуля.
Кожна булева функція, крім константи 1, може бути подана єдиною ДКНФ, яка є результатом кон’юнктивного розкладу (1, п. 10) булевої функції за всіма змінними:
.
З використанням цієї формули можна сформулювати такий алгоритм побудови ДКНФ булевої функції, заданої таблицею істинності.
-
Вибрати всі слова, на яких задана функція приймає значення 0.
-
Побудувати конституенти нуля на цих вибраних словах.
-
Об’єднати одержані конституенти нуля операцією кон’юнкції.
Приклад 2. Булева функція задана таблицею істинності
Побудувати ДКНФ для цієї функції.
Виконання. Вибираємо слова, на яких задана функція набуває значення 0 і виписуємо відповідні конституенти нуля.
000 ,
001 ,
011 ,
110 ,
111 .
Об’єднуємо одержані конституанти одиниці операцією диз’юнкції і одержуємо ДКНФ заданої функції:
.
Якщо булева функція задана формулою булевої алгебри, то для побудови ДКНФ здійснюється за таким алгоритмом.
-
Виключити константи. Для цього скористатися законами дій з константами:
;
;
;
.
-
Опустити знаки заперечення на змінні. Для цього скористатися законами де Моргана:
;
.
-
Побудувати КНФ булевої функції. Для цього використати дистрибутивний закон
диз’юнкції відносно кон’юнкції, закони ідемпотентності
,
і закони дій із запереченням
;
.
-
Побудувати конституенти нуля функції. Для цього ввести в кожну елементарну диз’юнкцію відсутні змінні використовуючи рівність
;
-
Побудувати ДКНФ булевої функції. Для цього необхідно скористатись дистрибутивним законом диз’юнкції відносно кон’юнкції та законами ідемпотентності.
Приклад 2. Побудувати ДКНФ функції
.
Виконання. Константи у формулу не входять і тому починаємо з 2 кроку.
2 крок. Опускаємо заперечення на змінні:
.
3 крок. Будуємо КНФ:
.
4 крок: Задана функція залежить від трьох змінних, тому до елементарних кон’юнкцій вводимо відсутні змінні:
.
5 крок: Розкриваємо дужки і зводимо подібні члени
.
Отже, ДКНФ заданої функції.
Практичне заняття 8.
Вправа 1.
Записати ДКНФ булевої функції
за її номером
Виконання. Побудуємо таблицю істинності, враховуючи що
.
Виписуємо слова, на яких функція дорівнює нулю і будуємо відповідні конституенти нуля:
;
.
Об’єднуємо конституенти нуля операцією кон’юнкції і отримуємо в підсумку:
.
Вправа 2. Записати ДКНФ булевої функції
перетворенням відповідної формули булевої алгебри
Виконання. Перетворимо логічну формулу, якою задана функція, до формули булевої алгебри:
.
Константи в одержаний вираз не входять, заперечення опущені на змінні і тому одразу виконуємо 3-й крок:
.
В результаті отримали КНФ в якої всі елементарні диз’юнкції містять всі змінні і тому є конституентами нуля. Це означає що одержана КНФ і є ДКНФ.
В підсумку:
.
Варіанти для самостійної роботи
Варіант |
Вправа
1.
|
Вправа
2.
|
1 |
175 |
|
2 |
157 |
|
3 |
187 |
|
4 |
136 |
|
5 |
201 |
|
6 |
147 |
|
7 |
188 |
|
8 |
158 |
|
9 |
173 |
|
10 |
112 |
|
11 |
138 |
|
12 |
150 |
|
13 |
125 |
|
14 |
124 |
|
15 |
149 |
|
16 |
137 |
|
17 |
123 |
|