2. Формування мінімальної днф
Позначимо через І1,І2,...І17 всі прості імпліканти функції f. Побудуємо імплікантну таблицю (таблицю покриття) по функції f.( Таблиця 3) Її рядки відповідають одиничним наборам функції f, а графи - простим імплікантам. На схрещенні рядка n і графи Ij проставимо знак +, якщо імпліканта покриває набір n (у протилежному випадку не ставимо нічого).
Імплікантна таблиця 3 відповідає функції, що задана у таблиці 1 і простим імплікантам, знайденим за допомогою таблиці 2. З клітинок таблиці 3, позначених знаком + по кожному рядку складемо диз’юнкцію і візьмемо їхній добуток по всіх рядках. Отримаємо функцію F, яка для таблиці 3 має вигляд:
F = (I3 v I4 v I5)(I6 v I17)(I7 v I8)I1(I3 v I4 v I5 v I6 v I9 v I17)
(I3 v I5 v I7 v I8)(I7 v I17)(I4 v I5 v I10 v I11)(I7 v I6)(I8 v I12)
(I1 v I17)(I3 v I7 v I17)(I2 v I9 v I10)(I5 v I8 v I11 v I12)(I13 v I17)
(I14 v I17)(I10 v I11 v I15)(I12 v I16)(I13 v I14 I17)(I10 v I13 v I15)
(I11 v I12 v I15 v I16)(I14 v I16)(I13 v I14 I15I16)
Після спрощення функція F вказує на 12 ненадмірних покриття. Їм відповідають 12 мінімальних ДНФ:
f = I1 v I6 v I17 v I13 I14 -- a/b/c/e v /a/cd v /bd v b/de v ade v acd
f = I1 v I6 v I17 v I10 v I13 v I14 v I16 = a/b/c/e v /a/cd v /bd v b/ce v ade v acd v abc
f = I1 v I6 v I17 v I10 v I12 v I13 v I14 = a/b/c/e v /a/cd v /bd v bce v bc/d v ade v acd
f = I1 v I6 v I17 v I11 v I15 = a/b/c/e v /a/cd v /bd v b/de v abe
f = I1 v I6 v I17 v I5 v I15 = a/b/c/e v /a/cd v /bd v /a/de v abe
f = I1 v I6 v I17 v I8 v I15 = a/b/c/e v /a/cd v /bd v bc/d v abe
f = I1 v I6 v I17 v I12 v I15 = a/b/c/e v /a/cd v /bd v/ac/d v abe
f = I1 v I6 v I17 v I10 v I11 v I16 = a/b/c/e v /a/cd v /bd v b/ce v b/de v abc
f = I1 v I6 v I17 v I11 v I13 v I16 = a/b/c/e v /a/cd v /bd v b/de v ade/v/abc
f = I1 v I6 v I17 v I8 v I10 v I16 = a/b/c/e v /a/cd v /bd v /ac/d b/ce v abc
f = I1 v I6 v I17 v I10 v I12 v I16 = a/b/c/e v /a/cd v /bd v b/ce v bc/d abc
f = I1 v I6 v I17 v I5 v I12 v I15 v I16 = a/b/c/e v /a/cd v /bd v /a/de v bc/d v abe/v abc
Завдання 2.3.
Мінімізувати за «1» за допомогою карт Карно функцію, що задана таблицею 1 із завдання 2.2. Після мінімізації доповнити функції сполучними термами, підкреслити вирази для цих термів в аналітичному виразі функції і позначити їх на картах Карно.
Виконання завдання
На картах Карно кожному з 2n наборів відповідає одна клітинка. Якщо на даному наборі аргументів функція дорівнює 1, то у тій клітинці, яка відповідає даному набору, записується 1. Клітинки, які відповідають наборам, де функція недовизначена, заповнюються позначкою Х. Номери наборів проставлені у верхніх лівих кутках карт у шістнадцятковому коді.
Карта «/а» Карта «a»
0
|
1
X |
3
1 |
2
1 |
4
X |
5
1 |
7
X |
6
1 |
С
1 |
D
X |
F
|
E
|
8
|
9
1 |
B
1 |
A
X |
10
X |
11
|
13
X |
12
1 |
14
|
15
|
17
1 |
16
X |
1C
X |
1D
1 |
1F
1 |
1E
1 |
18
|
19
X |
1B
1 |
1A
|
Результати склеювання позначені у зображеннях карт.
1). Клітинки 3, 2, 6, 7, 13, 12, 16, 17 - результат /bd, зникли 3 змінні a, c, e. Це склеювання потрібне, щоби мінімізувати набори 2, 3, 6, 12 і 17, на яких функція визначена і дорівнює 1.
2). Клітинки 1C, 1D, 1F, 1E – результат abc, зникли 2 змінні d, e. Це склеювання потрібне, щоби мінімізувати набори 1D, 1F, 1E, на яких функція визначена і дорівнює 1.
3). Клітинки 19, 1B, 1D, 1F – результат abe, зникли 2 змінні d, c. Це склеювання потрібне, щоби мінімізувати набір 1В, на якому функція визначена і дорівнює 1.
4). Клітинки 1, 5, D, 9 – результат /a/de, зникли 2 змінні b, c. Це склеювання потрібне, щоби мінімізувати набори 5, 9, на яких функція визначена і дорівнює 1.
5). Клітинки 2, 3, A, B – результат /a/cd, зникли 2 змінні b, e. Це склеювання потрібне, щоби мінімізувати набір B, на якому функція визначена і дорівнює 1.
6). Клітинки C, D, 1C, 1D – результат bc/d, зникли 2 змінні a, e. Це склеювання потрібне, щоби мінімізувати набір C, на якому функція визначена і дорівнює 1.
Невизначені набори функції у клітинках (наборах) 4, 10 довизначаємо як «0», оскільки вони не допомагають при склеюванні за «1».
Невизначені набори функції у клітинках (наборах) 1, 7, D, 13, 16, 1C, 19 довизначаємо як «1», оскільки вони допомагають при склеюванні за «1».
Набори 1, 5, 6, 7, С, 9, 13, 12, 1Е – кожен бере участь в одному склеюванні.
Набори 2, 3, D, 1C, 1F, 1B, 19 – кожен бере участь у двох склеюваннях.
Набір 1D бере участь у 3-х склеюваннях.
Остаточний результат:
F = /bd v abc v abe v /a/de v /a/cd v bc/d
Визначення сполучних термів.
Щоб позбутися негативного ефекту «гонок» сигналів, необхідно об’єднати всі сусідні набори, на яких функція приймає значення «1» і які не об’єднані в результаті мінімізації спільним склеюванням (спільним термом), використовують сполучний терм. У даній задачі склеєні набори створюють дві групи. До першої входять склеєні набори 1 і 5, а до другої входять склеєні набори 2, 3, 4 і 6. Для об’єднання цих груп доцільно включити сполучний терм у набори 1 і 3, який буде мати терм /a/b/ce. Результуюча функція прийме вигляд:
F = /bd v abc v abe v /a/de v /a/cd v bc/d v /a/b/ce
Завдання 2.4.
Мінімізувати за «0» за допомогою карт Карно функцію, що задана таблицею 1 із завдання 2.2. Після мінімізації доповнити функції сполучними термами, підкреслити вирази для цих термів в аналітичному виразі функції і позначити їх на картах Карно.
