- •Лабораторна робота 2
- •1 Основні теоретичні відомості
- •1.2 Поняття елементарної диз'юнкції, кон’юнктивної нормальної форми (кнф) і досконалої кон`юнктивної нормальної форми (дкнф), констітуенти нуля, визначення дкнф на основі констітуент нуля
- •1.3 Розкладання булевої функції за змінними, залишкові функції
- •1.3 Алгебра Жегалкіна
- •2 Контрольні питання
- •3 Індивідуальні контрольні завдання
- •Вимоги до оформлення, захисту та оцінювання лабораторних робіт
- •Зразок оформлення титульного аркуша звіту про виконання лабораторної роботи
1.3 Розкладання булевої функції за змінними, залишкові функції
Введемо, з метою скорочення подальших записів, наступнi позначення:
– f = f (x1,…,xn) – довільна булева функція;
– fi – значення функції f на i-тому наборі значень змінних;
– Кi – констітуента одиницi, що відповідає зазначеному набору;
– Ri - констітуента нуля, що відповідає зазначеному набору;
– і=
;
x1x2…xn=
xі,
x1*x2*…*xn=
xi.
Для довільної булевої
функції
є
справедливими
наступні формули її розкладання по
змінній
:
;
.
Булевi
функцiї
і
називають залишковими функціями для
функції
при її розкладаннi
по змiннiй
.
Аналогічно можна записати формули розкладання булевої функцiї по будь-якій її змінній.
Наприклад,
розглянемо результат розкладання
булевої
функцiї
за змінними
і
:
Узагальнюючи вище сказане, можна стверджувати, що для будь-якої булевої функцiї є справедливими наступні розкладання:
1)
f (x1,
…, xn)
=
fi
Ki;
2)
f (x1,
…, xn)
=
(fi
Ri).
Також є справедливим наступне твердження: якщо розкласти задану булеву функцiю за всіма змінними, то в результаті отримаємо ДДНФ (ДКНФ) даної булевої функцiї.
Дійсно, якщо розкласти задану булеву функцiю по всіх змінних, то в результаті отримаємо:
=
fiKi
=
Kj.
Очевидно, що вираз у правій частині є ДДНФ.
Доведення для ДКНФ здiйснюється аналогічно.
1.3 Алгебра Жегалкіна
Алгеброю Жегалкіна називають множину булевих функцій, заданих у базисі Жегалкіна { , &, 1 }, який містить логічні операції додавання за модулем 2, кон’юнкції та встановлювання логічної одиниці.
Таблиці істинності елементарних булевих функцій додавання за модулем 2 і кон’юнкції зведено у таблиці 2.1.
У зазначеній таблиці представлено функцію f6 (із позначенням відповідної логічної операції ) і функцію f1 (із позначенням відповідної логічної операції &).
Таблиця 2.1
-
X
Y
f1(х,у)
f6(х,у)
0
0
1
1
0
1
0
1
0
0
0
1
0
1
1
0
Основні тотожності (властивості) алгебри Жегалкіна:
1) комутативність:
H1 H2 = H2 H1
H1 & H2 = H2 & H1
2) асоціативність:
H1 (H2 H3) = (H1 H2) H3
H1 & (H2 & H3) = (H1 & H2) & H3
3) дистрибутивність:
H1 & (H2 H3) = (H1 & H2) (H1 & H3)
4) властивості констант:
H & 1 = H
H & 0 = 0
H 0 = H
H H = 0
H & H = H
На основі операцій алгебри Жегалкіна можна представити всі інші булеві функції, наприклад:
/X = 1 + X
X v Y = X + Y + XY
X -> Y=1 + X + XY
X <-> Y = 1 + X + Y
Поліномом Жегалкіна (поліномом за модулем 2) від n змінних X1, X2,...,Xn називається вираз наступного вигляду:
C0 C1X1 C2X2 ... CnXn C12X1X2 ... C12...nX1X2...Xn,
де постійні величини Ck можуть приймати значення 0 або 1.
Наприклад, поліномами Жегалкіна є наступні логічні вирази:
f1 = X YZ XYZ
f2 = 1 X Y Z
Поліном Жегалкіна називається лінійним поліномом (або лінійною функцією), якщо він не містить добутків окремих змінних.
Наприклад, поліном Жегалкіна f1 = 1 X Y Z є лінійною функцією.
Кожну булеву функцію можна представити у вигляді поліному Жегалкіна єдиним образом.
Основними методами побудови поліному Жегалкина для заданої булевої функції є наступні: метод трикутника; метод на основі карт Карно; метод на основі еквівалентних перетворень диз'юнктивної нормальної форми (ДНФ); метод на основі еквівалентних перетворень досконалої диз'юнктивної нормальної форми (ДДНФ).
Технологію побудови поліному Жегалкина для заданої булевої функції методом трикутника представлено далі за текстом.
Метод трикутника дозволяє перетворити таблицю істинності на поліном Жегалкіна шляхом побудови допоміжної трикутної таблиці у відповідності з наведеними нижче правилами.
Зазначені правила супроводжено рисунком – показовим прикладом перетворення таблиці істинності на поліном Жегалкіна для функції трьох змінних P(A,B,C).
Правило 1. Будується повна таблиця істинності, в якій рядки йдуть у порядку зростання двійкових кодів: від 000...00 до 111...11.
Правило 2. Будується допоміжна трикутна таблиця, у якій перший стовпець збігається зі стовпцем значень функції в таблиці істинності.
Правило 3. Значення комірки в кожному наступному стовпці обчислюється шляхом складання за модулем 2 значень тих двох комірок попереднього стовпця, що розташовані в тому самому рядку та рядком нижче.
Правило 4. Стовпці допоміжної таблиці нумеруються двійковими кодами в тому ж порядку, що й рядки таблиці істинності.
Правило 5. Кожному двійковому коду ставиться у відповідність певний складовий елемент поліному Жегалкіна, значення якого визначається позиціями кодів, у яких стоять одиниці.
Наприклад, згідно правилу 5, комірці 111 відповідає складовий елемент ABC, комірці 101 ‒ складовий елемент AC, комірці 010 ‒ складовий елемент B, комірці 000 ‒ складовий елемент 1 тощо).
Правило 6. Якщо у верхньому рядку деякого стовпця знаходиться одиниця, то відповідний складовий елемент буде присутнім у поліномі Жегалкіна.
Розглянемо технологію побудови поліному Жегалкіна від заданої булевої функції за допомогою еквівалентних перетворень диз'юнктивної нормальної форми (ДНФ).
У порівнянні з диз'юнктивною нормальною формою, у поліномі Жегалкіна відсутні операції АБО та НЕ.
Поліном Жегалкіна можна отримати з диз'юнктивної нормальної форми, представивши операції АБО та НЕ через операції кон’юнкції, додавання за модулем 2 і константу 1 за допомогою наступних співвідношень:
A v B = A B AB
/A = A 1
Приклад 5.
Перетворити диз'юнктивну нормальну форму виду XY v ¬X¬Y на поліном Жегалкіна.
Розв'язок завдання прикладу 5:
У процесі перетворень було використано наступні основні співвідношення алгебри Жегалкіна:
(A B ) C = AC BC
A A = 0
Розглянемо технологію побудови поліному Жегалкіна від заданої булевої функції за допомогою еквівалентних перетворень досконалої диз'юнктивної нормальної форми (ДДНФ).
ДДНФ має ту властивість, що, при будь-яких значеннях вхідних змінних, на одиницю звертається не більше одного елементу булевого виразу.
Для таких виразів, операція диз'юнкції є еквівалентною операції виключного АБО.
При перетворенні ДДНФ на поліном Жегалкіна, досить замінити всі диз'юнкції на операції виключного АБО, позбавляючися від інверсій за допомогою еквівалентного перетворення /A = A 1.
