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

2. Комбінаційні схеми

2. 1. Проблема мінімізації перемикальних функцій

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

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

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

Розглянемо методи мінімізації в диз’юнктивних формах булевої алгебри. Введемо деякі означення.

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

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

Імпліканта, ніяка частина якої не є імплікантою, називається простою імплікантою.

Диз’юнкція простих імплікант називається скороченою ДНФ (СДНФ).

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

СДНФ без надлишкових імплікант називають тупиковою ДНФ (ТДНФ).

ТДНФ з мінімальною ціною називають мінімальною ДНФ (МДНФ).

Функція може мати декілька ТДНФ і МДНФ.

Таким чином, формальні методи мінімізації функцій зводяться до знаходження МДНФ функції.

Загальну задачу мінімізації булевих функцій можна сформулювати так: знайти аналітичний вираз заданої булевої функції у формі, що містить мінімально можливе число букв. Слід зауважити, що загалом дана задача на разі не розв’язана, однак досить добре досліджена для класу диз’юнктивно-кон’юнктивних форм.

Запис ФАЛ у формі ДДНФ чи ДКНФ, як правило, виявляється неекономічним, що відчувається на етапі структурного синтезу схем.

Покажемо це на прикладі. Хай задана ДДНФ функції

Перетворимо цю ДДНФ, додавши до неї ще один кон’юнктивний член . Це не змінить дану функцію, оскільки . Тоді отримаємо:

.

Користуючись сполучним і розподільним законами для кон’юнкцій і диз’юнкцій, перетворимо даний вираз до вигляду:

Враховуючи, що (тобто склеювання по ), одержимо

З прикладу видно, що досконалі нормальні форми для представлення ФАЛ неекономічні. Отже, виникає потреба пошуку найпростішого представлення функцій. Такий пошук полягає у виборі базису логічних елементів і найбільш економного представлення функцій в цьому базисі.

Для уточнення постановки задачі мінімізації булевих функцій дамо низку визначень.

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

Визначення. Диз’юнкція елементарних кон’юнкцій називається диз’юнктивною нормальною формою (ДНФ).

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

Визначення. Булева функція називається імплікантою булевої функції , якщо для будь-якого набору змінних, на якому = 1, справедливо = 1.

Приклад. Булева функція задана табл. 1. 12. Там же наведені всі її імпліканти. При запису функції та її імплікант в ДДНФ маємо:

;

Таблиця 1. 12

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

1 0 0 0 1 1 1 1

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

1 0 1 1 0 0 1 1

1 1 0 1 0 1 0 1

; ; ; ;

; .

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

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

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

1. Диз’юнкція будь-якого числа імплікант булевої функції також є імплікантою цієї функції.

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

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

.

Із табл. 1. 12 видно, що імпліканти і разом покривають своїми одиницями всі одиниці функції . Одержання скорочених ДНФ являється першим етапом пошуку мінімальних форм булевих функцій. Як вже зазначалось, у скорочену ДНФ входять всі прості імпліканти булевої функції, Інколи із скороченої ДНФ можна вилучити одну або кілька простих імплікант, не порушуючи еквівалентності вихідної функції. Такі прості імпліканти назвемо зайвими. Вилучення зайвих простих імплікант із скорочених ДНФ – другий етап мінімізації.

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

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

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

Аналогічні твердження і визначення можна зробити і для КНФ.

Отже, мінімізація булевих функцій в класі ДДНФ – це пошук мінімальних ДНФ. Цей пошук виконується за два етапи.

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

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

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

Розглянемо найуживаніші із існуючих методи мінімізації булевих функцій: метод Квайна, метод Квайна – Мак-Класкі і графічний метод, так званий метод діаграм Вейча або карт Карно.