
- •6.050102 “ Комп’ютерна інженерія” та 6.050101 “Комп’ютерні науки”
- •1. Графи. Основні поняття та визначення
- •1.1. Визначення графа
- •1.2. Типи скінченних графів
- •1.3. Суміжність та інцидентність
- •1.4. Способи задання графів
- •1.5. Маршрути і підграфи
- •На орграфі рис. 1.4, а маршрут (е1, е2, е5) – простий шлях, що є контуром, а маршрут (е1, е2, е3) – простий неконтурний шлях.
- •1.6. Зв'язність і роздільність
- •1.7. Характеристики графів
- •1.8. Дерева і ліс
- •1.9. Приклади задач, які використовують зважені графи
- •2.1. Логіка висловів. Загальні поняття
- •2.2. Формули алгебри висловів
- •2.3. Розв'язання «логічних» задач
- •2.4. Застосування алгебри логіки в теорії автоматів. Схеми перемикачів
- •2.5. Логіка першого порядку (логіка предикатів). Загальні поняття
- •2.6. Інтерпретація формул логіки предикатів
- •2.7. Передуюча нормальна форма
- •2.8. Логіка реляційна
- •2.9. Нечітка логіка. Загальні поняття
- •2.10. Нечітка алгебра
- •2.11. Нечітке числення
- •3. Булеві функції. Основні закони алгебри логіки
- •3.1. Цифрові автомати в схемотехніці та програмуванні
- •3.2. Висловлювання, предикати, булеві функції
- •3.3. Схемні реалізації булевих функцій
- •3.4. Найбільш поширені булеві функції
- •3.5. Основні закони алгебри логіки
- •4. Аналітичне подання булевих функцій. Функціонально повні системи булевих функцій
- •4.1. Досконала диз’юнктивна нормальна форма
- •4.2. Досконала кон’юнктивна нормальна форма
- •4.3. Досконала Шефферівська нормальна форма
- •4.4. Досконала Пірсівська нормальна форма
- •4.5. Функціонально повні системи булевих функцій
- •5. Мінімізація булевих функцій
- •5.1. Карти Карно
- •5.2. Мінімальна диз’юнктивна нормальна форма
- •5.3. Мінімальна кон’юнктивна нормальна форма
- •5.4. Мінімальна Шефферівська нормальна форма
- •5.5. Мінімальна Пірсівська нормальна форма
- •6. Абстрактні цифрові автомати
- •6.1. Основні поняття, пов’язані з абстрактними автоматами
- •6.2. Способи задання абстрактних автоматів
- •6.3. Приклади синтезу абстрактних автоматів
- •7. Синтез структурного автомата
- •7.1. Етапи канонічного методу структурного синтезу автоматів
- •7.2. Кодування станів
- •7.3. Побудова канонічної таблиці структурного автомата
- •7.4. Вибір елементів пам’яті автомата
- •7.5. Побудова таблиці збудження тригера
- •7.6. Побудова рівнянь функцій збудження і виходів автомата
- •7.7. Побудова функціональної схеми автомата
- •8. Проектування комбінаційних схем на дешифраторах і мультиплексорах
- •8.1. Синтез схем на дешифраторах
- •8.2. Синтез схем на мультиплексорах
- •9. Синтез мікропрограмного автомата за схемою алгоритму
- •9.1. Послідовність дій, необхідних для побудови управляючого пристрою
- •9.2. Синтез автомата Мілі
- •9.3. Синтез автомата Мура
- •10. Формальні мови і граматики
- •10.1. Визначення формальних мов і граматик
- •10.2. Приклади, що ілюструють первинні поняття
- •10.3. Порожня мова
- •10.4. Типи формальних мов і граматик
- •10.5. Виведення у кв-граматиках і правила побудови дерева виведення
- •10.6. Неоднозначні та еквівалентні граматики
- •10.7. Способи задання схем граматик
- •11. Контекстно-вільні граматики і автомати
- •11.1. Приведені граматики
- •11.2. Виключення ліворекурсивних правил
- •11.3. Виключення ланцюгових правил
- •11.4. Магазинні автомати
- •12. Спадні розпізнавачі
- •12.1. Розділені граматики
- •12.2. Побудова детермінованого спадного розпізнавача
- •12.3. Слаборозділені граматики
- •12.5. Побудова магазинного автомата
- •12.6. Приклади побудови спадного розпізнавача
- •4. Аналітичне подання булевих функцій.
- •8. Проектування комбінаційних схем на
- •9. Синтез мікропрограмного автомата за схемою
- •Теорія цифрових автоматів та формальних мов. Вступний курс
- •6.050101 “Комп’ютерні науки”
1.6. Зв'язність і роздільність
Визначення. Дві вершини графа називають зв'язаними, якщо існує маршрут, що сполучає ці вершини. Граф, будь-яка пара вершин якого зв'язана, називають зв'язним графом.
У зв'язному графі між будь-якими двома вершинами існує простий ланцюг, оскільки з маршруту, що зв'язує їх, завжди можна видалити циклічну ділянку, що проходить через деяку вершину більше одного разу.
Якщо граф незв'язний, то множину його вершин можна єдиним чином розділити на непересічні підмножини, кожна з яких містить всі зв'язані між собою вершини і разом з інцидентними ним ребрами утворює зв'язний підграф. Таким чином, не зв'язний граф є сукупністю окремих частин (підграфів), які називають компонентами.
Ч
асто
відношення зв'язності ускладнюється
додатковими умовами. Граф називають
циклічно
зв'язним,
якщо будь-які дві різні вершини містяться
в циклі. Граф називають k-зв'язним,
якщо будь-яка пара різних вершин зв'язана,
принаймні k
ланцюгами,
які не мають загальних вершин (крім
початкової і кінцевої).
Зв'язність орієнтованих графів визначається так само, як і для неорієнтованих (без урахування напрямів дуг). Специфічним для орграфа (або змішаного графа) є поняття сильної зв'язності. Орграф називають сильно зв'язним, якщо для будь-якої пари його вершин vi, vj існує шлях з vi в vj та з vj в vi.
Приклад 8. На рис. 1.3, б показаний зв'язний граф. Граф F на рис. 1.7 – незв'язний. Він складається з трьох компонент F1, F2, F3 (ізольована вершина також вважається компонентою). Компонента F1 графа F циклічно зв'язна (однозв'язна), а зв'язана компонента F3 не є циклічно зв'язаною, оскільки вершини f7 і f8 не містяться ні в якому циклі з іншими вершинами.
Орграф G на рис. 1.6 – сильно зв'язний. Також сильно зв'язним завжди повинен бути граф, що представляє план міста з одностороннім рухом деякими вулицями, оскільки інакше знайшлися б вершини (площі і перехрестя), між якими не можна було б проїхати містом без порушення правил руху.
Зв'язний граф може бути розділений на не зв'язні підграфи видаленням з нього деяких вершин і ребер (при видаленні вершин виключаються і всі інцидентні ним ребра, а при видаленні ребер вершини зберігаються).
Визначення. Якщо існує така вершина, видалення якої перетворює зв'язний граф (або компоненту незв'язного графа) у незв'язний, то вона називається точкою зчленування. Ребро з такими ж властивостями називається мостом.
Зрозуміло, що за наявності моста в графі є, принаймні, дві точки зчленування.
Граф називається нероздільним, якщо він зв'язний і не має точок зчленування. Граф, що має хоч би одну точку зчленування, є роздільним і називається сепарабельним. Він розбивається на блоки, кожен з яких є максимальним нероздільним підграфом. Кожне ребро графа, як і кожна вершина (за винятком точок зчленування), належать тільки одному з його блоків. Більш того, тільки одному блоку належить і кожен простий цикл. Звідси випливає, що сукупністю блоків графа є розбиття множини ребер і простих циклів на неперетинні підмножини.
П
риклад
9.
Граф G
на
рис. 1.6 неподільний.
Зв'язний граф, представлений на рис. 1.8,
має дві точки зчленування – v1
і
v4,
проте його ребро (v1,
v4)
не є міст. Граф В
на
рис. 1.9 має дві точки зчленування –
v4
і
v5,
причому ребро (v4,
v5),
що з'єднує ці точки, є мостом, який
розбиває даний граф на три блоки (блоки
В1,
В2
і
В3
на
рис. 1.9). Кожен з цих блоків є нероздільним
підграфом.
У
ряді застосувань теорії графів блоки
можна розглядати як компоненти. Це
звичайно допустимо, коли зв'язки блоків
за допомогою точки зчленування неістотні
або коли істотні властивості графа
пов'язані тільки з його простими циклами
(контурами). У таких випадках можна
розглядати незв'язний граф як зв'язний
роздільний граф, який утворюється шляхом
такого об'єднання компонент, щоб кожна
з них була блоком (це завжди можна
зробити, об'єднавши, наприклад, по одній
вершині кожного блока в точку зчленування).