Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Логіка та булеві функції.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
2.28 Mб
Скачать

§11. Метод Карно

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

Нехай , тобто . Карта Карно для чотирьох змінних являє собою квадрат, що розбитий на 16 малих квадратів ( ). Складемо карту Карно.

Для змінних та відведемо вертикальну сторону карти, а для та – горизонтальну (порядок необов’язковий). За таких умов карта Карно матиме вигляд:

0;0

0;1

1;1

1;0

0;0

0;1

1;1

1;0


Зміст карти в тому, що функція задається таблицею, але не в стовпчик, як завжди, а на площині у вигляді 16 квадратів. Набори змінних використовуються в порядку так званого коду Грея (0;0); (0;1); (1;1); (1;0). На карті Карно сусідні набори відмінні лише однією координатою від сусіднього по розміщенню. Значення функції записують в малих квадратах. По таблиці Карно з’ясовують, які квадрати карти Карно можна закріпити тією чи іншою імплікантою. Якщо два сусідніх рядки чи два сусідніх стовпчика заповнені одиницями, то їх можна покрити однотермовою імплікантою, тобто, якби в перших двох рядках всюди були одиниці, то .

Зауважимо, що карту Карно треба уявляти так, що вона відтворена не на площині, а на поверхні, що має форму тора, в якому сусідніми будуть перший та останній рядки, перший та останній стовпчики. Тобто, можна стверджувати, що однобуквеним імплікантам відповідають або два сусідні рядки або два сусідніх стовпчики.

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

Продемонструємо метод Карно на прикладі.

Приклад 15. Нехай функція задана таблицею 15.

Розв’язання. Проаналізуємо задану таблицю істинності і позначимо квадрати, що вміщують одиниці буквами.

Т аблиця 15.

0;0

0;1

1;1

1;0

0;0

0

0

1

1

0;1

1

1

1

1

1;1

1

0

0

0

1;0

1

1

1

1


З таблиці видно, що однотермові імпліканти відсутні, бо немає двох сусідніх стовпчиків чи рядків, які вміщують лише одиниці.

Будемо шукати двотермові імпліканти, тобто чотири квадрати з одиницею, що витягнуті в одну лінію або складені у великий квадрат. Бачимо, що другий рядок (квадрати ) утворює лінію, яка покривається та , отже отримано імпліканту . Четвертий рядок (квадрати ) утворює лінію, яка покривається та , отже отримано імпліканту .

Квадрат , що складається з одиниць, повністю покривається імплікантою . Зауважимо, що замість квадрата можна взяти квадрат , який покривається імплікантою . Більше квадратів утворити не можна, тобто

або, як було зауважено вище,

.

В таблиці непокритою залишилася одна одиниця (квадрат ). Покрити її двотермовою імплікантою неможливо, тобто необхідно витратити на неї трьохтермову імпліканту . Тут, як і в ситуації з квадратами та , замість імпліканти можна взяти імпліканту .

Всі одиниці покриті імплікантами, за методом Карно мінімальна нормальна форма функції має вигляд:

.

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

,

,

.

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

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

Зауважимо, що зовнішня загальна простота методу, повертається складною програмою при реалізації алгоритму Карно на комп’ютері.