
Для самостійної роботи
Критерії оцінювання: Кожне завдання – 4 бали. Максимальна кількість балів – 12.
Завдання Побудувати ДКНФ для логічних функцій, визначених в вигляді:
а) f(x1, х2, х3)=0 для Х; b) f(x1, х2, х3, х4)=0 для Х; c) f = f(x, y, z).
Варіант |
a) X; b) X; c) f = f(x, y, z);
|
Варіант |
a) X; b) X; c) f = f(x, y, z);
|
1 |
|
4 |
a) X={1, 2, 4, 6}; b) X={0, 2, 3, 10, 14}; c) ; |
2 |
a) X={0, 1, 4, 5}; b) X={0, 1, 5, 7, 11}; c) ; |
5 |
a) X={0, 1, 3, 7}; b) X={1, 3, 8, 10, 12}; c) ; |
3 |
a) X={1, 3, 4, 6}; b) X={2, 3, 6, 9, 15}; c) ; |
6 |
a) X={0, 2, 4, 7}; b) X={1, 4, 7, 12, 15}; c) ; |
Самостійна робота № 13
Тема: Мінімізація булевих функцій за допомогою карт Карно
Мета: Закріпити набуті знання та навички, перевірити їх при виконанні практичних завдань.
Завдання
Засвоїти теоретичний матеріал згідно теми;
Дати відповіді на поставлені питання (лекція 19);
Виконати письмово приведені завдання;
Випишіть питання, що виникли в ході засвоєння матеріалу;
Зробіть висновки.
Рекомендована література:
М.Ф. Бондаренко, Н.В. Білоус, А.Г.Руткас. Комп’ютерна дискретна математика. – Х: „Компанія СМІТ”, 2004.-480с.
В.В. Коштоев, К.К. Кипиани „Основы прикладной теории_цифровых автоматов” Учебное пособие. – Тбилиси:1998. – 155 с.(електронний посібник)
Рис.2 |
|
|
|
|
1 |
|
1 |
1 |
К
арти
Карно з двома змінними.
Розглянемо булевий вираз
,
що є ДНФ для вихідного булевого виразу
f=f(x,y).
Карта Карно для цього виразу зображена
на рис. 1,
або можливий варіант на рис.2.
Чотири квадрати (1, 2, 3, 4) відповідають
чотирьом можливим комбінаціям х
та у
в таблиці істинності з двома змінними.
При такому зображенні квадрат 1 на карті
Карно
відповідає добуткові
,
квадрат 2 - добуткові
і т.д. Розмістимо логічні «1» у всіх
квадратах, яким відповідає добуток у
вихідному булевому виразі
f(x,y)=1.
Об'єднаємо сусідні одиниці в один контур
групами по дві. Побудова контурів
продовжується доти, доки всі одиниці
не будуть в середині контурів. Кожний
контур є новим членом спрощеного булевого
виразу.
К
арти
Карно з трьома змінними.
Розглянемо вихідний булевий вираз
f=f(x,y,z)
і його
ДНФ
Рис.4 |
|
|
|
|
|
|
|
|
1 |
|
1 |
1 |
|
1 |
Рис.5 |
|
|
|
|
|
|
|
|
1 |
|
|
|
|
1 |
|
1 |
1 |
|
|
|
|
1 |
|
|
Карти Карно з чотирьиа змінними – зображення на малюнку 5.
Процес мінімізації можна поділити на три етапи.
І етап - заповнення карт Карно (Вейча). У
відповідні клітини записують значення функції, що відповідає даному набору (інтерпритації).
ІІ етап - наведення контурів. На карті Карно (Вейча) наводять контури, що об'єднують "1"; за цим необхідно дотримуватися таких правил:
1) контур повинен бути прямокутним i в ньому повинні бути тільки одиниці;
2) кількість клітин у контурі повинна бути цілим степенем двійки, тобто 1,2,4,8,16,... ;
3) однi й тi ж клітини з одиницями можуть входити в декілька контурів;
4) крайні праворуч та ліворуч стовпчики вважаються сусідніми, те ж саме й для верхнього та нижнього рядків;
5) контури повинні бути якомога більшими, а їх кількість якомога меншою;
6) необхідно об'єднати всі одиниці, до яких підходять сформульовані правила.
IІІ етап - запис мінімізованої логічної функції у вигляді МДНФ. Для запису МДНФ функції необхідно дотримуватися таких правил:
1) функцію записують у вигляді диз'юнкції, кожен член якої відповідає одному контуру;
2) кожен член диз'юнкції є кон'юнкцією змінних, що мають однакові значення для даного контуру;
x |
y |
z |
f(x, y, z) |
Конституетни одиниці |
0 |
0 |
0 |
0 |
|
0 |
0 |
1 |
1 |
|
0 |
1 |
0 |
0 |
|
0 |
1 |
1 |
1 |
|
1 |
0 |
0 |
1 |
|
1 |
0 |
1 |
1 |
|
1 |
1 |
0 |
0 |
|
1 |
1 |
1 |
0 |
|
Для отримання МКНФ функції контурами охоплюють клітини з нульовими значеннями функції, а під час запису членів логічного виразу беруться інверсії аргументів на перехресті яких знаходяться контури.
╔═··· Приклад 1. Знайти МДНФ для логічної функції f(x, y, z) визначеної таблицею істинності:
Конституенти будуємо для тих інтерпретацій, де f = 1. Будуємо їх як кон’юнкції змінних, виконуючи інверсію тих змінних, значення яких в даній інтерпретації – 0.
Тобто, для f(0, 0, 1) = 1, перша конституента має вигляд: x̅·y̅·z. Для f(0, 1, 1) = 1 друга конституента має вигляд: x̅·y·z і т.д.
ДДНФ f = x̅·y̅·z + x̅·y·z + x·y̅·z̅ + x·y̅·z.
Д
ля
отримання МДНФ будуємо карту Карно
(рис.6).
Визначаємо групи А і В – сусідні клітини з значенням 1.
Імплікантою групи А є кон’юнкція змінних, що мають однакове значення в групі, тобто А= x̅·z.
Аналогічно визначаємо імпліканту В= x·y̅.
Таким чином, одержимо мінімальна ДНФ: f(x, y, z) = x̅·z + x·y̅.
╚
═···
╔═··· Приклад 2. Знайти МДНФ для логічної функції f(x, y, z, t) визначеної в карті Карно (рис.7)
А= x̅·z ; В = y·z·t; C= x·y̅·z̅.
МДНФ: f(x, y, z, t) = x̅·z + y·z·t + x·y̅·z̅.
╚ ═···
К
райні
праворуч та ліворуч стовпчики важаються
сусідніми, те ж саме й для верхнього та
нижнього рядків, тобто можливі поєднання
в групу згідно рисунку 8а,б.
Кількість клітин у контурі повинна бути цілим степенем двійки:,2,4,8,16,... , тобто можливі поєднання в групу згідно рисунку 9а,б.