- •Розділ 7 Основи теорії кодування План викладення матеріалу
- •7.1. Алфавітне й рівномірне кодування
- •7.2. Достатні умови однозначності декодування. Властивості роздільних кодів
- •7.3. Оптимальне кодування
- •7.4. Коди, стійкі до перешкод. Коди Хемінга
- •8.2. Алгебри булевих функцій
- •8.3. Спеціальні форми зображення булевих функцій в алгебрах Буля і Жегалкіна
- •8.3.1. Диз'юнктивні нормальні форми
- •8.3.2. Кон'юнктивні нормальні форми
- •8.3.3. Поліном Жегалкіна
- •8.4. Повнота і замкненість
- •8.4.1. Функціонально повні системи
- •8.4.2. Замкнені класи
- •8.4.4. Послаблена функціональна повнота
- •8.4.5. Передповні класи
- •8.5. Мінімізація булевих функцій
- •8.5.1. Основні результати
- •8.5.2. Методи побудови скороченої днф
- •8.5.3. Побудова тупикових днф
- •8.5.4. Властивості скороченої днф
- •8.5.5.Метод карт Карно побудови мінімальних днф
- •8.6. Реалізація булевих функцій схемами з функціональних елементів
- •Комп'ютерні проекти
- •Література
- •9.2. Формальні породжувальні граматики
- •9.3. Типи граматик (ієрархія Хомські)
- •9.4. Дерева виведення
- •9.5. Форми Бекуса-Наура
- •9.6. Скінченні автомати з виходом
- •9.7. Скінченні автомати без виходу
- •9.8. Подання мов
- •Комп'ютерні проекти
- •Література
- •Розділ 10
- •План викладення матеріалу
- •10.1. Основні вимоги до алгоритмів
- •10.2. Машини Тьюрінга
- •10.3. Обчислення числових функцій на машинах Тьюрінга
8.5. Мінімізація булевих функцій
Мінімізацією булевої функції називають знаходження найпростішого її зображення у вигляді суперпозиції функцій деякої функціонально повної системи.
8.5.1. Основні результати
Розглянемо лише спрощення диз'юнктивних нормальних форм. Зазначимо, що за принципом двоїстості із методів спрощення ДНФ можна отримати методи спрощення КНФ.
Мінімальною ДНФ булевої функції називають ДНФ цієї функції, яка складається з найменшої можливої кількості букв.
Зауваження. Кожну букву враховують стільки разів, скільки вона зустрічається в ДНФ. Наприклад, ДНФ складається з 6 букв. ▲
Елементарну кон'юнкцію називають імплікантоюбулевої функціїf(x1,...,хn), якщо на довільному наборі значень змінних, на якому kперетворюється в 1, значення функціїfтакождорівнює 1. Іншими словами,k- імпліканта функціїf, якщо функція k→fтотожно дорівнює 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)називаютьтупиковою ДНФ цієї функції, якщо:
кожна елементарна кон'юнкція зT простою імплікантоюf;
вилучення з Tдовільного диз'юнктивного члена приводить до ДНФT1,яка не задаєf, тобто f=T.
Теорема 8.25.Мінімальна ДНФ булевої функції є її тупиковою ДНФ.
Доведення цієї теореми випливає безпосередньо із означень мінімальної ДНФ і тупикової ДНФ. ▲
Зауваження. Існують тупикові ДНФ, які не є мінімальними. Одна й та сама булева функція fможе мати декілька різних мінімальних ДНФ. ▲
Ізтеорем 8.24 та 8.25 випливає, що відшукання мінімальних ДНФ можна поділити на два етапи.
Перший етап полягає у побудові скороченої ДНФ.
Другий етап полягає у побудові всіх тупикових ДНФ. Після цього із отриманих тупикових ДНФ вибирають мінімальні.