Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
6. Grafy.docx
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
2.06 Mб
Скачать

4. Ейлерів цикл у графі

Початок теорії графів як розділу математики пов’язують із задачею про кенінгсберські мости . Сім мостів міста Кенігсберга (нині Калінінград у Росії) було розміщено на річці Прегель так, як зображено на рис 3.30. Чи можна починаючи з якоїсь точки міста , пройти через усі мости точно по одному разу й повернутися у початкову точку? Швейцарський математик Л. Ейлер розв’язав цю задачу. Його розв’язання опубліковано 1736 р., було першим явним застосування теорії графів. Ейлер поставив у відповідність плану міста мультиграф G, вершини якого відповідають чотирьом частинам A, B, C, D міста, а ребра мостам. Цей граф зображено на рис. 3.31.

Рис 3.30. Кенігсбергські мости та їх модель за допомогою графу

Рис 3.30. Модель кенігсбергських мостів за допомогою графу

Отже, задачу про кенінгсберські мости мовою теорії графів можна сформулювати так: чи існує в мультиграфі G простий цикл, який містить усі ребра цього мультиграфа? Ейлер довів нерозв’язність задачі про кенінгсберські мости. Нагадуємо, що в простому циклі ребра не повторюються, а вершини можуть повторюватись.

Ейлеровим циклом у зв’язному мультографі G називають простий цикл, який містить усі ребра графа, ейлеревим шляхом – простий шлях, що містить усі ребра графа.

Приклад 3.31. На рис. 3.32 проілюстровано концепцію ейлеревих циклів і шляхів. Граф G1 має ейлерів цикл, наприклад, a, e, c, d, e, b, a; граф G3 не має ейлеревого циклу, але має ейлерів шлях: a, c, d, e, b, d, a, b; граф G2 не має ні ейлеревого циклу, ні ейлеревого шляху.

Існує простий критерій (необхідна й достатня умова) для виявлення того, чи має граф ейлерів цикл.

ТЕОРЕМА 3.10. Зв’язний граф G має ейлерів цикл тоді й лише тоді, коли степені всіх його вершин парні.

Доведення. Необхідність. Нехай у графі G існує ейлерів цикл. Тоді він проходить через кожну вершину графа і входить до неї по одному ребру, а виходить по іншому. Це означає, що кожна вершина інцидентна парній кількості ребер ейлеревого циклу. Оскільки такий цикл містить усі ребра графа G, то звідси випливає парність степенів усіх його вершин.

Достатність. Припустимо тепер, що всі вершини графа G мають парний степінь почнемо шлях Р1 із довільної вершини V1 і продовжемо його наскільки це можливо, вибираючи щоразу нове ребро. Позаяк степені усіх вершин парні, то, увійшовши у будь-яку вершину, відмінну від V1, ми завжди маємо можливість вийти з неї через іще не пройдене ребро. Тому шлях Р1 можна продовжити додавши це ребро. Отже, побудова шляху Р1 завершиться у вершині V1, тобто Р1 обов’язково виявиться циклом. Якщо з’ясується що шлях Р1 містить усі ребра графа G, то це ейлерів цикл. У протилежному випадку вилучемо з G всі ребра типу Р1 і всі вершини, інцидентні лише вилученим ребрам. Отримаємо якийсь зв’язний граф G1. Оскільки Р1 та G мають вершини лише парних степенів,то , очевидно, і граф G1 матиме цю властивість. Окрім того, позаяк граф G зв’язний, то графи Р1 та G1 мають принаймні одну спільну вершину V2. Тепер із вершини V2 побудуємо цикл Р1 в графі G1 аналогічно до того, як ми будували цикл Р1 у графі G. Цикл Р1 на місце вершини V2. Одержимо цикл Р3. Описані побудови показано на рис.3.33

Рис 3.30. Алгоритм Фльорі

Цикл Р1 = v1, v4, v3, P2, v1 = v1, v4, v3, v2, v5, v6, v2, v1 ейлерів. Якби він виявився не ейлеревим, то потрібно продовжити аналогічні побудови і отримати ще більший цикл. Цей процес закінчиться побудовою ейлеревого циклу. Зазначимо, що доведення достатності має конструктивний характер: подано алгоритм побудови ейлеревого циклу.

Існує і інший алгоритм побудови ейлерового циклу, який дає змогу побудувати цей цикл одразу. Це алгоритм Флері (Fleury).