Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
26-03-2013_00-36-55 / Курс лекций 2 сем.doc
Скачиваний:
163
Добавлен:
26.03.2015
Размер:
4.96 Mб
Скачать

Обоснование алгоритма.

Докажем, что после конечного числа применений правила для каждой дуги графа станет справедливым неравенство .

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

Предположим, что после того, как применено правило раз , станет справедливым утверждение, что для. Нашаге какая-то вершинаполучит новую метку. Но в силу предположения индукции, кроме того, ; поэтому .

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

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

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

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

Докажем, что путь — кратчайший. Для этого рассмотрим произвольный путь:, соединяющий решинус. Имеем неравенства:

Складывая эти неравенства, получаем соотношение:

,

так как . В то же время, по построению путиимеем:

, откуда .

Пример. В графе (рис. 9) легко установить, что кратчайший путь, соединяющий вершины и, имеет длину .

2. Алгоритм построения Эйлерова цикла.

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

Как фактически построить его? Оказывается, что достаточно выполнять следующие правила.

Алгоритм.

. Выбрать произвольно некоторую вершину .

. Выбрать произвольно некоторое ребро , инцидентное , и присвоить ему номер 1. (Назовем это ребро «пройденным».)

. Каждое пройденное ребро вычеркивать и присваивать ему номер, на единицу больший номера предыдущего вычеркнутого ребра.

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

. Находясь в вершине , не выбирать ребра, которое является «перешейком» (при удалении которого граф, образованный незачеркнутыми ребрами, распадается на две компоненты связности, имеющие хотя бы по одному ребру).

. После того, как в графе будут занумерованы все ребра, цикл , образованный ребрами с номерами от 1 до, где число ребер в графе, есть эйлеров цикл.

Соседние файлы в папке 26-03-2013_00-36-55