Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгебра логіки.doc
Скачиваний:
30
Добавлен:
10.11.2018
Размер:
2.55 Mб
Скачать

8. Диз’юнктивні нормальні форми (днф) булевих функцій

Для спрощення викладок введемо параметр і позначення таким чином.

(1)

Зокрема

, , , .

Звідси можна зробити висновок, що

Безпосередньо перевіряється, що булева функція може бути представлена формулою

. (2)

Елементарною кон’юнкцією називається кон’юнкція будь-якого число булевих змінних, що взяті із запереченням або без нього, в якій кожна змінна зустрічається не більше одного разу. Будемо вважати константу 1 елементарною кон’юнкцію, що містить нуль змінних.

Приклад 1. Приклади елементарних кон’юнкцій ,. Формули , не є елементарними кон’юнкціями.

Диз’юнктивною нормальною формою (ДНФ) називається формула, що зображена у вигляді диз’юнкції елементарних кон’юнкцій.

Приклад 2. Формула є диз’юнктивною нормальною формою (ДНФ).

Теорема. Будь-яку булеву функцію можна записати у вигляді кон’юнктивного розкладу

. (3)

Запис означає багатократну диз’юнкцію, яка береться для всіх можливих наборів значень .

Приклад 3. Записати диз’юнктивний розклад функції за змінними .

Виконання. В цьому випадку диз’юнктивний розклад (3) приймає вигляд

.

Обчислимо:

;

;

;

.

З врахуванням цього для заданої функції можна записати диз’юнктивний розклад по змінним і :

.

Приклад 4. Записати диз’юнктивний розклад функції по змінній x.

Виконання. В даному випадку формула (3) запишеться як

.

Обчислимо:

Тому

.

Як видно з цих прикладів, результатом кон’юнктивного розкладу булевих функцій заданих формулою булевої алгебри є подання їх диз’юнктивною нормальною формою (ДНФ).

Практичне заняття 5

Записати диз’юнктивний розклад заданої функції по:

  1. змінним і ;

  2. змінній .

Виконання.

.

Обчислимо:

;

;

;

.

В підсумку

  1. .

Обчислимо:

;

.

В підсумку

.

Варіанти для самостійної роботи

Варіант

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. Вибрати всі слова, на яких задана функція приймає значення 1.

  2. Побудувати конституенти одиниці на цих вибраних словах.

  3. Об’єднати одержані конституенти одиниці операцією диз’юнкції

Приклад 2. Булева функція задана таблицею істинності

.

Побудувати ДДНФ для цієї функції.

Виконання. Вибираємо слова, на яких задана функція набуває значення 1 і виписуємо відповідні конституенти одиниці.

010

100

101

Об’єднуємо одержані конституанти одиниці операцією диз’юнкції і одержуємо ДДНФ заданої функції:

Якщо булева функція задана формулою булевої алгебри, то побудова ДДНФ здійснюється за таким алгоритмом.

  1. Виключити константи. Для цього скористатися законами дій з константами: ; ; ; .

  2. Опустити знаки заперечення на змінні. Для цього скористатися законами де Моргана : ; .

  3. Побудувати ДНФ булевої функції. Для цього розкрити дужки використовуючи дистрибутивний закон кон’юнкції відносно диз’юнкції, звести подібні, застосовуючи закони ідемпотентності та і закони дій із запереченням ; .

  4. Побудувати конституанти одиниці функції. Для цього ввести в кожну елементарну кон’юнкцію відсутні змінні використовуючи рівність ;

  5. Побудувати ДДНФ булевої функції. Для цього необхідно розкрити дужки та звести подібні.

Приклад 1. Побудувати ДДНФ функції

Виконання. Константи у формулу не входять і тому починаємо з 2 кроку.

2 крок. Опускаємо заперечення на змінні:

.

3 крок. Розкриваємо дужки:

(ДНФ)

4 крок: Задана функція залежить від трьох змінних, тому до елементарних диз’юнкцій вводимо відсутні змінні.

5 крок Розкриваємо дужки і зводимо подібні члени

Отже, ДДНФ заданої функції