
- •1.1.1. Поняття множини
- •1.1.2. Елементи множини
- •1.1.3. Рівність множин
- •1.1.4. Задання та запис множин
- •1.1.5. Підмножини. Універсальна множина.
- •1.1.6. Операції над множинами та їхні властивості
- •Доведемо обернене включення:.
- •1.1.7. Потужність множин
- •Література
- •1.2.2. Декартовий (прямий) добуток множин
- •1.2.3. Бінарні відношення
- •1.2.4. Переріз відношення. Фактор-множина
- •1.2.5. Способи задання відношень
- •Література
- •Тема 1.3. Властивості відношень
- •1.3.1. Теоретико-множинні операції над відношеннями
- •1.3.2. Композиція відношень
- •1.3.3. Обернені відношення
- •1.3.4. Рефлексивні, симетричні і транзитивні відношення
- •1.3.5. Відношення еквівалентності
- •1.3.6. Відношення порядку
- •1.3.7. Відображення і функції
- •Література
- •Розділ 2. Теорія графів
- •Тема 2.1. Основні елементи теорії графів
- •2.1.1. Поняття графа
- •2.1.2. Ізоморфізм графів. Підграф. Суграф. Частковий граф
- •2.1.3. Числові характеристики графа
- •2.1.4. Маршрути незамкнені (ланцюги, шляхи) і замкнені (цикли, контури). Повнота. Зв’язність. Сильна зв’язність
- •2.1.5. Способи задання графа
- •Література
- •Тема 2.2. Операції над графами
- •2.2.1. Поняття графа
- •Тема 2.3. Дерева і цикли у графах
- •2.3.1. Компоненти зв’язності
- •Розглянемо незв’язний неорієнтований граф .
- •Отже, наведений на прикладі граф має три компоненти зв’язності.
- •2.3.2. Ранг та цикломатичне число графа
- •Якщо граф – вироджений, тобто має лише вершини, а ребра – відсутні, то і. За теоремою 2.3.2 додавання нового ребра збільшує або, або. Отже, числатаможуть лише зростати.
- •2.3.3. Дерева і ліси
- •Література
- •Тема 2.4. Розфарбування графа
- •2.4.1. Задача про чотири фарби. Правильне розфарбування графа
- •2.5.2. Визначення хроматичного числа. Хроматичний поліном
- •Література
- •Розділ 3. Загальна алгебра
- •Тема 3.1. Групи
- •3.1.1. Поняття алгебраїчної операції
- •3.1.2. Означення і приклади груп
- •Література
- •Тема 3.3. Поля
- •3.3.1. Означення поля. Приклади полів
- •3.3.2. Властивості полів
- •Література
- •Розділ 4.
- •Тема 4.1 булева алгебра
- •4.1.1 Визначення булевої функції
- •4.1.2. Формули логіки булевих функцій
- •4.1.3. Рівносильні перетворення формул
- •Основні правил булевих формул.
- •Правило рівносильних перетворень
- •4.1.4. Двоїстість. Принцип двоїстості.
- •4.1.5. Булева алгебра (алгебра логіки). Повні системи булевих функцій
- •Література
- •Тема 4.2. Нормальні форми
- •4.2.2 Розкладання булевої функції по змінним
- •Література
- •Тема 4.3. Мінімізація формул булевих функцій у класі диз'юнктивних нормальних форм
- •4.3.1. Застосування алгебри булевих функцій до релейно-контактних схем
- •Контрольні питання до теми 4
- •Література
- •Розділ 5.Комбінаторний аналіз
- •Тема 5.1. Основні поняття комбінаторного аналізу
- •5.1.1. Основні правила комбінаторики
- •Розв’язання
- •5.1.2. Розміщення. Розміщення з повтореннями
- •Розв’язання
- •Розв’язання
- •5.1.3. Перестановки. Перестановки з повтореннями
- •Розв’язання
- •Розв’язання
- •5.1.4. Комбінації. Комбінації з повтореннями
- •Розв’язання
- •Розв’язання
- •Розв’язання
- •5.1.6. Біном Ньютона. Трикутник Паскаля. Властивості біноміальних коефіцієнтів
- •Література
- •Розділ 6.Теорія інформації та кодування
- •Тема 6.1. Теоретичні положення
- •1.2. Приклади розв’язання задач
- •6.3. Задачі
- •Література
- •7. Ефективне кодування
- •7.1. Теоретичні положення
- •7.2. Приклади розв’язання задач
- •Задача 7.2.2
- •Задача 7.2.5
- •1010000011001010011001001011110.
- •0001011011011101100110101100001011011.
- •7.3. Задачі
- •Література
Правило рівносильних перетворень
Нехай для формул A й B справедливе твердження A B. Нехай CA – формула, що містить A у якості своєї підформули. Нехай CB виходить із CA заміною A на B. Тоді CA CB.
Приклад 4.5.
Нехай A = x y, B = xVy.
Рівносильність 12 дозволяє стверджувати, що A B.
Нехай CA = (x y) & z, тобто A є підформула CA. Тоді CB = (xVy) & z і CA CB, тобто (x y) & z (xVy) & z.
4.1.4. Двоїстість. Принцип двоїстості.
Символи &, V називаються двоїстими.
Формула А* називається двоїстій формулі A, якщо вона отримана з A одночасною заміною всіх символів &, V на двоїсті.
Наприклад,
A = xV(y&z);
A* = x & (yVz).
Теорема 4.1. (Принцип двоїстості).
Якщо A B, то A* B
Доведення принципу двоїстості можна знайти, наприклад, в [3].
Принцип двоїстості можна використати для знаходження нових правил. Наприклад, для 1-го закону поглинання (рівносильність 6а) маємо:
A&(AVB) A.
Дотримуючись принципу двоїстості, одержимо нову рівносильність:
AVA&B A (2- ий закон поглинання).
4.1.5. Булева алгебра (алгебра логіки). Повні системи булевих функцій
Як відомо, алгеброю називають систему, що включає в себе деяка непуста множина об'єктів із заданими на ньому функціями (операціями), результатами застосування яких до об'єктів даної множини є об'єкти тієї ж множини.
Булевою алгеброю або алгеброю логіки називається двохелементну множину B = {0, 1} разом з операціями кон’юнкції, диз'юнкції й заперечення.
Система булевих функцій {f1, f2, … , fn} називається повної, якщо будь-яка булева функція може бути виражена у вигляді суперпозиції цих функцій. З правил 12 – 16 (розділ 4.3) потрібно, що всі логічні операції можуть бути виражені через операції кон’юнкції, диз'юнкції й заперечення. Тому система функцій {, &, V} є повною. Також повними є наступні системи функцій:
а){, V}; б) {, &}; в) {, }.
Повнота систем {, V} и {, &}потрібно з повноти системи {, &, V}, а також законів де Моргана й подвійного заперечення, наслідком яких є можливість виразити кон’юнкцію через диз'юнкцію й навпаки: A&B(AVB); AVB (A&B). Тому система {, &, V} може бути скорочена на одну функцію:
Повнота системи {, } потрібно з повноти системи {, V} і Рівносильністи 12 (розділ 4.3), що дозволяє виразити імплікацію через заперечення й диз'юнкцію:
AB AVB.
Література
Капітонова Ю.В., Кривий С.Л., Летичевський О.А., Луцькиц Г.М., Печорін М.К. Основи дискретної математики. – К.: Наукова думка, 2002. – С.6-15.
Кужель О.В. Елементи теорії множин і математичної логіки. – К.: Рад. школа, 1977. – С. 4-24.
Новиков Ф.А. Дискретная математика для програмистов. – СПб.: Питер, 2002. – С.19-32.
Федосеева Л.И. Дискретная математика: Учеб.-практич. пособие. – Пенза: Изд-во Пенз. технол. ин-та, 1998. – С. 3-30.
Тема 4.2. Нормальні форми
Приведення формул булевих функцій до диз’юнктивної досконалої нормальної форми
Визначення 4.2.1. Елементарної кон’юнкцією називається кон’юнкція (можливо одночленна), складена зі змінних або заперечень змінних.
Приклад 4.2.1.
x, y, x&y, x1&x2&(x3) – елементарні кон’юнкції.
xVy, x1&x2 Vx1&x2 – не елементарні кон’юнкції.
Визначення 4.2.2. Диз'юнктивною нормальною формою (ДНФ) називається формула, що має вид диз'юнкції елементарних кон’юнкцій (у вырожденном випадку це може бути одна кон’юнкція).
Приклад 4.2.2.
x, x&y, x V x&(y), x1&x2&(x3) V x1&(x2)&x3 V x1&x2&(x3) – ДНФ.
(xVy)&x – не ДНФ.
Визначення 4.2.3. Досконалою диз'юнктивною нормальною формою (ДДНФ) називається така диз'юнктивна нормальна форма, кожен кон’юнктивний член якої містить всі змінні, або їхнього заперечення.
Приклад 4.8.
x&y, x&y V x&y – ДДНФ функції двох змінних.
xVx&y, xVy – не ДДНФ.
Визначення 4.2.4. Елементарною диз'юнкцією називається диз'юнкція (можливо одночленна), складена зі змінних або заперечень змінних.
Приклад 4.2.3.
x, y, xVy, x1Vx2V(x3) – елементарні диз'юнкції.
x&y, (x1Vx2) & (x1Vx2) – не елементарні диз'юнкції.
Визначення 4.2.5. Кон’юнктивною нормальною формою (КНФ) називається формула, що має вид кон’юнкції елементарних диз'юнкцій (у вырожденном випадку це може бути одна диз'юнкція).
Приклад 4.2.4
x, x&y, x & x&(y), (x1Vx2)&(x3)&(x1Vx2Vx3) – КНФ.
x&y V x – не КНФ.
Визначення 4.2.6 Досконалою конъюнктивной нормальною формою (ДКНФ) називається така кон’юнктивна нормальна форма, кожен диз'юнктивний член якої містить всі змінні, або їхнього заперечення.
Приклад 4.2.5
xVy, (xVy) &(xVy) – ДКНФ функції двох змінних.
x &(xVy), x&y – не ДКНФ.
Теорема 4.2.1 Для кожної формули булевої функції A є рівносильна їй диз'юнктивна нормальна форма (ДНФ) і кон’юнктивна нормальна форма (КНФ).
Доведення теореми складається просто у вказівці алгоритмів знаходження для будь-якої формули A рівносильних їй ДНФ і КНФ. Процес знаходження цих форм називається приведенням формули A відповідно до ДНФ і КНФ. Для кожної формули A є, загалом кажучи, нескінченна множина ДНФ і КНФ, але для рішення задач, у яких ці форми потрібні, потрібно, як правило, знайти принаймні одну з них.
Алгоритм 4.2.1 (Алгоритм приведення формул булевих функцій до ДНФ (КНФ)).
Крок 1. Всі підформули A виду B C (тобто утримуючу імплікацію) заміняємо на BVC або на (B&C).
Крок 2. Всі підформули A виду B ~ C (тобто утримуючу еквівалентність) заміняємо на ((A&B) V (A&B) або на (AVB)&(AVB) (відповідно до правил 13).
Крок 3. Всі заперечення, що стоять над складними підформулами, опускаємо за законами де Моргана (відповідно до правил 4, 19, 20).
Крок 4. Усуваємо всі подвійні заперечення над формулами (відповідно до правил 8).
Крок 5. Здійснюємо розкриття всіх дужок за законом дистрибутивності кон’юнкції щодо диз'юнкції для ДНФ (відповідно до правил 3а і 17) або за законом дистрибутивності диз'юнкції відносно кон’юнкції для КНФ (відповідно до правил 3б й 18).
Крок 6. для одержання більш простої формули доцільно використати правил 5, 6, 7, 9, 10, 11.
Очевидно, що в результаті всіх зазначених операцій формула має вигляд ДНФ або КНФ. Зазначені операції, загалом кажучи, можуть здійснюватися в будь-якому порядку, однак доцільно дотримуватися викладеного вище, за винятком зняття подвійних заперечень (крок 4), від яких варто позбуватися в міру їхньої появи.
Приклад 4.2.6
Приведемо
до ДНФ і КНФ розглянутого раніше в
прикладі 4.2.5 формулу f(x1,
x2,
x3)
= (x2
x3)
~(x1Vx2).
1. Усунувши імплікацію, одержимо:
(x2 Vx3) ~(x1Vx2).2. Застосувавши закон де Моргана до першої дужки й знявши подвійні заперечення, одержимо:
(x2&x3) ~ (x1Vx2).
3. Усунувши еквівалентність, одержимо:
(x2&x3) & (x1Vx2) V (x2&x3) & (x1Vx2).
4. Застосувавши закон де Моргана до другого члена диз'юнкції, одержимо
(x2&x3) & (x1Vx2) V (x2Vx3) & (x1& x2).
5. Застосувавши закон дистрибутивности 3а, одержимо
(x2&x3&x1 V x2&x3&x2) V (x2&x1&x2 V x3&x1&x2).
6. Застосувавши закони идемпотентности 5а й 5б, і розташовуючи змінні по зростанню індексів, одержимо:
x1&x2&x3 V x2&x3 V x1&x2 V x1&x2&x3.
7. Застосувавши 2-ої закон поглинання (6б), замість x1&x2&x3.V x2&x3 запишемо x2&x3, а замість x1&x2 V x1&x2&x3 запишемо x1&x2 й у результаті одержимо ДНФ нашої формули:
f(x1, x2, x3) x2&x3 V x1&x2
При приведенні до КНФ застосуємо закон дистрибутивности 3б й одержимо:
x2&x3 V x1&x2 x2Vx1) & (x2Vx2) & (x3Vx1) & (x3Vx2).
З огляду на, що. x2Vx2 1 (рівносильність 11) і застосувавши властивість 9а, одержимо остаточно КНФ для f(x1, x2, x3)
f(x1, x2, x3) x1Vx2) & (x1Vx3) & (x2Vx3).
Приведення деякої формули до ДНФ і КНФ не є однозначним. Кількість рівносильних ДНФ і КНФ, загалом кажучи, нескінченно. Однак, зроблені диз'юнктивні й кон’юнктивні нормальні форми (ДДНФ і ДКНФ) або не існують або єдині.
Теорема 4.2.2. Кожна формула A, не рівна тотожно нулю, може бути приведена до ДДНФ, що є єдиною з точністю до перестановки диз'юнктивних членів.
Теорема 4.2.3. Кожна формула A, не рівна тотожно одиниці, може бути приведена до ДКНФ, що є єдиною з точністю до перестановки кон’юнктивних членів.
Доведення цих теорем складається у вказівці алгоритму приведення формули А к ДДНФ і ДКНФ.
Алгоритм 4.2.2. (Алгоритм приведення формули булевої функції до ДДНФ)
Крок 1. Використовуючи алгоритм побудови ДНФ, знаходимо формулу В, що є ДНФ формули А.
Крок 2. Викреслюємо в B всі елементарні кон’юнкції, у яких одночасно входять яка-небудь змінна і її заперечення. Це обґрунтовується рівносильністями:
A&A 0, B&0 0, СV0 С.
Крок 3. Якщо в елементарної кон’юнкції формули B деяка змінна або її заперечення зустрічається кілька разів, то залишаємо тільки одне її входження. Це обґрунтовується законом идемпотентности для кон’юнкції: A&A A.
Крок 4. Якщо в елементарну кон’юнкцію З формули В не входить ні змінна x, ні її заперечення x, те на підставі 1- го закону розщеплення (рівносильність 7а) заміняємо С на (С&x) V (C&x).
Крок 5. У кожної елементарної кон’юнкції формули B переставляємо кон’юнктивні члени так, щоб для кожного i (i = 1, ..., n) на i-ом місці була або змінна xi, або її заперечення xi..
Крок 6. Усуваємо можливі повторення кон’юнктивних членів відповідно до закону ідемпотентності для диз'юнкції: СVС С.
Приклад 4.2.7.
Знайдемо ДДНФ формули із приклада 4.4:
f(x1,
x2,
x3)
= (x2x3)
~(x1Vx2).
1. Знайдена раніше в прикладі 4.12 ДНФ формули f(x1, x2, x3) має вигляд:
x2&x3 V x1&x2.
2. Кроки 2 й 3 алгоритми не потрібні (вони вже виконані), тому переходимо до кроку 4 і застосовуємо 1-ий закон розщеплення. У результаті замість кожного із двох кон’юнктивних членів одержимо дві елементарних кон’юнкції (усього їх буде чотири):
f(x1, x2, x3) x2&x3&x1 V x2&x3&x1V x1&x2&x3 V x1&x2&x3).
Після застосування кроку 5 одержимо:
f(x1, x2, x3) x1&x2&x3 V x1&x2&x3 V x1&x2&x3 V x1&x2&x3.
4. Крок 6 не потрібно. Знайдене вираження формули f(x1, x2, x3) є ДДНФ цієї формули.
Алгоритм знаходження ДКНФ повністю повторює алгоритм знаходження ДДНФ, якщо зробити двоїсту заміну & на V й V на &.
Приклад 4.2.8.
Знайдемо ДКНФ формули із приклада 4.4:
f(x1,
x2,
x3)
= (x2
x3)
~(x1Vx2).
1. Знайдена в прикладі 4.12 КНФ формули f(x1, x2, x3) має вигляд:
f(x1, x2, x3) x1Vx2) & (x1Vx3) & (x2Vx3).
2. Кроки 2 й 3 алгоритми не потрібні, тому переходимо до кроку 4 і застосовуємо 2-ий закон розщеплення (рівносильність 7б). Відповідно до цього закону:
x1Vx2 x1Vx2Vx3) & (x1Vx2Vx3).
x1Vx3 (x1Vx3Vx2)&(x1Vx3Vx2).
x2 Vx3 (x2Vx3Vx1) & (x2Vx3Vx1).
Тому маємо:
f(x1,x2,x3)x1Vx2Vx3)&(x1Vx2Vx3)&x1Vx3Vx2)&(x1Vx3Vx2)&(x2Vx3Vx1)&(x2 V x3Vx1).
3. Застосувавши крок 5, одержимо:
f(x1,x2,x3)(x1Vx2Vx3)&(x1Vx2Vx3)&(x1Vx2Vx3)&(x1Vx2Vx3)&(x1Vx2Vx3)&(x1 Vx2Vx3).
4. Зауважуємо, що 1-ий й 3-ій, а також 4-ий й 5-ий диз'юнктивні члени отриманого виразу збігаються, застосовуємо крок 6 й одержимо остаточно ДКНФ формули f(x1, x2, x3):
f(x1, x2, x3) (x1Vx2Vx3)&(x1Vx2Vx3)&(x1Vx2Vx3)&(x1Vx2Vx3).