
- •Дерева. Означення та основні властивості.
- •Кореневе дерево. Упорядковане кореневе дерево, m-арне дерево, повне m-арне дерево.
- •Властивості повного m-арного дерева. Рівень вершини і висота кореневого дерева. Збалансоване дерево.
- •Обхід бінарних дерев (три способи).
- •6.Інфіксна форма запису.
- •7. Префіксна форма запису виразів (прямий польський запис).
- •8. Постфіксна форма запису виразів. (обернений польський запис).
- •9. Бінарне дерево пошуку.
- •10. Дерево прийняття рішень.
- •11. Алгоритм бектрекінг. Приклади: пошук гамільтонових циклів у графі, задача про n ферзів та інші задачі.
- •12. Каркаси графів. Способи їх побудови.
- •13. Задача про мінімальний каркас. Алгоритм Краскала.
- •14. Відношення. Означення відношення із однієї множини в іншу, n-арні відношення. Означення відношення на множині. Бінарні відношення. Властивості відношень. Способи задання бінарних відношень.
- •15. Відношення еквівалентності.
- •16. Відношення часткового порядку.
- •17. Рефлексивне замикання відношення. Симетричне замикання відношення.
- •18. Транзитивне замикання відношення. З’єднувальне відношення.
- •19. Алгоритм Уоршала.
- •20. Постановка проблеми кодування, її значення в інформатиці. Алфавітне і рівномірне кодування. Достатні умови однозначності алфавітного кодування.
- •21. Властивості однозначного алфавітного кодування. Нерівність Крафта-Макміллана.
- •22. Задача оптимального кодування. Метод Фано побудови «економних» кодів.
- •23. Метод Хаффмана побудови оптимального коду.
- •24. Коди, стійкі до перешкод. Загальна теорія.
- •25. Коди, стійкі до перешкод: коди Хемінга.
- •26. Булеві функції. Означення, задання таблицями і формулами, істотні і неістотні змінні.
- •27. Диз’юктивні нормальні форми.
- •28. Кон'юктивні нормальні форми.
- •29. Поліном Жегалкіна
- •30. Алгебри булевих функцій
- •31. Алгебра Жегалкіна
- •35. Клас l. Лема про нелінійну функцію.
- •36. Теорема Поста.
- •37. Постановка задачі мінімізації булевих функцій.
- •38. Методи Квайна та Мак-Класкі.
- •39. Імплікантна таблиці Квайна. Метод Петрика відбору тупікових днф.
- •40. Граматики з фразовою структурою.
- •42. Скінченні автомати з виходом. Способи задання, приклади.
- •43. Скінченні автомати без виходу. Способі задання приклади.
- •44. Машина Тьюрінга.
31. Алгебра Жегалкіна
Множину P2 всіх булевих функцій разом з уведеною на ній системою операцій називають алгеброю булевих функцій. Алгебру (P2; ^, +) з операціями кон. та додавання за mod2 називають алгеброю Жегалкіна.
Формули цієї алгебри будують зі знаків операцій, круглих дужок, букв x,y,z…і констант 0 та 1. Букви позначають довільні булеві функції, при цьому булеві змінні розглядають як окремий випадок булевих функцій. Знак кон. ^ у формулах зазвичай не пишуть. Якщо немає дужок, пріоритет операцій в алгебрі Жегалкіна такий: спочатку виконується кон., а потім – додавання за mod2. За наявності дужок спочатку виконуються операції всередині їх.
Закони алгебри Жегалкіна:
Асоціативності (XY)Z=X(YZ)=XYZ, (X+Y)+Z=X+(Y+Z)=X+Y+Z;
Комутативності XY=YX, X+Y=Y+X;
Дистрибутивності (X+Y)Z=XZ+YZ;
Ідемпотентності XX=X;
Співвіднош. для констант 1Х=Х, 0Х =0, Х+0=X;
Зведення подібних членів у разі додавання за mod2 X+X=0
32. Замкнені класи булевих функцій.
Класи T0 та T1 Множину К булевих функцій називають замкненим класом, якщо довільна суперпозиція функцій із К також належить К. Будь-яка система Q булевих функцій породжує якийсь замкнений клас. Цей клас складається з усіх функцій, які можна одержати суперпозиціями функцій із Q, його називають замиканням Q.
Існує 5 найважливіших замкнених класів:
Клас T0 функцій, що зберігають 0;
Клас Т1 функцій, що зберігають 1;
Клас S самодвоїстих функцій;
Клас M монотонних функцій;
Клас L лінійних функцій;
Клас Т0 функцій, що зберігають 0. Булеву функцію f(x1,…,xn) називають функцією, яка зберігає 0, якщо f(0,…,0)=0.
Наприклад, функції 0,x,xy,XvY,X+Y зберігають 0, тобто належать класу Т0, а функції 1, ˥X, X→Y – не зберігають, тобто не належать класу Т0. Таблиця значень функції з класу Т0 містить 0 у першому рядку. Отже у класі Т0 є ½*22^n булевих функцій, що залежить від n змінних.
Т. Т0 – замкнений клас. Інакше кажучи, із функцій, що зберігають 0, суперпозицією можна одержати лише функції, які зберігають 0.
Д. Клас Т0 містить тотожну функцію. Отже, досить показати, що функція F(x1,….,xn) = f(f1(x1,…,xn),……,fm(x1,….,xn)) зберігає 0, якщо функції f,f1,f2,…,fm зберігають 0. Справді, f(f1(0,…,0),f2(0,…,0),…,fm(0,…,0))=f(0,…,0)=0.
Н. Повна система функцій має містити хоча б одну функцію, яка не зберігає 0.
Клас T1 функцій, що зберігають 1. Булеву функцію f(x1,….,xn) називають функцією, яка зберігає 1, якщо f(1,…,1)=1.
Наприклад, функції 1,X,XY,XvY,X->Y належать класу T1, а ф-ії 0, ˥Х, X+Y – ні.
Т. Т1 - замкнений клас
Д. Т1 містить тотожну функцію. Отже, досить довести, що функція F(x1,…,xn)=f(f1(x1,…,xn),….,fm(x1,…,xn)) зберігає 1, якщо функції f,f1,….,fm зберігають 1. Справді, f(f1(1,…,1),….,fm(1,…,1))=f(1,…,1)=1.
Н. Повна система функцій має містити хоча б одну функцію, яка не зберігає 1.
33. Клас S. Лема про несамодвоїсту функцію.
Булеву функцію f(x1,….,xn) називають самодвоїстою, якщо вона набуває протилежних значень на протилежних наборах значень змінних: f(x1,x2,…,xn)= ˥f(˥x1, ˥x2,…, ˥xn).
Самодвоїсті: x, ˥x, x1+x2+x3. Несамодвоїсті: x1x2, x1 v x2, x1->x2
Т-ма. Клас S самодвоїстих ф-цій замкнений.
Н. Повна система булевих ф-цій повинна містити хоча б одну несамодвоїсту функцію.
Л. Із несамодвоїстої функції f(x1,…,xn) підстановкою функцій x та ˥х можна отримати несамодвоїсту функцію однієї змінної, тобто константу.
Д. Нехай f(x1,….xn) не належить S. Отже існує хоча б один набір an=(a1,…,an) значень змінних такий, що f(a1,….,an)=f(˥a1,.., ˥an). За набором аn=(a1,…,an) визначимо допоміжні функції ϕі (х), і=1….n:
Х, якщо аі=0
Φi= ˥Х, якщо аi=1
Легко переконатись, що ці функції мають властивість ϕі(0)=аі , ϕі(1)= ˥аі (і=1….n). Розглянемо функцію φ(x)=f(ϕ1(x)….ϕn(x)). Її отримано з функції f(x1…xn) підстановкою х та ˥ х. Функція φ(х) – константа, бо φ(0)=f(ϕ1(0)….ϕn(0))=f(a1,…,an)=f(˥a1,.., ˥an)=f(ϕ1(1),…,ϕn(1))=φ(1).
34. Клас M. Лема про немонотонну функцію.
Функцію f(xn)=f(x1,…,xn) називають монотонною, якщо для будь-яких двійкових наборів an і bn із того, що an≤bn, випливає, що f(an)≤f(bn).
Монотонні: 0, 1, х, х1х2, x1 v x2
Немонотонні: x1+x2, x1->x2, ˥x
Т. Клас М монотонних функцій замкнений.
Н. Повна система булевих функцій повинна містити хоча б одну немонотонну функцію.
Л. Із немонотонної функції підстановкою констант 0, 1, і функції X можна отримати функцію ˥Х.
Д. Нехай f(xn) не належить M. Отже, існують такі два набори an=(a1,…,an). bn=(b1,…,bn) значень змінних x1,…,xn, що an≤bn але f(an)>f(bn), тобто f(an)=1, f(bn)=0.
Якщо an та bn відрізняються k компонентами, то в цих компонента у наборі an є нулі, а в наборі bn – одиниці. Підставимо у функцію f(xn) замість змінних, яким у наборах an та bn відповідають однакові значення, просто ці значення, а на місце решти k змінних – функцію х. Тоді отримаємо функцію однієї змінної g(x). З урахуванням того, що f(an)=1, f(bn)=0, одержимо, що g(0)=f(an)=1, g(1)=f(bn)=0. Отже g(x)= ˥x.