- •Орієнтовні теоретичні питання до іспиту з курсу “Комп’ютерна дискретна математика”
- •1 Семестр 2012-2013 навчального року викл. Кублій л.І.
- •Типи задач, які подано в екзаменаційних білетах (аналогічні задачі розв’язуються на практичних заняттях і подано в домашніх завданнях)
- •Властивості операцій над множинами
- •Основна література.
- •Розміщення з повтореннями
- •Перестановки
- •Сполуки (комбінації)
- •Кількість способів розбиття множини́ на підмножи́ни
- •Сполуки (комбінації) з повтореннями
- •Формула включень і виключень
- •Метод математичної індукції
- •Домашнє завдання до теми “Основи комбінаторики.
- •Декартів добуток множин
- •Потужність множини. Рівнопотужні множини
- •Спеціальні бінарні відношення на множині
- •Замикання відношення
- •Перетворення формул в днф і кнф. Поліноми Жегалкіна
- •4. Метод перетворення вектора значень функції до вектора коефіцієнтів полінома Жегалкіна.
- •Функціональна повнота
- •1 Дослідження повноти системи шляхом зведення до повної системи.
- •3 Лінійність функції
- •4 Критерій Поста
- •5 Виділення базису повної системи: метод Петрика
- •Побудова тупикових, мінімальних, найкоротших днф
- •Ейлерові цикли
- •Префіксна й постфіксна форми запису виразів
Перетворення формул в днф і кнф. Поліноми Жегалкіна
I. Перетворення
формули функції в ДНФ чи КНФ Щоб
для будь-якої логічної функції, заданої
формулою, побудувати її ДНФ чи КНФ, треба
(1) спочатку в формулі всі операції
виразити через кон’юнкцію, диз’юнкцію
і заперечення, використовуючи
еквівалентності:
,
,
,
,
,
,
,
,
а також, (2) використовуючи закони де
Моргана
,
і закон подвійного заперечення
,
одержати формулу, в якій заперечення
стоятимуть лише над окремими змінними.
Після цього (3а) для побудови ДНФ треба
застосувати дистрибутивний закон
відносно
кон’юнкції
,
вилучити нулі
,
і застосувати закони тотожності
,
;
(3б) для побудови КНФ треба застосувати
дистрибутивний закон відносно
диз’юнкції
,
вилучити одиниці
,
і застосувати закони тотожності
,
.
Вказані закони й тотожності, які
застосовуються при побудові КНФ є
двоїстими до тих, які застосовуються
при побудові ДНФ.
Приклад (лек)1.
Для функції
побудувати ДНФ і КНФ.
Розв’язання. Виконаємо перетворення, враховуючи, що , :
ДНФ:
.
КНФ:
.
II. Одержання
ДДНФ із ДНФ, ДКНФ із КНФ.
(а) ДДНФ можна одержати із ДНФ шляхом
розщеплення елементарних кон’юнкцій
,
які не містять усіх змінних, застосовуючи
до них правило розщеплення:
і, якщо треба,
закони тотожності
і
і закон суперечності
.
Аналогічно (б) для побудови ДКНФ із КНФ
треба застосувати для розщеплення
диз’юнкцій
,
які не містять всіх змінних, правило
розщеплення:
і в разі потреби
— закони тотожності
,
і закон виключення третього
.
Задача (лек) 3.
Із ДНФ
одержати ДДНФ — застосувати для
розщеплення елементарних кон’юнкцій
,
які не містять всіх змінних, правило
розщеплення (це правило склеювання) у
зворотному напрямку
(до елементарної кон’юнкції у
— двічі)
Розв’язання.
Задача (лек)4.
Із КНФ
одержати ДКНФ.
Розв’язання.
III. Одержання
ДНФ із КНФ і навпаки.
(а) Для переходу від КНФ до ДНФ використовують
дистрибутивний закон
,
а також еквівалентності
,
,
,
і правила поглинання
і
.
Аналогічно (б) для переходу від ДНФ
до КНФ використовують дистрибутивний
закон
,
а також еквівалентності
,
,
,
і правила поглинання
і
.
Приклад (лек) 5.
Перетворити КНФ
в ДНФ.
Розв’язання.
.
Одержана ДНФ одночасно є і КНФ заданої функції.
Оскільки в одержаній формулі змінна z відсутня, то вона є фіктивною.
Приклад (пр) 5.
Перетворити КНФ
в ДНФ.
Розв’язання.
.
Приклад (пр)6.
Перетворити ДНФ
в КНФ.
Розв’язання.
.
Алгебра Жегалкіна. Канонічні багаточлени
Наведемо подання елементарних функцій від однієї і двох змінних через поліноми Жегалкіна:
,
,
,
,
,
,
,
,
.
1. Метод
невизначених коефіцієнтів. Якщо
кількість змінних n
невелика (не більше 4), то досить зручно
застосовувати метод
невизначених
коефіцієнтів.
Для цього треба записати поліном в
загальному вигляді (як і звичайний
алгебраїчний многочлен) з невідомими
коефіцієнтами
(
):
,
де
.
Для знаходження значень цих коефіцієнтів треба послідовно в загальний вигляд полінома підставити замість змінних всі можливі набори їхніх значень і розв’язати одержану систему рівнянь з невідомими.
► Приклад. Використовуючи метод невизначених коефіцієнтів, одержати поліном Жегалкіна для функції еквівалентності .
Розв’язання.
Оскільки дана функція залежить від 2
змінних, то поліном буде мати
доданки, серед яких
доданок нульового степеня,
— першого степеня і
доданок другого степеня. Подамо функцію
через поліном другого степеня загального
вигляду:
.
Побудуємо таблицю істинності функції :
Послідовно підставимо в поліном всі значення аргументів і значення функції і одержимо систему чотирьох рівнянь з чотирма невідомими:
З першого рівняння
маємо
;
підставимо а в друге рівняння,
матимемо
,
звідки (додавши до обох частин рівності
1, матимемо
)
знаходимо
;
з третього рівняння аналогічно маємо
,
отже,
;
з четвертого рівняння маємо
,
отже,
.
Знайдені коефіцієнти підставимо в
загальний вигляд поліному:
і одержимо результат:
. ◄
2. Перетворення
формул над множиною операцій
.
Інший метод
базується на перетвореннях
формул над
множиною операцій
.
При застосуванні методу перетворень
будують формулу, яка реалізує задану
функцію за допомогою операцій кон’юнкції
і доповнення, а потім доповнення замінюють
підформулами вигляду
,
для розкриття дужок використовують
закон дистрибутивності
,
а також враховують еквівалентності
,
,
,
.
Елементарні функції від двох аргументів
виражаються через
операції кон’юнкції і доповнення
так:
, , ,
, , ,
, .
Задача (пр) 9. Використовуючи перетворення формул над множиною операцій , подати у вигляді полінома Жегалкіна функції
►
3. Перехід від
ДДНФ до поліному Жегалкіна.
Якщо для
функції
побудовано ДДНФ або функція задана
своїми значеннями (і ДДНФ легко
побудувати), то від
ДДНФ швидко
можна перейти
до поліному Жегалкіна.
Цей перехід базується на таких міркуваннях.
Оскільки ДДНФ функції подається
диз’юнкцією її конституент одиниці
,
то кожна окрема конституента
набуває значення 1 лише на єдиному
певному наборі значень аргументів, а
на всіх інших наборах вона набуває
значення 0. Якщо при цьому знаки диз’юнкції
замінити знаками операції додавання
за модулем 2, то функція
набуватиме значення 1 на тих самих
наборах значень аргументів (за рахунок
того, що лише один доданок буде дорівнювати
1), що і функція
.
Тобто
.
Якщо скористатися рівністю
і в окремих кон’юнкціях розкрити дужки,
а потім звести подібні члени, то одержимо
поліном Жегалкіна.
► Приклад.(пр)
Шляхом перетворення ДДНФ функції
побудувати поліном Жегалкіна.
Розв’язання. ДДНФ даної функції має вигляд:
.
Замінимо знаки диз’юнкції знаками додавання за модулем 2 і проведемо перетворення:
.
