
Ейлерові цикли
Ейлеровим циклом у зв’язному неорієнтованому мультиграфі називають простий цикл (усі його ребра різні), утворений всіма ребрами графа.
Граф, який має ейлерів цикл, називається ейлеровим.
Ейлеровим ланцюгом (ще кажуть: ейлеровим шляхом) у зв’язному неорієнтованому мультиграфі називають простий ланцюг (усі його ребра різні), утворений всіма ребрами графа.
В ейлерових циклі й ланцюгу ребра мають бути різними, але вершини можуть повторюватися. Ейлерів цикл можна намалювати, не відриваючи ручки від паперу, причому малювання починається і закінчується в тій самій точці. Ейлерів ланцюг теж можна намалювати не відриваючи ручки, але при цьому початок буде в одній вершині, а кінець в іншій.
Приклад.
Серед поданих нижче графів перший граф
має ейлерів цикл
(або цикл
,
якщо в іншому порядку обійти вершини
графа; або можна вибрати іншу початкову
вершину і побудувати інший простий
цикл), другий має ейлерів ланцюг
,
а третій не має ні ейлерового ланцюга,
ні ейлерового циклу.
Теорема 1. Зв’язний неорієнтований мультиграф має ейлерів цикл тоді і тільки тоді, коли степені всіх його вершин парні.
Доведення. При доведенні необхідності треба показати, що в ейлеровому графі кожна вершина має парний степінь. Нехай у графі є ейлерів цикл. Тоді він входить і виходить з кожної вершини. Отже, кожна вершина інцидентна парній кількості ребер. При перевірці достатності треба показати, що якщо степені вершин парні, то граф має ейлерів цикл. Перевірка достатності теореми є конструктивною і дає алгоритм побудови ейлерового циклу в графі, який розглянемо нижче.
Алгоритм
побудови ейлерового циклу.
Нехай дано зв’язний граф G
з парними степенями вершин. Обхід графа
почнемо з будь-якої вершини
і виберемо будь-яке ще не пройдене ребро
;
далі виберемо будь-яке не пройдене
ребро, інцидентне вершині
(таке ребро обов’язково існує: увійшовши
в будь-яку вершину, яка має парний
степінь, завжди можна вийти з неї через
ще не пройдене ребро), і т.д. Побудова
циклу
закінчиться у вершині
.
Якщо побудований цикл містить всі ребра,
то маємо ейлерів цикл; якщо не всі, то
вилучаємо з графа всі ребра побудованого
циклу
і всі вершини, які стали ізольованими.
Оскільки граф G
зв’язний, то цикл
і граф G
мають принаймні одну спільну вершину
.
Із цієї вершини побудуємо цикл
і вставимо його в цикл
замість вершини
.
Якщо побудований цикл містить всі ребра,
то маємо ейлерів цикл; якщо не всі, то
вилучаємо з графа всі ребра циклу
і всі вершини, які стали ізольованими,
і т.д.
Приклад.
Для розглянутого вище графа, використовуючи
наведений алгоритм, побудуємо ейлерів
цикл. Відповідно до теореми ейлерів
цикл побудувати можна, бо всі вершини
графа мають парні степені. Починаючи з
вершини а,
побудуємо, наприклад, цикл
.
Цей цикл не містить всіх ребер графа.
Тому вилучимо ребра, які ввійшли в граф,
а потім вилучимо вершини, які стали
ізольованими:
Побудований
цикл
і частина графа, яка залишилася мають
спільну вершину b.
Із цієї вершини побудуємо цикл
і вставимо його замість вершини b
в цикл
і одержимо цикл:
який містить всі ребра графа і ребра не повторюються, а, отже, цей цикл є ейлеровим.
Теорема 2. Зв’язний неорієнтований мультиграф має ейлерів ланцюг, але не має ейлерового циклу тоді і тільки тоді, коли він має рівно дві вершини непарного степеня.
В ейлеровому ланцюгу одна з вершин з непарними степенями буде початком, а інша кінцем цього ланцюга.
П
риклад
(задача
про сім кенігсберзьких мостів).
У місті Кенігсберг на річці Преголь
було два острови, до яких з двох берегів
було збудовано мости:
Чи можна, починаючи з певного берега, пройти всі мости по одному разу й повернутися на той самий берег? Чи можна пройти всі мости по одному разу, якщо не обов’язково повертатися в початкову точку?
Р
озв’язання.
За поданою схемою побудуємо мультиграф:
У цьому мультиграфі вершини мають такі степені: А — 3, В — 5, С — 3, D — 3, тобто є чотири вершини з непарними степенями. Отже, відповідно до наведених вище теорем у цьому мультиграфі не можна побудувати ні ейлерів цикл, ні ейлерів ланцюг. Тому пройти всі мости по одному разу не можна.
Приклад. Чи можна в зображеній на малюнку “будівлі” пройти через усі “двері” по одному разу?
Розв’язання. У відповідність зображеній будівлі поставимо граф, вершинами якого є “подвір’я” А і “кімнати” B, C, D, E, F, а ребрами — “двері”:
Щоб можна було через кожні “двері” пройти по одному разу, треба, щоб усі ребра графа утворили ейлерів ланцюг. Оскільки вершини графа відповідно мають степені: А — 5, В — 4, С — 4, D — 3, E — 5, F — 3, тобто чотири вершини мають непарний степінь, то відповідно до теореми 2, граф не має ейлерового ланцюга, отже, пройти через усі “двері” по одному разу не можна.
Ейлеровим циклом у слабо зв’язному орієнтованому мультиграфі називають контур, який містить усі ребра графа.
Теорема. Орієнтований слабо зв’язний мультиграф має ейлерів цикл тоді і тільки тоді, коли в кожну вершину входить і виходить однакова кількість дуг, тобто кожна вершина є рівновісною.