
2.1 Визначити класи функцій алгебри логіки, до яких належить задана за допомогоютаблиці функція трьох змінних (табл. ТZ.2), і її функціональну повноту. Двійкові коди цифр у графі "f" табл. ТZ.2 потрібно написати вертикально, старший розряд - наверху.
a |
b |
c |
f |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
2ц7л – 8
Функція на нульовому наборі змінних f(0,0,0) = 0. Отже, функція зберігає константу «0».
Функція на одиничному наборі змінних f(1,1,1) = 0. Отже, функція не зберігає константу «1».
Функція не є монотонною, оскільки у п’яти групах зростанні кількості "1" у послідовності сусідніх наборів змінних значення функції зменшується.
a |
b |
c |
f |
|
a |
b |
c |
f |
|
a |
b |
c |
f |
|
a |
b |
c |
f |
|
a |
b |
c |
f |
|
a |
b |
c |
f |
0 |
0 |
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 |
0 |
|
0 |
1 |
0 |
1 |
|
0 |
1 |
0 |
1 |
|
1 |
0 |
0 |
1 |
|
1 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
|
1 |
0 |
1 |
0 |
|
0 |
1 |
1 |
1 |
|
1 |
1 |
0 |
0 |
|
1 |
0 |
1 |
0 |
|
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
|
1 |
1 |
1 |
0 |
|
1 |
1 |
1 |
0 |
|
1 |
1 |
1 |
0 |
|
1 |
1 |
1 |
0 |
|
1 |
1 |
1 |
0 |
a |
b |
c |
f |
a |
b |
c |
f |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
Функція не є самодвоїстою, оскільки тільки на одній парі протилежних наборів функція приймає протилежні значення.
Для визначення лінійності функції подамо її у вигляді полінома Жегалкіна
f = /ab/c # /abc # a/b/c = (a#1)(c#1)b#(a#1)bc#a(b#1)(c#1) =
= (ac#c#a#1)b#abc#bc#a(bc#c#b#1) = abc#bc#ab#b#abc#bc#abc#ac#ab#a =
#abc#abc#abc (=abc)
ac (=ac)
bc#bc (=0)
ab#ab (=0)
b (=b)
a (=a)
= abc # ac # a # b
Оскільки поліном містить добутки змінних, то функція не є лінійною.
Отже, із п'яти необхідних для створення ФПС властивостей відсутня одна – не зберігання константи «0», тому дана функція не утворює ФПС.
Таблиця для завдань 2.2, 2.3, 2.4
1л = 78, 2л = 58, 3л = 27, 4л = 39 Код = 0111 1000 0101 1000 0010 0111 0011 1001
Таблиця 2.2.1
№ набору |
a b c d e |
f |
0 |
0 0 0 0 0 |
0 |
1 |
0 0 0 0 1 |
1X |
2 |
0 0 0 1 0 |
1 |
3 |
0 0 0 1 1 |
1 |
4 |
0 0 1 0 0 |
1X |
5 |
0 0 1 0 1 |
0 |
6 |
0 0 1 1 0 |
0 |
7 |
0 0 1 1 1 |
0X |
8 |
0 1 0 0 0 |
0 |
9 |
0 1 0 0 1 |
1 |
10 |
0 1 0 1 0 |
0X |
11 |
0 1 0 1 1 |
1 |
12 |
0 1 1 0 0 |
1 |
13 |
0 1 1 0 1 |
0X |
14 |
0 1 1 1 0 |
0 |
15 |
0 1 1 1 1 |
0 |
16 |
1 0 0 0 0 |
0X |
17 |
1 0 0 0 1 |
0 |
18 |
1 0 0 1 0 |
1 |
19 |
1 0 0 1 1 |
0X |
20 |
1 0 1 0 0 |
0 |
21 |
1 0 1 0 1 |
1 |
22 |
1 0 1 1 0 |
1X |
23 |
1 0 1 1 1 |
1 |
24 |
1 1 0 0 0 |
0 |
25 |
1 1 0 0 1 |
0X |
26 |
1 1 0 1 0 |
1 |
27 |
1 1 0 1 1 |
1 |
28 |
1 1 1 0 0 |
1X |
29 |
1 1 1 0 1 |
0 |
30 |
1 1 1 1 0 |
0 |
31 |
1 1 1 1 1 |
1X |
Завдання 2.3 Мінімізувати за «1» за допомогою карт Карно функцію, що задана таблицею 1 із завдання 2.2. Після мінімізації доповнити функції сполучними термами, підкреслити вирази для цих термів в аналітичному виразі функції і позначити їх на картах Карно.
Виконання завдання
На картах Карно кожному з 2n наборів відповідає одна клітинка. Якщо на даному наборі аргументів функція дорівнює 1, то у тій клітинці, яка відповідає даному набору, записується 1. Клітинки, які відповідають наборам, де функція недовизначена, заповнюються позначкою Х. Номери наборів проставлені у верхніх лівих кутках карт у шістнадцятковому коді.
Карта «/а» Карта «a»
/b b /b b
---------------- ----------------- ----------------- -----------------
0
|
4
X |
C
1 |
8
|
1
X |
5
|
D
X |
9
1 |
3
1 |
7
X |
F
|
B
1 |
2
1 |
6
|
E
|
A
X |
10
X |
14
|
1C
X |
18
|
11
|
15
1 |
1D
|
19
X |
13
X |
17
1 |
1F
X |
1B
1 |
12
1 |
16
X |
1E
|
1A
1 |
| /e
|
|
|
| e
|
|
| /e
|
------- -------------------- ------- --------- -------------------- -------
/c c /c /c ce /c
Результати склеювання позначені у зображеннях карт.
Склеєні набори:
1). Клітинки 3, 2, А, В, 13, 12, 1А, 1В - результат /сd, зникли 3 змінні - a, b, we. Це склеювання потрібне, щоб мінімізувати набори 3, 2, B, 12, 1A і 1B, на яких функція визначена і дорівнює 1.
2). Клітинки 1, 3, 9, B – результат /a/ce, зникли 2 змінні - b, d. Це склеювання потрібне, щоб мінімізувати набор 9, на якому функція визначена і дорівнює 1.
3). Клітинки 4, С – результат /аc/d/e, зникла 1 змінна - b. Це склеювання потрібне, щоб мінімізувати набор C, на якому функція визначена і дорівнює 1.
4). Клітинки 15, 17 – результат a/bce, зникла 1 змінна - d. Це склеювання потрібне, щоб мінімізувати набори 15 і 17, на яких функція визначена і дорівнює 1
Невизначені набори функції у клітинках (наборах) D, 7, 10, 1C, 19, 1F, 16 довизначаємо як «0», оскільки вони не допомагають при склеюванні за «1».
Невизначені набори функції у клітинках (наборах) 1, 4, A, 13, довизначаємо як «1», оскільки вони допомагають при склеюванні за «1».
Остаточний результат:
fДНФ = /cd + /a/c/e + /ac/d/e + a/bce
Визначення сполучних термів.
Щоб позбутися негативного ефекту «гонок» сигналів, необхідно об’єднати всі сусідні набори, на яких функція приймає значення «1» і які не об’єднані в результаті мінімізації спільним склеюванням (спільним термом). Для цього використовують сполучний терм. У даній задачі групи наборів вже склеєні або не мають сусідніх клітинок з одиницями. Тому додаткові сполучні терми не потрібні.
Завдання 2.4 Мінімізувати за «0» за допомогою карт Карно функцію, що задана таблицею 1 із завдання 2.2. Після мінімізації доповнити функції сполучними термами, підкреслити вирази для цих термів в аналітичному виразі функції і позначити їх на картах Карно.