Эйлеровы цепи, циклы, пути, контуры

Эти понятия возникли в статье Эйлера в 1736 г., в которой он рассуждает о Кенигсбергских мостах. Известно, что Кенигсберг (ныне Калининград) расположен на берегах реки Преголи и островах на ней. Все части города соединены мостами. На рис. 2.43,а приведен план расположения семи мостов в Кенигсберге. Задача состоит в том, чтобы пройти каждый мост по одному разу и вернуться в исходную точку C.

Так как существенны только переходы через мосты, то план города можно свести к изображению графа, в котором ребра соответствуют мостам, а вершины – различным разделенным частям города (рис. 2.43,б).

Поскольку в конце обхода нужно вернуться в исходную часть города, и на каждом мосту нужно побывать по одному разу, этот маршрут является простым циклом, содержащим все ребра графа. В дальнейшем такие

 
 

циклы стали называть эйлеровыми, а графы, имеющие эйлеров цикл, – эйлеровыми графами.

Эйлеров цикл можно считать следом пера, вычерчивающего этот граф, не отрываясь от бумаги. Таким образом, эйлеровы графы – это графы, которые можно изобразить одним росчерком пера, причем процесс такого изображения начинается и заканчивается в одной и той же точке.

Обнаружив, что в данном графе не существует циклических обходов, проходящих по всем ребрам по одному разу, Эйлер обратился к общей задаче: при каких условиях в графе можно найти такой цикл? Ответ на этот вопрос дает следующая теорема.

Теорема 1 (Эйлера). Конечный связный неориентированный мультиграф является эйлеровым графом тогда и только тогда, когда в нем отсутствуют вершины нечетной степени.

Доказательство. Каждый раз, когда эйлеров цикл проходит через какую-либо вершину, он должен войти в нее по одному ребру, а выйти по другому. Поэтому условие отсутствия вершин нечетной степени в эйлеровом графе является необходимым.

Для доказательства достаточности предположим, что все вершины графа имеют четные степени. Начнем цепь P в произвольной вершине xi графа G (рис. 2.44,а), и будем продолжать ее, насколько возможно, все время через новые ребра. Так как в каждой вершине число ребер четно, этот процесс может закончиться только в xi. Если цикл P содержит не все ребра графа G, то удалим из G часть, соответствующую циклу P.

Графы P и G имеют четные степени всех вершин. То же должно быть справедливо и для оставшегося графа .

Так как граф G связен, в цикле P должна найтись вершина xj, инцидентная также ребрам . Из xj можно построить новую цепь P¢, содержащую только ребра из . И снова такая цепь может закончиться только при возвращении в xj. Но тогда из P и P¢ можно составить новый цикл

P1= P(xi, xj) È P¢ È P(xj, xi),

который возвращается в xi и содержит больше ребер, чем P. Если P1 не является эйлеровым циклом, то построение повторяется. По окончании построения получим эйлеров цикл.

Процесс построения эйлерова цикла иллюстрирует рис. 2. 44, б. Объединяя,
например, циклы {x1,x2, x3, x4, x5,x6, x1} и {x3,x7, x8, x3,x5, x1,x3}, получим эйлеров цикл { x1,x2, x3, x7, x8, x3,x5, x1,x3, x4, x5,x6, x1}.

Как граф с эйлеровым циклом можно рассмотреть схему обхода выставки по различным коридорам, которую посетители должны пройти согласно указателям так, чтобы увидеть каждый экспонат по одному разу.

Эйлеровой цепью называется цепь, включающая все ребра данного конечного неориентированного графа G(X), но имеющая различные начало хi и конец хj. Чтобы в графе существовала эйлерова цепь, он должен быть связным и все вершины, кроме хi и хj должным иметь четные степени. Степени вершин хi и хj должны быть нечетными, что естественно, так как из хi мы лишний раз выходим, а в хj мы лишний раз входим. Эти условия являются достаточными для существования эйлеровой цепи.

Важен также следующий вопрос: каково наименьшее количество не пересекающихся по ребрам цепей, покрывающих конечный связный граф G(X) (покрыть– значит включить все ребра графа в цепь)? На этот вопрос отвечает теорема 2.

Теорема 2. В конечном связном неориентированном графе G(X) с k вершинами нечетной степени минимальное число непересекающихся по ребрам цепей, покрывающих G(X) равно k/2.

Доказательство. Пусть G(X) не является эйлеровым графом и k – число его вершин нечетной степени. Ранее было доказано, что k четно. Каждая вершина нечетной степени должна быть концом хотя бы одной из покрывающих граф цепей. Следовательно, число таких цепей не меньше, чем k/2. Но можно показать, что и не больше. Соединим попарно вершины нечетной степени k/2 ребрами. Тогда степень каждой вершины увеличиться на единицу и станет четной. Получится эйлеров граф, в котором существует эйлеров цикл. Теперь будем постепенно выбрасывать присоединенные ребра. При выбрасывании первого ребра эйлеров цикл превратится в эйлерову цепь, а при выбрасывании каждого последующего ребра одна из возникших к этому моменту цепей разобьется на две части. Таким образом, общее число этих цепей равно k/2.

В качестве примера рассмотрим граф на рис.2.45. В нем x1, x2, x3, x5 – вершины нечетной степени. Добавим два ребра: (x2, x5), (x1, x3) (штриховые линии). Получим эйлеров граф с эйлеровым циклом {x1, x2, x3, x4, x5, x2, x5, x6, x1, x3, x1}. Убрав (x3, x1), получим эйлерову цепь. Убрав (x2, x5), получим 2 покрывающих цепи: {x1, x2, x3, x4, x5, x2} и {x5, x6, x1, x3}.

Из теоремы 2 следует, что если в связном неориентированном мультиграфе имеются две вершины нечетной степени хi и хj, то существует эйлерова цепь, начинающаяся в хi и кончающаяся в хj.

Если связный мультиграф G(X) имеет четыре вершины нечетной степени, то его можно нарисовать двумя росчерками. Если количество нечетных степеней равно k, то граф можно нарисовать k/2 росчерками.

Рассмотрим теперь случай конечного ориентированного графа. Чтобы в конечном ориентированном графе существовал эйлеров цикл (контур), необходимо и достаточно, чтобы полустепени исхода и захода вершин этого графа по входящим и исходящим дугам были равны:

m¢(xi) = m¢¢(xj), " xi Î X.

Доказательство то же, что и для неориентированного графа.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: