Нормальні форми

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

Визначення. Кон'юнктивна нормальна форма (КНФ) - це кон'юнкція кінцевого числа різних членів, кожний з Якій являє собою диз'юнкцію кінцевого числа окремих змінних чи їхніх заперечень, що входять у даний член не більше ніж один раз.

Приклад. у=(х1 ` х2)Ú(х2х3 ` х4) ДНФ, у=(х1Ú ` х2)×(х2Ú ` х3Úх4) КНФ, у=х1× ` х2Úх2× ù3×х4) не ДНФ і не КНФ.

Визначення. Члени ДНФ, що являють собою елементарні кон'юнкції з ²k² букв, називаються мінтермами к-го рангу. Члени КНФ, що являють собою елементарні диз'юнкції з ²k² букв, називаються макстермами к-го рангу.

Приклад. х1× ` х2 - мінтерм 2-го рангу, х2×х3× ` х4 - мінтерм 3-го рангу, (х1Ú ` х2) – макстерм 2-го рангу, (х1Ú ` х2) і (х2Ú ` х3Úх4) – макстерм 3-го рангу.

Визначення. Якщо в кожнім члені нормальної диз'юнктивної чи кон'юнктивної форми представлені всі ²n² змінних (у прямому чи інверсному вигляд), від яких залежить булева функція, то така форма називається досконалою диз'юнктивною чи кон'юнктивною нормальною формою (СДНФ чи СКНФ – як термін).

Лема: Будь-яка булева функція, яка не є такою, що тотожно дорівнює нулю, має одну і тільки одну СДНФ. Будь-яка булева функція, яка не є такою, що тотожно дорівнює одиниці, має одну і тільки одну СКНФ.

Мінтерми СДНФ називають конституентами ²1². Макстерми СКНФ називають конституентами ²0². Конституента ²1² перетворюється в одиницю тільки при одному відповідному їй наборі значень змінних, котрий виходить, якщо всі змінні конституенти прийняти такими, що дорівнюють одиниці, а для всіх інверсій конституенти змінні прийняти такими, що дорівнюють нулю. Конституента ²0² перетворюється в нуль тільки при одному відповідному їй наборі значень змінних, котрий виходить, якщо всі змінні конституенти прийняти такими, що дорівнюють нулю, а для всіх інверсій конституенти змінні прийняти такими, що дорівнюють одиниці.

Приклад. х1 ` х2х3 ` х4=1× ` 0×1× ` 0=1, ` х1Úх2Úх3Ú ` х4= ` 1Ú0Ú0Ú ` 1=0

СДНФ є диз'юнкцією конституент ²1², булева функція f(x1, x2,..., xn), що її представляє, перетворюється в одиницю тільки при наборах значень змінних, відповідних хоча б одній одиниці цих конституент. На інших наборах ця функція перетворюється в нуль. СКНФ є кон'юнкціей конституент ²0², її булева функція f(x1, x2,..., xn) перетворюється в нуль тільки при наборах значень змінних, відповідних хоча б одному нулю цих конституент. На інших наборах ця функція перетворюється в одиницю.

Для завдання булевой функції у вигляді СДНФ записують диз'юнкцію конституент “1” для всіх наборів змінних, на яких функція приймає значення одиниці.

Для завдання булевой функції у вигляді СКНФ записують кон'юнкцію конституент ²0² для всіх наборів змінних, на яких функція приймає значення нуля.

Такі представлення булевої функції називають аналітичним представленням у вигляді СДНФ чи СКНФ.

Приклад. Таблиця істинності, СДНФ і СКНФ функції від 3-х змінних

Таблиця 23.2

X1 X2 X3 Y
       
       
       
       
       
       
       
       

у=(` х1 ` х2 ` х3)Ú(` х1х2 ` х3)Ú(` х1х2х3)Ú(х1 ` х2 ` х3) – СДНФ,

у=(х1Úх2Ú ` х3)(` х1Úх2Ú ` х3)(` х1Ú ` х2Úх3)(` х1Ú ` х2Ú ` х3) - СКНФ

