- •Передмова
- •Розділ I Вступ до алгебри логіки
- •1.1.1. Логічні (булеві) функції
- •1.1.2. Способи подання булевих функцій
- •1.1.3. Булеві функції однієї змінної
- •1.1.4. Область визначення логічної функції
- •1.1.5. Елементарні функції алгебри логіки
- •1.2. Алгебра логіки
- •1.2.1. Поняття формули в алгебрі логіки
- •1.2.2. Еквівалентність формул
- •1.2.3. Елементи загальної алгебри
- •1.2.4. Закони булевої алгебри
- •1.3 Повні набори функцій
- •1.4 Канонічні форми булевих функцій
- •1.4.1 Проблема розв’язуваності
- •1.4.2 Нормальні та досконалі диз’юнктивні нормальні форми логічних функцій
- •1.4.3. Нормальні та досконалі кон’юнктивні нормальні форми логічних функцій
- •1.5. Спрощення формул
- •1.5.1. Утворення скороченої днф методом Квайна
- •1 Етап. Початкове скорочення формули.
- •2 Етап. Розставляння міток.
- •3 Етап. Знаходження суттєвих доданків.
- •4 Етап. Викреслювання зайвих стовпців.
- •1.5.2. Утворення скороченої днф за методом Мак Класкі
1.3 Повні набори функцій
Як видно з вищенаведеного, одна й теж сама логічна функція може бути задана декількома формулами, які містять різні набори логічних операцій . Існують набори логічних функцій, за допомогою яких можна виразити будь-яку іншу функцію алгебри логіки . Такі набори (системи) називаються повними системами функцій алгебри логіки, або базисами.
Означення 1.12. Система булевих функцій } називається функціонально повною, якщо будь-яка булева функція може бути записана у вигляді формули через функції цієї системи.
Як приклад повної системи, можна навести систему, яку складають всі булеві функції. Кількість функцій – . Так, усі 16 функцій двох змінних утворюють повну систему.
Повні набори (системи) функцій характеризуються певним набором властивостей функцій, які є її складовими.
Приклад 1.20. Наведемо приклади повних систем, використовуючи позначку інверсії :
1. ; |
2. ; |
3. ; |
4. ; |
5. ; |
6. ; |
7. ; |
|
|
Справедливе таке твердження :
Будь-яка функція алгебри логіки може бути задана формулою за допомогою диз’юнкції, кон’юнкції й заперечення. Із цього випливає, що система функцій є функціонально повною.
Таким чином, для доведення функціональної повноти будь-якої системи функцій достатньо показати, як можна виразити за допомогою функцій цієї системи.
Або навпаки, для доведення функціональної повноти будь-якої системи функцій, достатньо показати, як можна виразити функції цієї системи за допомогою операцій .
Приклад 1.21. Щоб довести повноту системи із п.2 прикладу 1.20 достатньо показати, що операція може бути виражена через і, а щоб довести повноту системи із п.3 прикладу 1.20 достатньо показати, що операція може бути виражена через і .
Це можна зробити за допомогою вже відомих вам законів де Моргана:
;
.
Повнота системи , яка складається із однієї операції штрих Шиффера, і системи , яка складається із однієї операції стрілка Пірса, доведено в попередньому параграфі.
В табл.1.11 наведені властивості булевих операцій , які є аналогічними властивостям звичайних алгебраїчних операцій додавання, віднімання, множення і ділення над числами. Множина значень 0 і 1, яких набувають булеві змінні, разом з операціями утворюють булеву алгебру. Основними властивостями операцій булевої алгебри є властивості наведені в табл.1.11. Перетворення булевих формул згідно табл.1.11 називається алгебраїчними перетвореннями.
Виникає питання, навіщо потрібне поняття повноти системи булевих функцій. Відповідь полягає в наступному. Виходячи з деяких міркувань, можна обрати деяку повну систему і тоді будь-яку формулу представити за допомогою функцій обраної системи. Наприклад, в мікросхемотехніці завдяки простоті реалізації обирають систему . Крім того, обрана повна система дозволяє робити перехід від табличного подання булевих функцій, до подання у вигляді формули. Про це далі.