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

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

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

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

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

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

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

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

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

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

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

,

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

, откуда .

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

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

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

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

Алгоритм.

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

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

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

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

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

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

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