Для скрізь визначеної булевої функції СДНФ і СКНФ рівносильні. Аналітичне завдання можливе й у ДНФ, КНФ, тупикових та інших формах.

23.1.3. Геометричний спосіб

Областю визначення булевих функцій від ²n² змінних є множина потужністю 2n n-вимірних векторів. Якщо поставити у відповідність кожному вектору вершину n-вимірного куба, то область визначення булевої функції представляється у вигляді n-вимірної геометричної фігури.

Булева функція задається на n-вимірному кубі виділенням вершин, що відповідають векторам <х1, х2,..., хn>, на яких функція дорівнює одиниці чи нулю. Кожної з n змінних виділяється своя вісь координат, на якій відкладається одиничний вектор. Початок вектора змінної відповідає значенню «0», кінець вектора – значенню «1».

Приклад.

- n = 1, потужність множини вершин дорівнює 2, приклад функції - у = ` х (див. рис.13.1,а);

- n = 2, потужність множини вершин дорівнює 4, фігура виглядає як квадрат з відзначеними для конституент вершинами, приклад функції – y = x1 ` x2 Ú x1 x2
(див. рис.13.1,б);

- n = 3, потужність множини вершин дорівнює 8, фігура виглядає як куб з відзначеними для конституент вершинами, приклад функції – y = x3 Ú x1 ` x2 Ú ` x1 x2.(див. рис.13.1,с).

При n ³ 4 графічний спосіб утрачає наочність.

Рис. 23.1. Одномірний а); двовимірний б); тривимірний с) куби для
функцій відповідно від однієї, двох і трьох змінних

23.1.4. Чисельний спосіб

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

Приклад. Таблиця істинності і чисельне завдання СДНФ і СКНФ функції від трьох змінних

Таблиця 23.3

X1 X2 X3 Y
         
         
         
         
         
         
         
         

у=Ú1 (0, 3, 4, 7) СДНФ, у=Ù0 (1, 2, 5, 6) СКНФ

23.2. Приведення формул булевої алгебри до досконалої форми

Якщо якій-небудь член jj ДНФ не містить змінної хі, то ця змінна вводиться тотожним перетворенням:

jj=jjÙ1=jjÙ(xiÚ`xi)=(jjÙxi)Ú(jjÙ`xi).

Якщо якій-небудь член jj КНФ не містить змінної хі, то ця змінна вводиться тотожним перетворенням:

jj=jjÚ0=jjÚ(xiÙ`xi)=(jjÚxi)Ù(jjÚ`xi).

Приклад.

у=х1х2Úх31х2х3Úх1х2 ` х3Úх1х3Ú ` х1х31х2х3Úх1х2 ` х3Úх1х2х3Úх1 ` х2х3Ú ` х1х2х3Ú ` х1 ` х2х3

у=(х1Úх23=((х1Úх2)Úх3 ` х3)((х3Úх1 ` х1)Úх2 ` х2)=(х1Úх2)Úх3)×((х1Úх2` х3)×(((х3Úх1)(х3Ú ` х1))Úх2)×(((х3Úх1)(х3Ú ` х1))Ú ` х2)=(х1Úх2Úх3)(х1Úх2Ú
Ú ` х3)×(х3Úх1)Úх2)×((х3Ú ` х1)Úх2)×((х3Úх1` х2)×((х3Ú ` х1` х2)=(х1Úх2Úх3)(х1Úх2Ú ` х3)(х1Úх2Úх3)(` х1Úх2Úх3)×(х1Ú ` х2Úх3)×(` х1Ú ` х2Úх3).

Контрольні запитання

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

2. Що таке ДНФ і КНФ, СДНФ і СКНФ?

3. Яка різниця між мінтермом і макстермом?

4. Що є “констітуентою одиниці” і “конституентою нуля”?

5. Як діє геометричний спосіб завдання булевих функцій?

6. Що є чисельним способом завдання булевих функцій?

7. Як ввести відсутню перемінну в який-небудь член ДНФ або КНФ?

8. Що є приведенням формули до досконалої форми?


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: