
- •2. Елементарні булеві функції та їх властивості.
- •3. Реалізація булевих функцій формулами.
- •4. Рівносильність та тотожність формул. Принцип двоїстості.
- •5. Диз’юнктивна та кон’юнктивна нормальні форми. Розкладання булевої функції за змінними. Досконалі диз’юнктивна та кон’юнктивна нормальні форми.
- •6. Зображення булевих функцій досконалими диз’юнктивними нормальними формами.
- •Для будь-якої формули і для будь-якого числа справедливий розклад:
- •Алгоритм знаходження дкнф для даної функції:
- •Алгоритм знаходження дкнф для даної функції за допомогою рівносильних перетворень:
- •8. Повні системи булевих функцій.
- •Алгоритм побудови скороченої днф
- •2 Етап мінімізації – побудова тупикової днф
- •Алгоритм побудови тупикової днф
- •10. Реалізація булевих функції схемами з функціональних елементів.
- •11. Аналіз і функціонування схеми з функціональних елементів.
- •12. Структурній синтез схем з функціональних елементів.
Алгоритм побудови скороченої днф
Крок
1.
Поставимо у відповідність кожній
елементарній кон’юнкції ДДНФ булевий
вектор з 0 та 1, ставлячи на
-му
місці 1, якщо
-та
змінна входить в елементарну кон’юнкцію,
0 – якщо в елементарну кон’юнкцію
входить заперечення
-тої
змінної, і знак - , якщо
-та
змінна не входить в елементарну
кон’юнкцію.
Крок 2. Розіб’ємо двійкові вирази, що відповідають елементарним кон’юнкціям, на класи за числом одиниць і розташуємо класи у стовпчик за порядком зростання цього числа.
Крок 3. Застосуємо тотожність узагальненого склеювання до пар виразів, які лежать в сусідніх класах. Пари, які підходять, відшукуються простим спостереженням: елементи пари повинні відрізнятися тільки в одній позиції, і в цій позиції не повинно бути прочерків. Всі послідовності, які походять від даної пари, розміщуються в один клас. Результат записуємо в новий стовпчик справа, а двійкові вирази, які брали участь у склеюванні, помічаємо галочкою.
Повторюємо крок 3 доти, поки можна застосовувати тотожність узагальненого склеювання. Двійкові вирази, що залишилися в результаті, знову записуємо у вигляді елементарних кон’юнкцій, які і будуть простими імплікантами для даної булевої функції. Беручи диз’юнкцію простих імплікантів, одержимо скорочену ДНФ.
Приклад 1. Одержимо скорочену ДНФ для булевої функції
йдучи за алгоритмом.
Розв’язання.
0
000 000 00-
1
001 001 -01
5
101 101 1-1
6
110 110 11-
7 111 111
Відповідь:
2 Етап мінімізації – побудова тупикової днф
Означення.
Тупиковою
ДНФ
(ТДНФ) функції
називається така скорочена ДНФ функції
,
з якої не можна виключити жодного
імпліканта, не змінивши при цьому функції
.
Теорема. Будь-яка мінімальна ДНФ деякої функції є її тупиковою ДНФ.
Для
отримання
МДНФ функції
необхідно
побудувати
всі
ТДНФ функції
і
вибрати
серед
них ті,
які
містять
мінімальне
число букв.
Означення.
Одиничним
інтервалом
або просто інтервалом називається
одинична множина
елементарної кон’юнкції.
Зображення
у вигляді ДНФ відповідає зображенню її
одиничної множини
у вигляді об’єднання інтервалів, тобто
для будь-якої ДНФ
виконується теоретико-множинне
співвідношення
В
сукупності всі кон’юнкції ДНФ покривають
всю множину
.
Справедливе і обернене: якщо всі елементи
деякого інтервалу
належать
,
то існує ДНФ функції
,
яка містить кон’юнкцію
.
Зокрема, ДДНФ функції
відповідає просто переліку елементів
.
Алгоритм побудови тупикової днф
1.
Будуємо імплікантну
таблицю,
рядки якої відповідають імплікантам
(тобто інтервалам), стовпці – елементам
, а на перетині
-го
рядка і
-го
стовпця знаходиться 1, якщо
-та
кон’юнкція (
-й
інтервал) покриває
-й
елемент множини
,
в противному випадку на перетині
знаходиться 0.
2. Шукаємо мінімальну комбінацію рядків таку, щоб в кожен стовпець входила хоча б одна 1. Диз’юнкція цих рядків дасть всі тупикові ДНФ.
3. Серед всіх тупикових ДНФ вибираємо мінімальну.
Приклад. Одержимо тупикову ДНФ для булевої функції з приклада 1, йдучи за алгоритмом.
-
000
001
101
110
111
00-
1
1
0
0
0
-01
0
1
1
0
0
1-1
0
0
1
0
1
11-
0
0
0
1
1
Ця таблиця має два покриття: їх утворюють перший, другий і четвертий рядки та перший, третій і четвертий рядки.
Таким чином, знайдені всі тупикові ДНФ:
,