Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пр_3.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
508.55 Кб
Скачать

Мінімізація фал за допомогою карт Карно

Карту Карно представляють прямокутником (квадратом), на якому розміщено 2n клітин, де n – число змінних функції.

Вигляд карт Карно для двох, трьох, чотирьох і п’яти змінних приведений на рис. 5.1.

а) дві; б) три; в) чотири; г) пять змінних

Рисунок 5.1 – Карти Карно

Засіб мінімізації ФАЛ за допомогою карт Карно (їх різновид – карти Вейча) набув широкого застосування серед фахівців. Цьому сприяли достатня формальність дій, наочність графіки, досить легкі правила. Карти будують як розверчення кубів на площині, де вершинами кубів є клітини карти, координати яких збігаються з координатами мінтермів, що позначають вершини кубів.

Карта заповнюється як таблиця істинності: значення 1 ставлять в клітині, яка відповідає набору мінтерма, на якому функція має значення 1. Значення 0 на картах звичайно не позначають. На Рис. 5.1 а) умовно розміщені змінні х1, х2. Координати клітин вказують з лівого боку та зверху в коді Грея. Якщо порушити місця координат, то мінімізація не буде відповідати істині. Кожній клітині відповідає свій мінтерм, утворений на перетині змінних.

Поняття сусідніх клітин. Сусідніми клітинами при n<=4 вважають не тільки клітини, які мають спільну сторону, а й клітини, розташовані в крайніх рядках або стовпцях, тому що карту можливо згорнути в прямокутник (куб), і тоді сторони крайніх клітин з’єднаються. Всі кутові клітини теж є сусідніми. При n>4 сусідніми є не тільки клітини, відповідні попередній умові, але й ті, що знаходяться на однакових лініях (горизонталях, вертикалях) в сусідніх картах, тому що, наприклад, карта для п’яти змінних складається з двох карт для чотирьох змінних і т. д.

Для мінімізації функцій з кількістю змінних більше 7-8 карти Карно практично не використовують.

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

Визначення. Контур об’єднання повинен бути лише прямокутним (квадратним). Об’єднанню підлягають лише клітини, заповнені одиницями для МДНФ (або нулями для МКНФ). Кількість одиниць, включених до контуру, повинна дорівнювати одному з чисел 2, 4, 8, 16, 32, 64,… Будь-який контур може перетинатись з іншими, тобто одна, дві та більше одиниць можуть включатись в різні контури.

Загальна кількість контурів повинна бути як можна меншою, бо це зменшує кількість мінтермів в МДНФ (МКНФ), а кількість об’єднаних одиниць повинна бути як можна більшою, бо це зменшує кількість змінних в мінтермах. Взагалі, об’єднання 2k клітин (одиниць) виключає з мінтермів k змінних, де k=1, 2, 3, 4,…

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

Визначення. Для визначення та запису простої імпліканти з карти Карно треба аналізувати рядки та стовбці, які перетинають контур по кожній змінній окремо, починаючи з х1. Якщо значення цієї змінної змінюється в межах контуру з 1 (0) на 0 (1), то ця змінна в мінтерм не включається і позначається невизначеною (наприклад, літерою Х). Якщо значення змінної (0 або 1) зберігається в межах контуру, то вона входить до мінтерму (простої імпліканти) і записується своїм значенням ( , якщо 0; хі, якщо 1).

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

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

Для прикладу, виконаємо мінімізацію функції:

Рисуємо карту Карно для трьох перемінних, наносимо на карту значення 1, об`єднаємо контурами та записуємо МДНФ.

Рисунок 5.2 - Карта Карно для у2.

Проведемо мінімізацію для ДКНФ. З таблиці 4.1 напишемо рівняння для наборів на яких функція рівна 0.

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

Рисунок 5.3. – Карта Карно для .

Тоді МДНФ має вигляд:

Застосувавши закон Де Моргана, перейдемо до функції МКНФ.