
- •Алгебра логіки
- •2.1. Алгебра Буля і алгебра логіки
- •2.2. Логічні функції однієї і двох змінних
- •2.3. Властивості елементарних логічних функцій
- •2.4. Формули в алгебрі логіки
- •2.5. Диз’юнктивні й кон’юктивні нормальні форми алгебри Буля
- •2.6. Двоїсті функції
- •2.7. Досконалі диз’юнктивні й кон’юнктивні нормальні форми
- •Питання для самоконтролю
- •3.1. Поняття алгебри Жегалкіна
- •3.2. Властивості операцій алгебри Жегалкіна
- •3.3. Многочлени Жегалкіна
- •Питання для самоконтролю
- •4.1. Поняття повної системи функцій
- •4.2. Замикання множини логічних функцій
- •4.3. Основні замкнуті класи логічних функцій
- •4.4. Критерій Поста повноти системи функцій
- •Питання для самоконтролю
- •5.1. Поняття мінімізації
- •5.2. Побудова скорочених днф
- •5. 3. Побудова тупикових днф. Метод імплікантних таблиць Квайна. Метод Петрика
- •5.4. Мінімізація на основі карт Карно
- •Питання для самоконтролю
Алгебра логіки
Алгебра логіки є одним з основних розділів дискретної математики, а функції алгебри логіки — одним з основних об’єктів дискретної математики.
Частина 2. ФУНКЦІЇ АЛГЕБРИ ЛОГІКИ
2.1. Алгебра Буля і алгебра логіки
Визначення
2.1.
Алгеброю
Буля1
(або
булевою алгеброю)
називають визначену на множині
алгебричну структуру з однією унарною
операцією (
)
і двома бінарними операціями (
і
),
для якої справджуються аксіоми:
;
;
;
;
;
;
;
;
;
.
Якщо
в алгебрі, носієм якої є множина
,
крім вказаних операцій
,
використовують також інші операції, а
елементи множини
відповідно інтерпретують як “ні” і
“так” або “хибність” і “істина”, то
таку алгебру називають алгеброю
логіки,
або двозначною логікою, а її змінні —
логічними
змінними.
В алгебрі логіки операції
булевої алгебри є логічними операціями
і їх відповідно називають запереченням,
диз’юнкцією і кон’юнкцією2.
Ці операції мають такі пріоритети:
найвищий — заперечення, далі йде
кон’юнкція, найнижчий — диз’юнкція.
Порядок виконання операцій можна змінити
за допомогою дужок; якщо над частиною
виразу стоїть знак заперечення, то він
виконує роль дужок.
Визначення
2.2.
Логічною
функцією
(чи просто булевою функцією)
називають функцію виду
,
кожен з n
аргументів якої визначений на
двохелементній множині
,
і таку, що f(
)
.
Отже, для логічної функції
область визначення
(це множина всіх двійкових n-вимірних
векторів виду
),
а множина значень
.
Множину наборів значень змінних із
,
на яких функція
набуває значень 1, позначають
.
Нехай
логічна функція
залежить від n
змінних (аргументів). Можливі набори
значень змінних
називають інтерпретаціями.
Кількість різних інтерпретацій для n
змінних дорівнює
,
а кількість усіх функцій від n
змінних дорівнює
.
Приклад
2.1.
Якщо функція
залежить від двох змінних, то можливими
інтерпретаціями (наборами значень
змінних) є такі
набори:
,
,
і
.
Усіх можливих функцій є
і ці функції набувають на вказаних
інтерпретаціях таких значень:
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
.
Для функцій
трьох змінних можливих інтерпретацій
є
,
а всіх таких функцій —
.
Будь-яку логічну функцію можна задати:
1) таблично — за допомогою таблиці істинності, вказуючи її значення на кожній інтерпретації;
2)
вектором її значень відповідно до
табличного задання функції, вважаючи,
що послідовність інтерпретацій відповідає
послідовності двійкового подання
десяткових чисел від 0 до (
);
3) аналітично — в алгебрі Буля за допомогою формули, яка містить диз’юнкцію елементарних кон’юнкцій або кон’юнкцію елементарних диз’юнкцій і при цьому в кожну елементарну кон’юнкцію чи диз’юнкцію змінні входять зі знаком заперечення чи без нього; в алгебрі логіки за допомогою формули, в якій використовують різні її операції.
Приклад 2.2. Задамо логічну функцію трьох змінних , використовуючи різні способи.
Задамо за допомогою таблиці істинності:
Цю саму функцію задамо вектором її значень:
або
для спрощення запису подамо цей вектор
без ком:
.
Дану функцію також задамо аналітично за допомогою формул (таке задання не є єдиним), наприклад:
;
;
;
;
;
тощо.
Крім
вказаних способів, логічну функцію при
невеликій кількості змінних також можна
подати геометрично. Геометричне
подання логічної функції
— це зображення n-вимірного
одиничного куба
з множиною вершин
;
як правило, в цьому кубі виділяють
вершини множини
,
в яких функція набуває значень 1. Одиничний
n-вимірний
куб можна подати в звичайній декартовій
системі координат або булевим
кубом
(діаграмою Хассе3).
Зауважимо, що назва “булів куб” є
узагальнювальною, оскільки для функції
однієї змінної це буде вертикальна
пряма лінія, у якої початок має координату
0, а кінець — координату 1, для функц
ії двох змінних це буде ромб, вершини
якого мають координати
,
,
,
,
а для функції трьох змінних це справді
буде куб.
П
риклад
2.3.
На рис. 1(а) геометрично подано логічну
функцію трьох змінних
в декартовій системі координат, а на
рис. 1(б) — за допомогою булевого куба:
(а) (б)
Рис. 1. Геометричне подання логічної функції в декартовій
системі координат (а) і булевим кубом (б)
Визначення
2.3.
Змінну
логічної функції
називають фіктивною,
або
неістотною,
якщо зміна її значення не змінює значення
самої функції, тобто:
.
Інакше
змінну
називають істотною.
Якщо
вилучити фіктивну змінну, то нова функція
залежатиме від
змінної, а значення логічної функції
не зміниться:
.
Визначення 2.4. Дві логічні функції f і g називають рівними, якщо на однакових наборах значень змінних вони мають однакові значення або якщо вони можуть бути одержані одна з одної шляхом вилучення або, навпаки, додавання фіктивної змінної.
Надалі
множину всіх логічних функцій позначимо
через
,
а множину всіх логічних функцій від n
змінних
— через
;
при цьому
.