Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lectures / Лекція 12. Мінімальні нормальні форми.doc
Скачиваний:
105
Добавлен:
12.05.2015
Размер:
251.39 Кб
Скачать

12.2. Скорочена форма

Уведемо поняття накриття для булевих функцій.

Означення 12.3. Функція f(x1,…,xn) накриває функцію g(x1,…,xm) (n<m) на наборі аргументів (a1,…,an), якщо xn+1,…,xm : g(a1,…,an, xn+1,…,xm) = f(a1,…,an).

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

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

Наприклад, ДДНФ функції імплікації f(x,y) = xy має вигляд:

.

Кожен із добутків накриває тільки одну одиницю функції – у наборах (0,0), (0,1) та (1,1). Проте елементарний добуток накриє одиницями дві одиниці функції у двох наборах: (0,0) та (0,1); елементарний добуток - також у двох наборах (0,1) та (1,1); таспільно накривають всі одиниці функції, яка внаслідок цього може бути подана як

.

Означення 12.4. Якщо деяка булева функція g дорівнює нулю в тих наборах, у яких дорівнює нулю інша функція f, то говорять, що функція g входить у функцію f, тобто функція g входить у функцію f тоді, кола вона накриває нулями всі нулі функції f, а одиниці функції f можуть бути накриті як нулями, так і одиницями функції g. Отже, функція g має не меншу кількість нулів, ніж функція f.

Умова входження записується як gf. Наприклад, у функцію f(x,y)=xy входитимуть всі функції з нульовим значенням в наборах (0,0) та (1,1), тобто функції g1(x,y)=, g2(x,y)= та g3(x,y)=0.

Константа 0 входить у будь-яку булеву функцію, а в константу 1 входять усі функції.

Означення 12.5. Функцію g, що входить у задану функцію f, називають її імплікантою.

Застосування терміна “імпліканта” пов’язано з булевої функцією імплікації. Можна пересвідчитись, що функція gf тотожно дорівнює 1, тобто завжди є істинним тоді, коли функція g входить у f.

Означення 12.6. Простими імплікантами булевої функції називаються елементарні кон’юнкції, що самі входять у задану функцію f, але ніяка власна частина їх у функцію f не входить.

Прості імпліканти є найкоротшими елементарними кон’юнкціями, що входять у задану булеву функцію.

Власною частиною імпліканти називають кон’юнкцію, здобуту вилученням із неї одного або кількох співмножників. Наприклад, добуток (xyz) має власні частини: xy, xz, yz, x, y, z.

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

Наприклад, для функції

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

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

Доведення. У нульових наборах (кортежах) за означенням усі прості імпліканти входять у булеву функцію, якщо вони також дорівнюватимуть 0 у цих наборах і, отже, дорівнюватиме 0 їх диз’юнкція.

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

Отже, серед усіх простих імплікант завжди знайдуться такі, які разом із заданою функцією перетворюються на 1 у цьому наборі. Таким чином, диз’юнкція всіх простих імплікант накриває всі нулі й одиниці заданої функції, тобто збігається з нею. ►

Означення 12.7. Диз’юнкція всіх простих імплікант називається скороченою ДНФ булевої функції.