Professional Documents
Culture Documents
Матеріали Лекцій з Дискретної Математики
Матеріали Лекцій з Дискретної Математики
«ДИСКРЕТНА МАТЕМАТИКА»
Харків
ХНЕУ ім. С. Кузнеця
2020
Лекція 1. Основи теорії множин
2
(або взагалі перелічити їх усі неможливо), віддають перевагу способу
опису.
Порожньою множиною називається множина, яка не містить
жодного елемента, і позначається символом . Множини, які не є
порожніми, природно називати непорожніми множинами.
Наприклад, множина дійсних коренів рівняння x 2 10 0 є
порожньою, бо не знайдеться такого числа із R – множини дійсних
чисел, – щоб його квадрат у сумі з числом 10 давав нуль, тобто
x R x 2 10 0 .
Множини A , B називають рівними, якщо вони містять одні і ті ж
самі елементи, і пишуть: A B .
Наприклад, рівними є множини: A m, n, p ; B p, m, n ;
C m, p, p, n (не зважаючи на те, що елемент p записано двічі).
Щоб не виникало колізій при підрахунку кількості елементів
множини, треба домовитись, що у множині не повинно бути однакових
членів.
Із означення рівності множин випливає, що порядок елементів у
множині несуттєвий (!).
Розглянемо дві непорожні множини A і B . Множину A назвемо
підмножиною множини B , якщо кожний елемент множини A також
належить множині B .
Наприклад, A a, b є підмножиною B a, b, c і записують:
A B.
Якщо A не є підмножиною B , то пишуть: A B і кажуть: " A не
включається в B ”.
Наприклад, A 1, 2, B 1, 3, 5 A B , бо елемент 2 із A не
належить B .
Якщо розглядається декілька множин A1 , A2 , …, Ak , k N , які є
підмножинами однієї і тієї ж множини A , то цю "найбільшу" множину A
називають основною ( універсальною, або універсумом) і позначають
через I або U .
Наприклад, студентська академічна група є універсумом для
всіляких підмножин: відмінників; спортсменів; студентів, що одержують
стипендію; студентів, що проживають у гуртожитку тощо цієї групи; у
3
планіметрії (стереометрії) універсум U – множина точок площини
(простору).
Розглянемо дві непорожні множини A , B . Якщо кожному елементу
x A можна поставити у відповідність один елемент y B , з яким
співставляється елемент x , і навпаки, то кажуть, що між множинами A і
B установлено взаємно однозначну відповідність (або бієкцією), і
пишуть: A B , де – символ бієкції.
Наприклад, для множин A 2, 8,16,1, B 0, 3, 4,1 відповідність,
яка описується парами 2,1 , 8, 3 , 16, 4 , 1, 0, є бієкцією, а пари 2,1 ,
8, 3 , 16, 0 , 1, 0 не визначають бієкцію, бо елемент 0 B є
відповідним двом елементам із A : 16 і 1 .
Якщо між елементами двох множин A і B можна установити
бієкцію, то їх називають еквівалентними, і пишуть A B , де –
символ еквівалентності.
Множина A називається скінченною (нескінченною), якщо існує
(не існує) таке натуральне число n n N , що множина A еквівалентна
множині 1, 2, 3,, n .
Наприклад, множина A m, p, n, q є скінченною, бо вона
еквівалентна множині 1, 2, 3, 4 (тут n 4 ).
Як відомо зі шкільної математики, нескінченною множиною є
множина натуральних чисел: N 1, 2, 3,, n, .
Прикладом множини, яка еквівалентна множині N , є множина
парних чисел 2, 4, 6,, 2n,, n N , оскільки відповідна бієкція
описується парами n, 2n , n N .
Прикладами інших нескінченних множин є множини: цілих чисел
(додатних, від’ємних і нуля): Z 0,1,2,3, ..., n, ...; дійсних чисел: R ;
точок на прямій, на площині, у просторі, точок деякої поверхні тощо.
Оскільки між множиною R і множиною точок на прямій існує
бієкція, то множину R і її підмножини називають також точковими, а
терміни "дійсне число" і "точка прямої" сприймають як синоніми. З іншого
боку, пряму можна розглядати як геометричне зображення множини
дійсних чисел (рис. 1.1).
4
Рис. 1.1. Числова пряма (вісь)
6
Рис. 1.4. Ейлерова діаграма перетину множин
A \ B A B.
Приклад: Нехай A 1, 2, 3, B 3, 4, 6, 7, C 4, 5, 6.
Об'єднання цих множин приймемо за універсум:
I A B C 1, 2, 3, 4, 5, 6, 7, тоді A 4, 5, 6, 7.
1 Комутативний A B B A A B B A
(переставний)
2 Асоціативний A B C A B C A B C A B C
(сполучний)
3 Дистрибутивний A B C A B A C A B C A B A C
(розподільний)
Виключення
4 A A I
третьої можливості
8
5 Суперечності A A
6 Ідемпотентності A A A A A A
7 Де Моргана A B A B A B A B
A A, A I I , A , A I A,
Поглинання
A A B A A A B A
8
9 Склеювання A B A B A A B A B A
Подвійного
10
доповнення A A
Приклад. Доведемо рівність:
A \ B C A C \ B C .
L P
L A \ B C X \ Y X Y A B C A B C .
P A C \ B C X \ Y X Y A C B C
X Y X Y A C B C X (Y Z ) ( X Y ) ( X Z )
A C B A C C X X , X
AC B X A B C .
A B A B B A B A A \ B .
9
A B C A B C C A .
P L
Дійсно, маємо:
P L P A L A A B C A A B C A
X Y Z X Z Y Z
A B A C A A B C A X X , X
C A X X C A C \ A C A .
Навпаки:
C A A B C A C B C A B C .
Аналізуючи табл. 1.1 за стовпцями, помічаємо, що тотожності для
перетину (об'єднання) можна одержати з тотожностей для об'єднання
(перетину), якщо символ замінити на і навпаки, а символ
замінити на символ I і навпаки.
Пари символів , і , I називаються двоїстими символами.
10
способами; після вибору x1 і x 2 елемент x3 можна вибрати n3 способами
і т.д., нарешті, елемент x k можна вибрати n k способами незалежно від
вибору всіх попередніх елементів, то вибір кортежу x1 , x 2 ,, x k можна
здійснити П n1 n2 nk способами.
Наприклад, якщо у шухляді 6 видів головного вбрання x , 5 –
верхнього одягу y , 4 – взуття z , то комплект x, y, z можна скласти
120 способами: П 6 5 4 120 .
Правило суми. Якщо деякий елемент x1 можна вибрати n1
способами, а елемент x 2 – n2 способами, причому ніякий спосіб вибору
x1 не збігається з жодним із способів вибору x 2 ; елемент x3 можна
вибрати n3 способами, причому ніякий вибір x1 , x 2 не збігається з
вибором x3 і т. д., нарешті, елемент x k – n k способами, які не збігаються
зі способами вибору x1 , x2 ,, xk 1 , то вибір x1 або x 2 або ... x k можна
здійснити S n1 n2 nk способами.
Наприклад, підрахуємо, скільки існує чисел, кратних 3 або 7 , серед
перших двадцяти натуральних чисел n 20 :
A 1, 2, ..., 20 ( A1 3, 6,..., 18 3n1 – множина чисел,
6
то S
30 30 30 10 4 1 13 , бо число 21 можна вибрати
3 7 3 7
як число, кратне 3 , і як число, кратне 7 , а враховувати його треба тільки
один раз.
Pn n ! 1 2 3 n . (Нагадаємо, що 0 ! 1; 1! 1 ).
12
Anm n n 1 n m 1 n!
Cnm
m!n m !
.
Pm 1 2 m
трьох елементів по два: a, b, a, c, b, c; C32 3 2 3 .
1 2
При розв'язанні застосовних задач доводиться стикатися з
кортежами, елементи яких повторюються: код Морзе – кортеж з
елементів множини {крапка (), тире (–)}; інформаційний код в ЕОМ –
кортеж з елементів множини 0,1; слово в лінгвістиці – рядок з літер
абетки тощо.
Нехай A x1 , x2 , , xn – деяка n -множина (основна множина),
кожний елемент якої xi можна вибрати будь-яке скінченне число разів
k1 , k 2 ,, k n :
x1 x1 x1
x x2 x2 xn xn xn – m -кортеж, де
2
k1 k2 kn
n
k1 k 2 k n k i m .
i 1
14
комбінації з повтореннями відрізняються одна від одної тільки складом
елементів, порядок розташування елементів значення не має.
Число всіх комбінацій з повтореннями з n елементів по m
m
позначають символом C n і знаходять за формулою:
16
m
A n – це число способів, якими можна розкласти m різних
предметів по n ящиках;
Pm k1 , k 2 , , k n – це число способів, якими можна розкласти m
різних куль по n комірках так, щоб до i -тої комірки потрапило k i куль
i 1, 2, , n ;
m
C n – це число способів, якими можна розкласти m однакових
предметів по n ящиках.
17
Геометричне задання графів: кожній вершині графа відповідає
точка із R 2 чи R 3 , кожному ребру – прямолінійний або криволінійний
відрізок, що з'єднує інцидентні ребру вершини. Як правило, намагаються
зобразити граф так, щоб його ребра перетиналися тільки в їхніх
граничних вершинах.
Матричне зображення графів. Матриця A [aij ] розміру n m , де
aij 1, якщо вершина xi інцидентна ребру u j ( xi u j ) , і aij 0 , якщо
вершина xi не інцидентна ребру u j ( xi u j ) , називається матрицею
інциденцій графа (з n вершинами і m ребрами).
Квадратна матриця B [bij ] порядку n , де bij – число ребер з
вершинами xi , x j ; i, j I x , називається матрицею суміжності
вершин графа. Матриця B – симетрична матриця (bij b ji ) , яка також
однозначно описує неорієнтований граф.
Приклад задання графа G ( X ,U ) ({xi }15 ,{u j }16 ) :
а) теоретико-множинне задання графа –
u1 x1 , x2 , u 2 x2 , x2 , u3 x2 , x3 , u 4 x3 , x4 , u5 x3 , x4 ,u 6 x1 , x3 ; x5 ;
б) геометричне зображення цього ж графа подано на рис. 3.1:
18
3.2. Маршрути. Відшукання ланцюгів мінімальної довжини
19
У практичних застосуваннях має велике значення задача
відшукання найкоротшого ланцюга між двома вершинами зв'язного
графа. До такої задачі зводяться задачі вибору найбільш економічного (з
точки зору відстані або часу або вартості) маршруту між двома
об'єктами.
Задача про найкоротший ланцюг на графі в загальному вигляді
може бути сформульована таким чином: задано неорієнтований граф
G X ,U , кожному ребру {xi , x j } якого приписано деяке дійсне число
d ( xi , x j ) d (i, j ) dij 0 , яке називають довжиною ребра. (Залежно від
конкретного застосування це число може бути мірою фізичної відстані,
ваги, вартості або іншого важливого параметра). Треба для двох
довільних вершин x , x знайти в графі G ланцюг L L , такий,
щоб сумарна довжина його ребер d була мінімальною:
L
d L d ij min . (3.1)
( xi , x j )L
21
2) число всіх дерев, які покривають n заданих вершин, дорівнює
n n2 .
Часто дерева розглядають не самі по собі, а у взаємозв'язку з
графами більш складної структури.
Частина графа G , яка містить всі його вершини і являє собою
дерево, називається кістяком (покривним деревом) графа G . Щоб
одержати кістяк графа G з n вершинами і m ребрами (який містить
цикли), треба вилучити з нього m n 1 -е ребро.
Задача побудови економічного (екстремального) дерева. У
багатьох задачах практичного характеру потрібно зв'язати деякі об'єкти
(міста, села, будинки, підприємства і т. ін.) найбільш економічним чином
з точки зору відстані, часу, вартості і т. ін.
Мовою теорії графів ця задача формулюється в загальному вигляді
таким чином: нехай G ( X ,U ) – зв'язний граф, кожному ребру {xi , x j }
якого поставлено у відповідність дійсне число d ij 0 – довжину цього
ребра. Треба побудувати покривне дерево T графа G так, щоб сумарна
довжина його ребер dT була мінімальною:
а) б)
23
ребро {xi , xk } орієнтоване ребро (орребро), або просто дуга
( xi , xk ) , що виходить з вершини xi і заходить у вершину xk ; xi xk –
початок (кінець) дуги;
маршрут x1 x2 xk ормаршрут x1 x2 xk ;
ланцюг орланцюг, або шлях;
цикл орцикл, або контур.
Способи задання орграфів такі ж, як і графів, але з певними змінами.
При теоретико-множинному способі наводиться перелік
упорядкованих пар ( xi , xk ) ; i, k {1, 2, ...,n} , і ізольованих вершин.
При геометричному – вершини орграфа зображають в R 2 чи R 3
точками, а дуги ( xi , xk ) – стрілками, які йдуть у напрямі від xi до x j .
При матричному заданні орграфів елементи матриці інциденцій
A [aij ] n m визначаються так:
1, якщо xi початок u j ;
aij 1, якщо xi кінець u j ;
0, якщо xi не інцидентна u j або u j петля ,
при цьому ізольованій вершині відповідає нульовий рядок, а петлі –
нульовий стовпець.
24
(людських, технічних, енергетичних, фінансових тощо), термінів
виконання і т. ін.
Нехай визначено комплекс робіт U {u1 , u 2 , , um }, необхідних
для реалізації даного проекту, і множину подій X {x0 , x1 ,..., xn } , де x0 –
початок, x n – кінець, xi i 0, n – проміжні події.
Задачі, в яких ставиться питання про відшукання мінімального часу
виконання всіх робіт комплексу U , називаються оптимізаційними
задачами за критерієм часу.
Орієнтований зв'язний граф G X , U без петель і контурів, який
відображає природний порядок виконання робіт комплексу U в часі, в
поєднанні з певними числовими даними – характеристиками проекту, –
називається сітковим графіком (СГ) комплексу робіт (даного проекту).
Перш ніж будувати СГ, треба скласти структурно-часову
таблицю: перелік подій і робіт комплексу, місце роботи в комплексі, її
технологічні зв'язки з іншими роботами, терміни виконання робіт, інші
числові характеристики (витрати ресурсів, кількість виконавців і т. ін.)
Наведемо найважливіші правила побудови СГ:
1. Скласти структурно-часову таблицю.
2. Зобразити в R 2 чи R 3 роботи дугами, над (під) якими вказують
потрібний для їх виконання час, а події – кружками, в яких записують
порядковий номер події. (Подія як результат виконання попередніх робіт
є передумовою виконання наступних операцій).
3. У СГ не повинно бути (згідно з означенням) контурів і петель, а
також проміжних подій (крім кінцевої x n ), які не дають початку ніякій
роботі, і таких проміжних подій (крім початкової x0 ), яким не передує
ніяка робота.
4. У СГ уникають наявності паралельних дуг, що відповідає
одночасно виконуваним роботам між двома подіями.
Для спрощення формального опису розрахунків в СГ G ( X ,U )
домовимось вершини (події) xi , xk X називати за їх номерами i, k
( i, k {0, 1, , n}) , а дуги (роботи) розглядати як пари (i, k ) .
Введемо позначення:
25
U – множина робіт, які починаються (закінчуються) подією
U
i k
i k ;
t (i) – час, який пройшов від нульової події до моменту, коли
настала подія i – строк звершення події i ;
t (i, k ) – тривалість роботи (i, k ) , яка починається подією i і
закінчується подією k .
Раннім строком t p (k ) звершення події k називають найменший
можливий час настання події k за умови, що всі попередні події
відбуваються без затримки. Якщо подією k закінчується одна робота
(i, k ) , то: t p (k ) t p (i) t (i, k ) ; якщо ж подією k закінчується кілька робіт,
то за кожною роботою знаходять свій ранній строк, а шуканим t p (k )
буде максимальний з них:
t p (k ) max {t p (i) t (i, k )}. (3.3)
(i , k ) U
k
26
t p (0) tп (0) , t p (n) tп (n) . (3.6)
l ( кр ) tkp . (3.8)
27
ІV етап. Визначення критичного шляху: рухаючись від x0 до x n ,
відшукують орланцюг довжини t kp , події якого мають нульовий резерв
часу (критичні події); це визначає відповідні критичні роботи і критичний
шлях у цілому.
Приклад. Знайти критичній час t kp і критичний шлях kp на
сітковому графіку, зображеному на рис. 3.4.
28
t p 1 t p 0 t 0,1 0 3 3 ;
t p 2 max t p 0 t 0, 2, t p 1 t 1, 2 max 0 6, 3 0 6 ;
t p 3 max t p 0 t 0, 3, t p 2 t 2, 3 max 0 4, 6 1 7 ;
t p 4 max t p 1 t 1, 4, t p 2 t 2, 4, t p 3 t 3, 4
max 3 5, 6 9, 7 6 15;
t p 5 max t p 3 t 3, 5, t p 4 t 4, 5 max7 5, 15 8 23 tkp .
tп 5 t p 5 23 ;
tп 4 tп 5 t 4, 5 23 8 15 ;
tп 3 min tп 4 t 3, 4, tп 5 t 3, 5 min15 6, 23 8 9 ;
tп 2 min tп 3 t 2, 3, tп 4 t 2, 4 min 9 1, 15 9 6 ;
tп 1 min tп 2 t 1,2, tп 4 t 1, 4 min 6 0, 15 5 6 ;
tп 0 min tп 1 t 0,1, tп 2 t 0, 2, tп 3 t 0, 3
min 6 3, 6 6, 9 4 0 ;
Знаходимо резерви часу подій:
29
2) існує єдина вершина xn z X тільки з від'ємно інцидентними
дугами ( z – вихід сітки);
3) кожній дузі u U поставлено у відповідність ціле невід'ємне
число c(u ) , назване пропускною спроможністю дуги.
Якщо x X – довільна вершина ТМ, то позначимо множину дуг, які
заходять у x через U x , а через U x – множину дуг, які виходять з x .
Потоком по дузі u ( x, y) , x, y X , або дуговим потоком,
називається числова цілозначна функція дуги (u ) , яка задовольняє
умови:
30
Дуга u називається насиченою, якщо (u) c(u) , тобто дуговий
потік дорівнює пропускній спроможності цієї дуги.
Дуга u називається ненасиченою, якщо (u) c(u) .
Якщо (u) 0 (u) 0 , то кажуть, що дуга u навантажена
(ненавантажена).
п
Потік z називають повним, якщо кожний шлях від x0 до z
містить принаймні одну насичену дугу (такий шлях також називатимемо
повним); у протилежному випадку z ( ) – неповний потік (шлях).
Якщо на ТМ вказано потік z і дугові потоки (u) u U u U ,
то кажуть, що здійснено розподіл потоку на ТМ (за дугами).
Розглянемо таку задачу: на заданій ТМ з фіксованими пропускними
п
спроможностями її дуг побудувати (знайти) повний потік z .
Розв'язання цієї задачі проводять в два етапи.
І етап. Побудова довільного (початкового) потоку z : вибирають
0
неоднозначно.
Приклад. Розглянемо п'ятивершинну ТМ G ( X ,U ) , x0 – вхід,
x4 z – вихід (рис. 3.7-а), пропускні спроможності c(u) дуг якої вкажемо
в круглих дужках, а дугові потоки (u ) записуватимемо праворуч від них;
насичені дуги позначатимемо подвійними лініями.
Візьмемо початковий потік z 3 і здійснимо розподіл його за
0
31
буде повним, бо 1 0 2 4 , 2 0 3 2 4 ,
3 0 1 3 2 4 – повні шляхи, а 4 0 1 3 4 ,
5 0 3 4 – неповні.
а) б)
32
Під індексацією вершин ТМ розуміють процес приписування її
вершинам x0 , x1 , …, xn z індексів (чисел) наступним чином:
вершині x0 приписується індекс 0 ;
якщо вершина з номером i , тобто xi , уже проіндексована, то:
а) усі непозначені вершини y , в які йдуть ненасичені дуги із xi ,
позначаються індексом (i) (рис. 3.9-а);
б) усі непозначені вершини y , із яких йдуть навантажені дуги в xi ,
позначаються індексом (i) (рис. 3.9-б).
а) б)
Рис. 3.8. Зважування вершин ТМ:
а) в які входять дуги; б) з яких виходять дуги
33
Наприклад, якщо x0 x2 x4 x5 z , або (за номерами
вершин) 0 2 4 5, то кортеж I індексів (з точністю до знаку)
вершин на цьому шляху матиме вигляд: I 0, 0, 2, 4.
На шляху можуть бути дуги ТМ, орієнтація яких співпадає або не
співпадає з напрямком руху по від x0 до z . Дугу u U , орієнтовану в
напрямку (проти напрямку) руху по , назвемо попутною (зустрічною),
а відповідну обставину позначимо символом u u . Потоки на
цих дугах будемо теж називати попутними, або зустрічними.
Зміну потоку на ТМ у бік його збільшення проводять так: знаходять
шлях від x0 до z (з позначеними, як указано вище, вершинами) і
дугові потоки (u ) на ньому замінюють новими наступним чином:
для попутних дуг підраховують мінімальну різницю між cu і u :
r min u ,
u
тоді попутні (зустрічні) дугові потоки можна збільшити (зменшити) на
величину:
r min {r , r } ,
тобто
u r , якщо u ;
u
u r , якщо u .
При цьому одна із зустрічних дуг можливо стане порожньою. При
відсутності зустрічних дуг r r .
Відзначимо також, що індексацію вершин і зміну потоку можна
проводити, відштовхуючись від розподілу довільного потоку z (навіть
п
нульового), але краще застосувати їх до повного потоку z , щоб
зменшити кількість обчислень.
Приклад. Знайти максимальний потік на транспортній мережі,
зображеній на рис. 3.9-а.
Розв'язання.
34
1. Виберемо початковий потік z 3 і покладемо: 0,1 0, 2
0
а) б)
35
Нарешті, для 3 0 1 3 4 :
r min 3 1, 10 1, 9 3 2 , 0,1 1 2 3 c0,1,
1, 3 1 2 3 , 3, 4 3 2 5 .
Тепер кожен шлях від входу до виходу ТМ є повним. Отже,
п
побудовано повний потік: z 3 2 3 3 5 8 .
3. Індексацію вершин (і подальші кроки) будемо проводити,
виходячи з повного потоку (рис. 3.9-б).
Припишемо початковій вершині індекс 0. Тоді можна
проіндексувати 0 вершину x2 (дуга 0, 2 ненасичена), а вершини x1 ,
x3 , відштовхуючись від x0 , позначити не можна, бо дуги 0,1 , 0, 3
насичені. Дуга 3, 2 навантажена і орієнтована в бік позначеної вершини
x2 , значить, вершина x3 отримує індекс 2 . На тій самій підставі
вершині x1 приписуємо індекс 3 ; вершині ж x4 z приписуємо індекс
3, бо дуга 3, 4 ненасичена і виходить з проіндексованої вершини
x3 .
4. Вихід сітки виявився позначеним. Отже, потік z 8 хоча і
повний, але не максимальний.
5. Для зміни потоку ТМ знаходимо шлях від x0 до z x4 ,
вершини якого позначені (з точністю до знаку) номерами попередніх
вершин: 0 2 3 4, а I 0, 0, 2, 3 . На цьому шляху дві
попутні дуги: 0, 2 , 3, 4 і одна – зустрічна – 3, 2 . Підрахуємо, на
скільки одиниць можна збільшити дугові потоки попутних дуг і зменшити –
зустрічної:
36
проіндексувати вершину x3 додатним індексом 2 . Індекси вершин x1 ,
x2 , x4 не зміняться (рис. 3.9-б).
4. Вихід сітки знову позначено. Отже, потік z 9 хоча і повний,
але не максимальний.
5. Знову аналізуємо шлях 0 2 3 4 з кортежем індексів
I 0, 0,2,3 . Усі дуги ТМ на цьому шляху попутні:
r min 6 3, 2 0, 9 6 2 .
Отже, збільшуємо дугові потоки на дві одиниці: 0, 2 3 2 5 ,
2, 3 0 2 2 c2, 3 , 3, 4 6 2 8 , а z 11.
Дуга (2, 3) стала насиченою (на рис. 3.9-б це позначено двома
лініями, одна з яких пунктирна, що відображує переорієнтацію дуги
(3, 2) ). Отже, при наступній індексації ми зможемо позначити тільки
вершини x0 , x2 . Оскільки вихід ТМ – вершина z залишилася не
проіндексованою, то потік, розподілений на ТМ, є максимальним:
z 3 3 2 3 3 3 5 3 8 11 .
37
Теорія висловлень має тісний зв'язок з теорією множин. Нехай I –
універсум деякої сукупності множин. Множина X I , стосовно
елементів якої висловлення x істинне, називається областю
істинності висловлення x . Якщо область істинності є порожньою
множиною, то кажуть, що x тотожно хибне x 0 ; якщо ж область
істинності співпадає з універсумом I , то x тотожно істинне x 1 .
Наприклад, якщо I – множина студентів деякої академічної групи,
X – множина відмінників, Y – множина карооких студентів, то
висловлення x ("студент відмінник") має областю істинності множину X ;
y ("студент кароокий") – множину Y ; z ("студент старше 70 років") –
порожню множину, тобто z – тотожно хибне. Множина X Y буде
областю істинності складного висловлення: "студент відмінник і
кароокий".
Під логічною операцією (ЛО) над висловленнями розуміють
утворення складного висловлення, для якого задані висловлення є
складовими частинами; вихідні висловлення, з яких формується
результат ЛО, називають операндами.
Таблицею істинності ЛО називається таблиця, в якій указано всі
можливі набори значень істинності операндів (із множини 0, 1) і
відповідні значення істинності результату ЛО.
Розглянемо вісім основних ЛО над висловленнями x, y з
областями істинності відповідно X , Y .
1. Інверсією (запереченням) x
висловлення x називається
висловлення з областю істинності X
(рис. 4.1), яке істинне тоді і тільки тоді,
коли x хибне: Рис. 4.1. Область істинності
висловлення x
1, якщо x 0 ,
x
x 0 1
0, якщо x 1.
x 1 0
Читається: "не x ", або "неправильно, що x ". Інверсію x
позначають також символом x .
38
2. Диз’юнкцією (логічною
сумою) x y висловлень x , y
називається складне висловлення з
областю істинності X Y (рис. 4.2), яке
хибне тоді і тільки тоді, коли обидва Рис. 4.2. Область істинності
висловлення хибні: висловлення x y
0, якщо x 0, y 0 ,
x y
x 0 0 1 1
1 в решті випадків. y
0 1 0 1
x y 0 1 1 1
Читається: " x або y ".
3. Кон’юнкцією (логічним
добутком) x y висловлень x , y
називається складне висловлення з
областю істинності X Y (рис. 4.3),
яке істинне тоді і тільки тоді, коли Рис. 4.3. Область істинності
обидва висловлення істинні: висловлення x y
1, якщо x 1, y 1,
x y
x 0 0 1 1
0 в решті випадків. y
0 1 0 1
x y 0 0 0 1
Читається: " x і y ".
4. Імплікацією (логічним
наслідком) x y висловлень x , y
називається складне висловлення з
областю істинності X Y (рис. 4.4), яке
хибне тоді і тільки тоді, коли x істинне, Рис. 4.4. Область істинності
а y хибне: висловлення x y
0, якщо x 1, y 0 ,
x y
x 0 0 1 1
1 в решті випадків. y
0 1 0 1
x y 1 1 0 1
Читається: "якщо x , то y ", або "із x випливає y ".
39
5. Еквіваленцією
(рівнозначністю) x ~ y висловлень
x , y називається складне висловлення
з областю істинності X Y X Y
Рис. 4.5. Область істинності
(рис. 4.5), яке істинне тоді і тільки тоді,
висловлення x ~ y
коли значення істинності обох
висловлень однакові:
1, якщо x y ,
x~ y
x 0 0 1 1
0, якщо x y. y
0 1 0 1
x~ y 1 0 0 1
Читається: " x еквівалентне y ", або " x тоді і тільки тоді, коли y ",
або " x , якщо і тільки якщо y ". Еквіваленцію позначають також
символами x y , x y .
6. Операцією Жегалкіна (нерівнозначністю) x y називається
інверсія еквіваленції:
0, якщо x y ,
x y x ~ y
x 0 0 1 1
1 якщо x y. y
0 1 0 1
x y 0 1 1 0
Читається: " x не еквівалентне (не рівнозначне) y ".
7. Операцією (штрихом) Шеффера x | y називається інверсія
кон'юнкції (несумісність):
0, якщо x 1, y 1,
x | y x y
x
0 0 1 1
1 в решті випадків. y
0 1 0 1
x| y
1 1 1 0
Читається: " x не сумісне з y ", або "неправильно, що x і y ".
8. Операцією (стрілкою) Пірса x y називається інверсія
диз'юнкції:
1, якщо x 0, y 0 ,
x y x y
x
0 0 1 1
y
0 в решті випадків. 0 1 0 1
x y 1 0 0 0
Читається: "ні x , ні y ", або "неправильно, що x або y ".
Операції , , називаються головними (базисними)
операціями у тому розумінні, що решту логічних операцій , , , ,
можна виразити через них за допомогою співвідношень:
40
x y x y x y ,
x ~ y x y y x x y x y x y x y ,
x y x ~ y x y x y x y x y , (4.1)
x| y x y x y,
x y x y x y.
У справедливості наведених співвідношень легко переконатися за
допомогою таблиць істинності.
1 Комутативний x y y x x y yx
(переставний)
2 Асоціативний x y z x y z x y z x y z
(сполучний)
3 Дистрибутивний x y z x y x z x y z x y x z
(розподільний)
Виключення
4 третьої x x 1
можливості
5 Суперечності xx 0
6 Ідемпотентності x x x xx x
7 Де Моргана x y x y x y x y
x 0 x , x 1 1, x 0 0 , x 1 x ,
Поглинання
x x y x x x y x
8
9 Склеювання x y x y x x y x y x
41
Подвійного
10
заперечення xx
42
F (a b) (a b ) x y x y a b (a b )
x y x y (a b ) (a b ) x ( y z ) x y z
a b a b x y y x a a b b x x 1
1 b b x x x 1 b x y y x b 1 x 1 1 1 F .
1 3
F a b a b ,
2
а інверсію b виконуємо усно; відводимо n стовпців (за кількістю атомів)
для запису фіксованих значень аргументів (у нас n 2 ); далі йдуть
стовпці, що відповідають значенням проміжних операцій (їх для зручності
можна позначити однією літерою, як показано в табл. 4.2), а останній
стовпець відповідає всій формулі.
Таблиця 4.2
Таблиця істинності логічної формули
A B F
a b a b ab AB
0 0 0 1 1
0 1 0 0 1
1 0 0 1 1
1 1 1 1 1
Висновок: задана логічна формула є тавтологією.
На підставі формул переходу (4.1) будь-яку логічну формулу можна
представити через головні операції , , . Якщо в формулі F символ
замінити на символ і навпаки, а символ 1 – символом 0 і навпаки, то
одержимо формулу F , яка називається двоїстою по відношенню до
формули F ; символи і , 0 і 1 також називають двоїстими.
43
Нехай M {x1 , x2 ,, xn } {xi }1n – множина атомів, з яких (не
обов'язково усіх) утворюються логічні формули. Якщо формула містить
атом xi M (заперечення xi ), то кажуть, що атом xi входить у формулу
в прямому (інверсному) вигляді.
Формула D K називається елементарною диз'юнкцією
(кон'юнкцією), якщо вона становить диз'юнкцію (кон'юнкцію) попарно
розрізнюваних атомів в прямому або інверсному вигляді, тобто
D~
xi1 ~
xi2 ~
xim ,
(4.2)
K~
xi1 ~
xi2 ~
xim .
~
де xik (1 k m , 1 m n ) – це або xik , або xik ; xik M .
Домовились окремий атом (в прямому або інверсному вигляді) як
формулу відносити і до елементарних диз'юнкцій, і до елементарних
кон'юнкцій, а 0 (1 ) рахувати елементарною кон'юнкцією (диз'юнкцією).
Наприклад, для M x1 , x2 , x3 : формули x3 , x1 x2 x3 ,
x1 x2 , x1 x3 є елементарними диз'юнкціями; формула
x1 x2 x1 x3 – не елементарна диз'юнкція, хоча стає нею після
застосування закону комутативності та ідемпотентності: x1 x2 x3 .
ДНФ (КНФ) логічної формули F називається рівносильна їй
формула F F , яка є диз'юнкцією (кон'юнкцією) елементарних
кон'юнкцій (диз'юнкцій), тобто:
r
ДНФ: F K1 K 2 K r V K i ( i 1, r )
i 1
(4.3)
s
(КНФ: F D1 D2 Dr D j ( j 1, s ))
j 1
де r, s N ; K i ( Di ) – елементарні кон'юнкції (диз'юнкції).
44
1) здійснюють перехід від операцій , ~ , , | , до головних
операцій алгебри логіки , , (з урахуванням законів де Моргана і
порядку виконання дій);
2) спрощують одержану формулу за допомогою законів МЛ
(ідемпотентності, склеювання, поглинання), вилучаючи з неї тавтології і
протиріччя;
3) приводять окремі частини формули за допомогою асоціативних і
дистрибутивних законів до елементарних диз'юнкцій чи кон'юнкцій,
причому дистрибутивні закони використовуються так:
x y z x y x z – для ДНФ,
x y z x y x z – для КНФ.
F ( x y) ( x ~ y ) (( x y) ( x y)) (( x y ) ( x y))
45
A (B C) A B C
A B B A ( x y ) ( x y ) K1 K 2 F .
A A A
Застосовуючи правило 1 до F , одержимо F :
F x x x y y x y y x y x y D1 D2 .
46
1) скласти її таблицю істинності і розглянути всі набори значень
атомів, на яких F 1;
2) замінити кожну одиницю (кожний нуль) такого набору на атом xi
(заперечення xi ), де i – номер відповідного елемента набору, що дає
деяку конституенту одиниці;
3) записати диз'юнкцію всіх конституент одиниці, що визначаються
наборами значень атомів, на яких F 1 .
F x ~ y x | z y .
Установлюємо значення F на всіляких наборах значень атомів
(табл. 4.3).
Таблиця 4.3
Таблиця істинності логічної формули
A B C F
x y z x~ y x| z A B C| y
0 0 0 0 1 0 1
0 0 1 0 1 0 1
0 1 0 1 1 1 0
0 1 1 1 1 1 0
1 0 0 1 1 1 0
1 0 1 1 0 0 1
1 1 0 0 1 0 0
1 1 1 0 0 0 0
За правилами побудови досконалих форм маємо:
47
F x y z x y z x y z ,
F x y z x y z x y z x y z x y z .
48