Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дискретна математика.docx
Скачиваний:
42
Добавлен:
08.09.2019
Размер:
5.48 Mб
Скачать

8.5. Мінімізація булевих функцій

Мінімізацією булевої функції називають знаходження найпрості­шого її зображення у вигляді суперпозиції функцій деякої функціо­нально повної системи.

8.5.1. Основні результати

Розглянемо лише спрощення диз'юнктивних нормальних форм. Зазначимо, що за принципом двоїстості із методів спрощення ДНФ можна отримати методи спрощення КНФ.

Мінімальною ДНФ булевої функції називають ДНФ цієї функції, яка складається з найменшої можливої кількості букв.

Зауваження. Кожну букву враховують стільки разів, скільки вона зустрічається в ДНФ. Наприклад, ДНФ складається з 6 букв. ▲

Елементарну кон'юнкцію називають імплікантоюбулевої функціїf(x1,...,хn), якщо на довільному наборі значень змінних, на якому kперетворюється в 1, значення функціїfтакождорівнює 1. Іншими словами,k- імпліканта функціїf, якщо функція kfтотожно дорівнює 1 (тобто виключено випадокk=1,f=0). Тут -- деякі змінні з множини {x1, xn}.

Приклад 8.24. Елементарна кон'юнкціяk = ху є імплікантою функції , оскільки у разіk= 1 значення функціїf обов'язково дорівнюватиме 1. ▲

Елементарну кон'юнкціюk називають простою імплікантою булевої функціїf якщоk- імпліканта функціїf, а елементарна кон'юнкція, одержана зk вилученням довільної букви, - не імпліканта

Диз'юнктивну нормальну форму, яка містить усі прості імплі­канта даної булевої функції, називають скороченою диз'юнктивною нормальною формою цієї функції (СДНФ).

Теорема 8.23. СДНФD булевої функції fзадає цю функцію, тобтоf=D.

Доведення. Якщоf(x1,...,хn)=0 очевидно, не має жодноїпростої імпліканти. Але диз'юнкція порожньої множини членів дорівнює 0.

Нехай теперf(x1,...,хn)≠0. Розглянемо довільний набір такий, що =1. Елементарна кон'юнкція , яка входить у досконалу ДНФ функціїf не є її імплі­кантою. Якщоk не є простою імплікантою, то можемо вилучити хоча б одну букву так, що отримана елементарна кон'юнкція k1буде імплікантою. Якщо імплікантаk1 знову не проста, то вилучимо ще одну букву так, що отримана елементарна кон'юнкціяk2 буде імплікантою функціїf. Продовжуючи цей процес, через скінченну кількість кроків знайдемо просту імпліканту k'. За побудовою k' має значення 1 на наборі , що розглядається. ОскількиD склада­ється з усіх простих імплікант функціїf, то D має диз'юнктивним членом k' і, отже, Dприймає значення 1 на цьому наборі.

З іншого боку, нехай D на деякому наборі приймає значення 1. Тоді деяка проста імплікантаk0 із D на цьому наборі дорівнює 1. Оскількиk0 - імпліканта функціїf то = 1.

Отже, значенняf та й на будь-якому наборі значень змінних збігаються. ▲

Зауваження. Скорочена ДНФ булевої функції/єдина, оскільки множина всіх простих імплікант булевої функції визначена одно­значно (адже скорочена ДНФ є диз'юнкцією їх усіх). ▲

Зв'язок між мінімальною і скороченою ДНФ виражає така тео­рема.

Теорема 8.24.Мінімальну ДНФ булевої функціїfотримують із скороченої ДНФ цієї функції вилученням деяких елементарних кон'юнкцій.

Доведення. Потрібно довести, що мінімальна ДНФ Dminдовіль­ної булевої функціїfє диз'юнкцією простих імплікант цієї функції (можливо, не всіх). Припустимо, що імплікантаk ізDmin не проста. Тоді із k1 можна вилучити принаймні одну букву так, що отримана елементарна кон'юнкціяk2 також буде імплікантою функціїf Крім того, k2 приймає значення 1 на всіх наборах, на яких приймає значення 1 імплікантаk1. Отже, в ДНФDmin. можемо замінитиk1 наk2 і отримати ДНФ D*, яка також задає функціюf.За побудовою D*, має менше букв, ніж Суперечність. ▲

Диз'юнктивну нормальну форму T, яка задає функцію(тобто f=T)називаютьтупиковою ДНФ цієї функції, якщо:

  1. кожна елементарна кон'юнкція зT простою імплікантоюf;

  2. вилучення з Tдовільного диз'юнктивного члена приводить до ДНФT1,яка не задаєf, тобто f=T.

Теорема 8.25.Мінімальна ДНФ булевої функції є її тупиковою ДНФ.

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

Зауваження. Існують тупикові ДНФ, які не є мінімальними. Одна й та сама булева функція fможе мати декілька різних мінімальних ДНФ. ▲

Ізтеорем 8.24 та 8.25 випливає, що відшукання мінімальних ДНФ можна поділити на два етапи.

Перший етап полягає у побудові скороченої ДНФ.

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