- •Одеса Наука і техніка 2006
- •Розділ 1. Теорія множин і алгебраїчних систем
- •1.1. Основні поняття і завдання множин
- •1.2. Операції над множинами. Формули. Тотожності
- •1.3. Доведення тотожностей. Булева алгебра множин
- •1.4. Узагальнення операцій. Подвійність
- •Спісок літератури: Основна
- •2.1. Рівняння
- •2.2. Покриття і розбивки
- •2.3. Потужність множин. Зчисленні і континуальні множини
- •Список літератури Основна
- •3.1. Упорядковані множини
- •3.2. Графіки
- •Список літератури Основна
- •4.1. Відповідності
- •4.2. Образи і прообрази
- •4.3. Відображення і діаграми
- •Список літератури Основна
- •5.1. Основні поняття відношень
- •5.2. Множинні операції відношень
- •Список літератури Основна
- •6.1. Перестановка, ототожнення, приписування фіктивної координати
- •6.2. Згортка де Моргана, суперпозиція
- •Список літератури Основна
- •7.1. Успадковані властивості відношень
- •7.2. Спеціальні властивості відношень
- •Список літератури Основна
- •8.1. Еквівалентність
- •8.2. Порядок
- •8.3. Толерантність
- •8.4. Квазіпорядок
- •Список літератури Основна
- •9.1. Замикання відношень
- •9.2. Спеціальні функції
- •9.2.1. Підстановки
- •9.2.2. Послідовності
- •9.2.3. Функціонали
- •9.2.4. Функції, що зберігають алгебраїчні властивості
- •9.3. Операції
- •9.3.1. Загальні визначення операцій
- •9.3.2. Властивості операцій
- •Список літератури Основна
- •10.1 Композиція об'єктів
- •10.2. Внутрішній закон композиції
- •11.1 Алгебраїчні системи (моделі)
- •11.2. Групи підстановок і кільце множин
- •Розділ II. Комбінаторика
- •12.1. Вибірка елементів
- •12.2. Правило суми і добутку
- •12.3. Перестановки
- •12.4. Сполучення
- •12.5. Рекурентні співвідношення
- •12.6. Біном Ньютона
- •Список літератури Основна
- •13.1. Поліноміальні твірні функції
- •13.2. Експонентні твірні функції
- •13.3. Принцип включення і виключення
- •13.4. Розбивки
- •Список літератури Основна
- •Розділ III. Графи
- •14.1. Основні визначення
- •14.2. Способи представлення графів
- •Список літератури Основна
- •15.1. Основні визначення (продовження)
- •15.2. Зважені (відзначені) графи
- •Список літератури Основна
- •16.1. Операції над графуми
- •16.2. Властивості базових операцій над графами
- •Список літератури Основна
- •17.1. Чисельні характеристики графів
- •17.1.1. Ступінь вершин
- •17.1.2. Цикломатичне число
- •17.1.3. Хроматичне число
- •17.1.4. Множина внутрішньої стійкості
- •17.1.5. Множина зовнішньої стійкості
- •17.2. Представлення графів у пам'яті еом
- •Список літератури Основна
- •Розділ IV. Скінченні автомати
- •18.1. Абстрактний автомат
- •18.2. Способи завдання автоматів
- •18.2.1. Табличний спосіб
- •18.2.2. Графічний спосіб
- •18.3. Розширення функцій і
- •Список літератури Основна
- •19.1. Синхронні й асинхронні автомати
- •19.2. Асинхронні автомати, що тактуються
- •19.3. Перетворення автоматів Мілі і Мура
- •19.3.1. Перетворення автомата Мура в автомат Мілі
- •19.3.2. Перетворення автомата Мілі в автомат Мура
- •19.4. Сполучена модель автоматів – с-автомат
- •Список літератури Основна
- •20.1. Композиція автоматів
- •20.1.1. Рівнобіжне з'єднання
- •20.1.2. Послідовне з'єднання двох автоматів
- •20.1.3. З'єднання зі зворотним зв'язком
- •20.2. З'єднання автоматів з вихідною функцією
- •Список літератури Основна
- •21.1. Мережі автоматів
- •21.2. Еквівалентні автомати мережі
- •Список літератури Основна
- •Розділ V. Булева алгебра
- •22.1. Логічні функції
- •22.2. Булеві функції
- •22.3. Логічні формули
- •Список літератури Основна
- •23.1. Способи завдання булевих функцій
- •23.1.1. Табличний спосіб
- •23.1.2. Аналітичний спосіб Нормальні форми
- •23.1.3. Геометричний спосіб
- •23.1.4. Чисельний спосіб
- •23.2. Приведення формул булевої алгебри до досконалої форми
- •Список літератури Основна
- •24.1. Булева алгебра
- •24.2. Спрощення запису формул
- •24.3. Подвійність формул булевої алгебри
- •24.4. Булева алгебра множин
- •Список літератури Основна
- •25.1. Алгебра Жегалкіна
- •25.2. Типи булевих функцій
- •25.3. Функціональна повнота
- •25.4. Логічні (перемикальні) схеми
- •25.5. Канонічна задача синтезу логічних схем
- •Список літератури Основна
- •26.1. Графічний метод мінімізації булевих функцій
- •26.2. Табличний метод мінімізації
- •Список літератури Основна
- •27.1. Аналітичні методи мінімізації
- •27.1.1. Комплекс кубів
- •27.1.2. Постановка задачі
- •27.2. Метод Квайна
- •27.3. Алгебраїчний метод одержання мінімального покриття (алгоритм Петрика)
- •Список літератури Основна
- •28.1. Метод Квайна-МакКласкі
- •28.2. Мінімізація частково визначених функцій
- •Список літератури Основна
- •29.1 Основні визначення
- •29.2 Інтервальне представлення в матричній формі
- •29.3. Спрощення днф за матричною формою Закревського
- •30.1. Формулювання алгоритму побудови максимальних інтервалів для точки
- •30.2. Алгоритм для днф
- •30.3. Метод Блейка
- •31.1. Основні визначення
- •32.2. Використання системи булевих функцій для синтезу кс
- •31.3 Точний метод мінімізації систем булевих функцій Барті-Полянського
- •31.4. Інтуїтивний метод спрощення системи днф за матричною формою
- •32.1. Інтервальне представлення в еом
- •32.2. Основні операції над інтервальним представленням
- •33.1. Використання операцій інтервального представлення
- •33.2. Метричні властивості диз'юнктивної нормальної форми
- •34.1 Булеві рівняння
- •34.2. Булеві нерівності
- •34.3. Спільні системи нерівностей і рівнянь
- •35.1. Властивості булевой різниці
- •35.2. Методи знаходження булевой різниці
- •35.3. Подвійна булева різниця
- •35.4. Булеві похідні й диференціали
- •36.1. Висловлення предикатів
- •36.2. Логіка предикатів
- •36.3. Правила застосування кванторів
- •Список літератури Основна
- •Список літератури
- •Вступ 3
- •1. Теорія множин і алгебраїчних систем 4
- •2. Комбінаторика 65 Лекція 12. Комбінаторика. Базові методи 65
- •3. Графи 78
- •4. Скінченні автомати 101
- •5. Булева алгебра 123 Лекція 22. Булеві функції 123
35.3. Подвійна булева різниця
Становить інтерес випадок реакції виходу функції з появою змін для декількох змінних функції. Зміну двох змінних може бути проаналізовано за допомогою подвійної булевої різниці.
Визначення. Подвійною булевою різницєю функції F(х1,x2,...,хi,...,хj,...,xn) щодо змінних хi і хj називається вираз виду
d2F(Х)/dхidхj = F(x1, х2,..., хi,...,хj,...,xn) F(x1, x2 ,...,хi,...,хj,...,хn).
Приклад. Нехай дана функція F(X) = x1+x2+x3, звідси треба, що
d2F(x)/dхidхj = (x1+x2+x3) (x1+x2+x3) = =(x1+x2+x3)(x1+x2+x3) + (x1+x2+x3) (x1+x2+x3) = = x1x2x3+ x1x2x3 = x3(x1x2+ x1x2).
При визначенні d(х1, x2, x3)/dх2 методом карт Карно дві карти (табл.. 35.5 і 35.6) складаються по модулі 2 у такий спосіб (табл.. 35.7)
d2F(Х)/dхidхj = F(x1, х2, х3) F(x1, x2, х3).
Таблиця 35.5
F x2,x3 x1 |
00 |
01 |
11 |
10 |
0 |
|
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
Таблиця 35.6
F x2,x3 x1 |
00 |
01 |
11 |
10 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
Таблиця 35.7
F x2,x3 x1 |
00 |
01 |
11 |
10 |
0 |
1 |
|
|
|
1 |
|
|
|
1 |
Отже, d2F(x)/dхidхj = x3(x1x2+ x1x2).
Булева різниця другого порядку, задана рівнянням визначення, відмінна від операції d(d(x)/dхj)/dхi, тобто
d2F(Х)/dхidхj d(d(x)/dхj)/dхi
Визначення. Булева функція F(х1,x2,...,хi,...,хj,...,xn) не залежить від змінних хi і хj, якщо F(х1,x2,...,хi,...,хj,...,xn) не змінюється при зміні хi і хj на інверсні, тобто, якщо
F(х1,x2,...,хi,...,хj,...,xn) = F(х1,x2,...,хi,...,хj,...,xn)
Теорема. Щоб F(Х) не залежала від змінних хi і хj, необхідно й досить виконання умови d2F(Х)/dхidхj = 0.
Визначення й теорема справедливі тільки для випадку одночасної появи змін у хi і хj, що відмінно від випадку подвійної зміни, тому що останній містить у собі також й одиночні зміни хi або хj.
Таким чином, можна виділити випадки:
Різниця для визначення реакції на дві зміни в хi і хj
d2F(Х)/dхidхj = d(Х)/d(хiхj) = = F(х1,x2,...,хi,...,хj,...,xn) F(х1,x2,...,хi,...,хj,...,xn).
Різниця для визначення реакції на зміну або в хi, або в хj
d(Х)/d(хiхj) = = d(Х)/dхi + d(Х)/dхj.
Різниця для визначення реакції на зміну або в хi, або в хj, або в хi і хj одночасно
d(Х)/d(хi+хj) = = d(Х)/d(хiхj) + d(Х)/d(хiхj).
35.4. Булеві похідні й диференціали
Визначення. Частковою булевою похідною df(x)/dxi функції f(x) від змінних х0, х1, .. ., хi, ..., хп по змінній хi є сума додавання по модулю 2 для f(x):
ðf(x)/ ðхi = f(x0, х1,..., хi,...,xn) f(x0, x1 ,..., хi,...,хn)
Тотожним даному визначенню є таке визначення часткової БП:
ðf(x)/ ðхi = f(x0, х1,... , хi-1, l, хi+1,…, xn) f(x0, х1,... , хi-1, 0, хi+1,…, xn)
Визначення. Частковим булевим диференціалом (БД) функції dXi f(x) називається приріст функції f(x) при приросту змінної xi, на dxi:
dXi f(x) = f(x) f(xi dxi )
Існує така залежність між частковим БД і частковою булевою похідною:
dXi f(x) = (ðf(x)/ ðхi)dхi.
Властивості часткової булевой похідній (БП) й операції додавання по модулю 2 відомі. Частковий БД є параметричною формою часткової булевой похідній з параметром dxi і має ті ж властивості.
Найбільш важлива властивість часткової БП полягає в тому, що коли часткова БП дорівнює одиниці, значення функції f(x) відрізняються для прямого й оберненого значення змінної xi. Коли часткова БП дорівнює нулю, функція f(x) має те саме значення для прямого й оберненого значення змінної xi.
Також застосування знайшли повні булеві диференціали.
Визначення. Повним булевим диференціалом функції f(x) називається приріст цієї функції при приросту вхідного вектора X на d:
ðf(x)/ðX = df(x) = f(x) f(X d)
Існує такий вираз для повного БД:
ðf(x) = l (ðf(x)/ðXl)dXl
Якщо (X0, X1) є розбивкою вхідного вектора X, то вираз ðf(d0 = 1, d1 = 0) = f(X0, X1) f(X0, X1) одержало назву функції чутливості Rf(x)/RX0 від функції f(x) по змінних у точці. За допомогою функції Rf(x)/RX0 повний булев диференціал визначається як диз'юнкція всіх функцій чутливості:
df(x) = l (Rf(x)/RXl) d1 (0<l<=2n-1)
Існують залежності між функціями чутливості й частковими похідними:
Rf(x)/RX0 = l ðf(x)/ðXl (0<l<=2p-1)
ðf(x)/ðX0 = l Rf(x)/RXl0 (0<l<=2p-1),
де p — число змінних у крапці Х0 .
Булеві диференціали, визначенні раніше, є неорієнтованими й не дають напрямок зміни функції з 1 в 0, або з 0 в 1.
Визначення. Булев диференціал, орієнтований на збільшення df(x), є булевою функцією, що дорівнює 1, тоді й тільки тоді, коли f(x) змінюється при зміні Х з 0 в 1. Булев диференціал, орієнтований на зменшення df(x), є булевою функцією, що дорівнює 1, тоді й тільки тоді, коли f(x) змінюється при зміні X з 1 в 0.
З визначень випливає зв'язок між орієнтованими неорієнтованими БД:
df(x) = f(x)df(x);
df(x) = f(x)df(x).
Можна увести поняття часткового орієнтованими БД (ОБД) і часткових орієнтованих булевых похідних (ОБП) і досліджувати їхнї властивості. З урахуванням виразів зв’язку між орієнтованими і неорієнтованими БД можна записати співвідношення між частковими ОБД і БД:
dxi f(x) = f(x)dxi f(x);
dxi f(x) = f(x)dxi f(x) .
Використовуючи залежності між частковими БП і БД, рівності відношень між частковими ОБД і БД можна представити у вигляді
dxi f(x) = f(x) (ðf(x)/ðхi) dxi;
dxi f(x) = f(x) (ðf(x)/ðхi) dxi.
Визначення. Частковою булевою похідною, орієнтованою на збільшення ðf(x)/ðхi, називається вираження вигляду f(x) (ðf(x)/ðхi). Частковою булевою похідною, орієнтованою на зменшення ðf(x)/ðхi, називається вираження вигляду f(x) (ðf(x)/ðхi).
З урахуванням визначень для співвідношень між частковими ОБД і БД часткові ОБД можна представити у вигляді
dxi f(x) = (ðf(x)/ðхi) dxi;
dxi f(x) = (ðf(x)/ðхi) dxi.
Підставивши в ОБД початкове вираження часткової БП, можна одержати такі вирази:
ðf(x)/ðхi = f(xi)f(xj);
ðf(x)/ðхi = f(xi) f(xj) .
Розв’язання ціх рівнянь, що дорівнює 1, визначає набори вхідних змінних, у яких зміна значення xj на протилежне приводить до зміни значення функції відповідно з 0 в 1 або з 1 в 0. При цьому змінна xi може мінятися як з 0 в 1 , так і з 1 в 0, тобто є неорієнтованою. Орієнтація диференціала змінної хi приводить до таких співвідношень для часток ОВД:
dxi f(x) = f(xi=1)f(xi=0) dxi f(xi=1) f(xi=0) dxi;
dxi f(x) = f(xi=1)f(xi=0) dxi f(xi=1) f(xi=0) dxi.
Визначення. Прямою орієнтованою булевою похідною [ðf(x)/ðхi]п називається вираження вигляду f(xi=1)f(xi=0), що визначає умови, при яких диференціали dxi й dxi f(x) мають однакову орієнтацію. Оберненою орієнтованою булевою похідною [ðf(x)/ðхi]0 назвемо вираження вигляду f(xi=1)f(xi=0), що визначає умови, при яких диференціали dxi й dxi f(x) мають різну орієнтацію.
З визначень ОБД слідує, що розв’язання першого рівняння нижче, отримане з умови, що пряма ОБП дорівнює одиниці, активізує у логічній схемі, що реалізує дану булеву функцію, шляхи з парним числом інверторів, а розв’язання, отримане з другого рівняння за умови, що зворотна ОБП дорівнює 1, активізує шляхи з непарним числом інверторів:
[ðf(x)/ðхi]п = f(xi = 1)f(xi=0) = 1;
[ðf(x)/ðхi]0 = f(xi = 1) f(xi=0) = 1.
Якщо представити функцію f(x) у вигляді f(x) = xi f(xi = 1)xi f(xi = 0), то можна одержати наступні залежності ОБП від прямої й оберненої ОБП:
ðf(x)/ðхi = хi [ðf(x)/ðхi]п хi [ðf(x)/ðхi]про;
ðf(x)/ðхi = хi [ðf(x)/ðхi]про хi [ðf(x)/ðхi]про.
Орієнтовані булеві похідні мають нову якість і порівняно зі звичайними БП мають відмінні від них властивості. У зв'язку з цим нижче наводяться основні властивості ОБП.
ðf(x)/ðхi = ðf(x)/ðхi; ðf(x)/ðхi = ðf(x)/ðхi.
ðf(x)/ðхi = ðf(x)/ðхi; ðf(x)/ðхi = ðf(x)/ðхi.
ð(f(x)g(x))/ðхi = g(x) ðf(x)/ðхi f(x) ðg(x)/ðхi.
ð(f(x)g(x))/ðхi = g(x) ðf(x)/ðхi f(x) ðg(x)/ðхi.
ð(f(x) g(x))/ðхi = g(x) ðf(x)/ðхi f(x) ðg(x)/ðхi.
ð(f(x) g(x))/ðхi = g(x) ðf(x)/ðхi f(x) ðg(x)/ðхi.
ð(f(x) g(x))/ðхi = g(x)g(x)ðf(x)/ðхi g(x) g(x) ðf(x)/ðхi f(x)f(x)ðg(x)/ðхi f(x) f(x) ðg(x)/ðхi.
ð(f(x) g(x))/ðхi = g(x)g(x)ðf(x)/ðхi g(x) g(x)ðf(x)/ðхi f(x)f(x)ðg(x)/ðхi f(x) f(x)ðg(x)/ðхi.
Властивості прямої й оберненої ОБП можна вивести з цих відношень.
[ðf(x)/ðхi]п = [ðf(x)/ðхi]про [ðf(x)/ðхi]про = [ðf(x)/ðхi]п
[ðf(x)/ðхi]п = [ðf(x)/ðхi]про [ðf(x)/ðхi]про = [ðf(x)/ðхi]п
[ð(f(x)g(x))/ðхi]п = g(x=1)(ðf(x)/ðхi]n f(x=1)(ðg(x)/ðхi]n
[ð(f(x) g(x))/ðхi]про =g(x=0)(ðf(x)/ðхi]про f(x=0)(ðg(x)/ðхi]про
[ð(f(x) g(x))/ðхi]п = g(x=0)(ðf(x)/ðхi]n f(x=0)(ðg(x)/ðхi]n.
[ð(f(x) g(x))/ðхi]про = g(x=1)(ðf(x)/ðхi]про f(x=1)(ðg(x)/ðхi]про
[ð(f(x) g(x))/ðхi]п = g(x=1)g(x=0)(ðf(x)/ðхi]n g(x=1)g(x=0)(ðf(x)/ðхi]про f(x=1)f(x=0)(ðg(x)/ðхi]n f(x=1)f(x=0)(ðg(x)/ðхi]про
[ð(f(x) g(x))/ðхi]o = g(x=1)g(x=0)(ðf(x)/ðхi]o g(x=1)g(x=0)(ðf(x)/ðхi]n f(x=1)f(x=0)(ðg(x)/ðхi]o f(x=1)f(x=0)(ðg(x)/ðхi]n
Приклад. Можна обчислити частки ОБД й ОБП за змінною х2 функції f(x) = х1х2 х2х3.
Булева похідна, орієнтована на зменшення, за змінною х2 дорівнює ðf(х) /ðх2 = (xtx2 х2x3) (x1x2 х2х3) = х1х2х3, х1х2х3. Звідси набори х1 = 1, х2 = 1, хэ = 0 і х1 = 0, х2 = 0, х3 = 1 визначають умови чутливості функції до змінного х2. При цьому зміна значення х2 на протилежне (з 1 в 0 у наборі 110 або з 0 в 1 у наборі 001) приводить до зміни функції з 1 в 0.
Булева похідна, орієнтована на збільшення, по змінній х2 дорівнює ðf(х) /ðх2 = (xtx2 х2x3) (x1x2 х2х3) = х1х2х3, х1х2х3. Звідси зміна змінної х2 з 1 в 0 у наборі 011 або зміна х2 з 0 в 1 у наборі 100 приводить до зміни значення функції з 0 в 1.
Пряма й обернена ОБП для змінної х2 мають вигляд [ðf(х) /ðх2]n = х1х2; [ðf(х) /ðх2]o = х1х2.
Часткові ОБД визначаються так dx2 f(x) = (ðf(х) /ðх2)dx2 = (x1x2x3 x1x2x3)dx2 = x1x3 dx2 x1x3 dx2; dx2 f(x) = =(ðf(х) /ðх2)dx2 = (x1x2x3 x1x2x3)dx2 = x1x3 dx2 x1x3 dx2. З ОБД, орієнтованого на зменшення, треба, що зміна функції з 1 в 0 досягається зміною х2 з 1 в 0 за умови х1 = 1, х3 = 0 або зміною х2 з 0 в 1 за умови х1 = 0, х3 = 1. ОБД, орієнтований на збільшення, дорівнює 1 при зміні х2 з 1 в 0 при x1 = 0, х3 = 1 або при зміні х2 з 0 в 1 при х1 = 1, х3 = 0.
Контрольні питання
Що є булевою різницею?
Які властивості має булева різниця?
Чім відрізняються карти Карно і Хсиао Скотта для булевої різниці?
Що є подвійною булевою різницею?
Що розуміється під частковими булевими похідною і диференціалом?
Чим відрізняються повні булеві диференціали від часткових?
Яка залежність між функціями чутливості й частковими похідними?
Що називається орієнтованими булевими диференціалами й похідними?
У чому різниця повних і часткових орієнтованих булевих похідних і диференціалів?
Список літератури
Основна
Селлерс Ф. Методы обнаружения ошибок в работе ЭВМ. – М.: Мир, 1974. - С.32-41.
Додаткова
Бохман Д., Постхоф Х. Двоичные динамические системы. М.: Энергоатомиздат, 1986. - С.66-167.
Для практичних занять
Методичні вказівки і завдання до контрольних робіт з дисципліни «Основи дискретної математики» для студентів очної та заочної форм навчання фахів 6.0804, 6.0915 / О.М. Мартинюк. – Одеса: ОНПУ, 2001. – С.45-50.
Лекція 36. Логіка предикатів
Вступ
Лекція має за мету навести базові поняття логікі предикатів. Розглянути висловлення предикатів, аргументи-терми, квантори, зміни арності предикатів, а також правила використання кванторів. Звернено увагу до наведених форм, формул, та використання предикатів.
У лекції присутні три підрозділи:
Висловлення предикатів
Логіка предикатів
Правила застосування кванторів