МатВектор

Command Palette

Search for a command to run...

🔀 Дискретка

Эйлеров цикл

англ. Eulerian cycle

Замкнутый маршрут, проходящий по каждому ребру графа ровно один раз и возвращающийся в старт. Критерий: граф связен по рёбрам и степени всех вершин чётны. Не путать с гамильтоновым циклом — там обходятся вершины.

Эйлеров цикл — замкнутый маршрут по графу, проходящий по каждому ребру ровно один раз и возвращающийся в стартовую вершину. Открытая версия — эйлеров путь: существует при ровно двух нечётных вершинах и соединяет их; подробно — в термине эйлеров путь. Критерий Эйлера: связный граф содержит эйлеров цикл тогда и только тогда, когда степени всех вершин чётны. Причина прозрачна: каждое посещение вершины — «вошёл и вышел», расходуя два ребра, поэтому нечётная степень разрушает замкнутость маршрута.

Интуиция — рисунок одним росчерком. Обводим фигуру, не отрывая карандаш: рёбра — линии, вершины — узлы; рука вернулась в старт — цикл. Родоначальница всей темы — задача о кёнигсбергских мостах (Эйлер, 1736): четыре части города, семь мостов, обойти все мосты по разу невозможно. Отличие от гамильтонова цикла принципиально: эйлеров проходит все рёбра по разу, гамильтонов — все вершины по разу. Проверка эйлеровости — мгновенный подсчёт степеней; существование гамильтонова цикла — NP-полная задача без простого критерия.

критерий Эйлера и лемма о рукопожатии: сумма степеней равна удвоенному числу рёбер, поэтому нечётных вершин всегда чётное количество — один, три или пять быть не может

Микропример — Кёнигсберг: четыре части суши, семь мостов; степени вершин . Сумма сходится с числом мостов, но нечётных вершин четыре — ни цикла, ни даже пути (для пути нужны ровно две нечётные). Контраст на малых графах: квадрат с диагональю — степени : ровно две нечётные, эйлеров путь есть (из одной нечётной вершины в другую), цикла нет. Квадрат без диагонали — степени : цикл есть, обходим четыре стороны и замыкаемся. Строить маршрут умеет алгоритм Хирхольцера: идём по неиспользованным рёбрам, а найденные циклы вставляем в общий маршрут.

Обходы и все критерии — урок обходы графов, базовая терминология — урок основы графов. Словарь: лемма о рукопожатии — почему сумма степеней равна ; эйлеров путь — открытый маршрут с двумя нечётными вершинами. Потренироваться на степенях и чётности — тренажёр по графам, формулы — в шпаргалке по графам.

Частые вопросы

Чем эйлеров цикл отличается от гамильтонова?

Объектом обхода: эйлеров проходит все рёбра ровно по разу, гамильтонов — все вершины ровно по разу. В полном графе гамильтонов цикл есть (четыре вершины по кругу), а эйлерова нет: степень каждой вершины равна — нечётная. По сложности задачи противоположны: эйлеровость — проверка степеней за , существование гамильтонова цикла — NP-полная задача.

Когда существует эйлеров путь, но не цикл?

Ровно при двух нечётных вершинах: маршрут обязан начинаться в одной и заканчиваться в другой, ведь в каждой промежуточной остановке «вход = выход», а на концах баланс нарушен ровно на одно ребро. Лемма о рукопожатии гарантирует, что нечётных вершин всегда чётное число, поэтому промежуточных вариантов (одна или три нечётные) не бывает. Если нечётных нет вовсе, путь сам замыкается в цикл.