Реферат: Теория графов. Задача коммивояжера

<span Arial",«sans-serif»">    Содержание

<span Arial",«sans-serif»">

<span Arial",«sans-serif»">Введение                                                                  

<span Arial",«sans-serif»">

<span Arial",«sans-serif»">

<span Arial",«sans-serif»">        

<st1:place w:st=«on»><span Arial",«sans-serif»; mso-ansi-language:EN-US">I

<span Arial",«sans-serif»">.</st1:place><span Arial",«sans-serif»"> Основные понятия                                               <span Arial",«sans-serif»">

<span Arial",«sans-serif»">

<span Arial",«sans-serif»">1.Эйлеровы графы

<span Arial",«sans-serif»">.                                                             

<span Arial",«sans-serif»">

<span Arial",«sans-serif»">2. Кротчайшие пути

<span Arial",«sans-serif»">.                                                         

<span Arial",«sans-serif»">

<span Arial",«sans-serif»">3. Деревья

<span Arial",«sans-serif»">.                                                                                        

<span Arial",«sans-serif»">

<span Arial",«sans-serif»; mso-ansi-language:EN-US">II

<span Arial",«sans-serif»">.Задача коммивояжера<span Arial",«sans-serif»">.                                               

<span Arial",«sans-serif»">

<span Arial",«sans-serif»">1.Общие описание

<span Arial",«sans-serif»">.                                                                  

<span Arial",«sans-serif»">

<span Arial",«sans-serif»">2.Методы решенияЗК.                                                      

<span Arial",«sans-serif»">

   а. Жадный алгоритм.                                                       

   б. Деревянный алгоритм.                                                 

   в. Метод ветвей и границ.                                               

<span Arial",«sans-serif»; mso-ansi-language:EN-US">III

<span Arial",«sans-serif»">. Выводы.                                                                          <span Arial",«sans-serif»; mso-ansi-language:EN-US">

<span Arial",«sans-serif»">

<span Arial",«sans-serif»">Литература.

                                             Введение.<span Arial",«sans-serif»">

ТЕОРИЯГРАФОВ — это областьдискретной матема­тики, особенностью которойявляется геометрический подход к изучению объектов. Теория графов находится сейчас всамом расцвете. Обычно её относят к топологии (потому что во многих случаяхрассматриваются лишь топологические свойства графов), однако она пересекаетсясо многими разделами теории множеств, комбинаторной математики, алгебры,геометрии, теории матриц, теории игр, математической логики и многих других математическихдисциплин. Основной объект теории графов-граф и егообобщения.

Первыезадачи теории графов были связаны с решением математических развлекательныхзадач и головоломок (задача о Кенигсбергских мостах, задача о расстановке ферзей нашахматной доске, задачи о перевозках, задача о кругосветномпутешествии и другие). Однимиз первых результатов в теории графов явился критерий существования обхода всехребер графа без повторе­ний, полученный Л. Эйлером при реше­нии задачи о Кенигсбергских мостах. Вот пересказотрывка из письма Эйлера от 13 марта 1736 году: ” Мне была предложена задача обострове, расположенном в городе Кенигсберге и окруженном рекой, через которуюперекинуто 7 мостов. Спрашивается, может ли кто-нибудь непрерывно обойти их,проходя только однажды через каждый мост. И тут же мне было сообщено, что никто еще до сих пор не смог этопроделать, но никто и не доказал, что это невозможно. Вопрос этот, хотя ибанальный, показался мне, однако, достойным внимания тем, что для его решениянедостаточны ни геометрия, ни алгебра, ни комбинаторное искусство. После долгихразмышлений я нашел лёгкое правило, основанное на вполне убедительномдоказательстве, с помощью которого можно во всех задачах такого рода тотчас жеопределить, может ли быть совершен такой обход через какое угодно число и какугодно расположенных мостов или не может“. Кенигсбергские мосты схематически можно изобразить так.

Существует ещеодин вид задач, связанных с путешествиями вдоль графов. Речь идёт о задачах, в которых требуется отыскать путь,проходящий через все вершины, причем не более одного раза через каждую. Цикл,проходящий через каждую вершину один и только один раз, носит названиегамильтоновой линии( в честь Уильяма РоуэнаГамильтона, знаменитого ирландского математика прошлого века, который первымначал изучать такие линии). К сожалению, пока еще не найден общий критерий, спомощью которого можно было бы решить, является ли данный граф гамильтоновым, иесли да, то найти на нём все гамильтоновы линии. 

  Сформули­рованная в середине 19 в. проблемачетырех красок  также выглядит как развле­кательнаязадача, однако попытки ее решения привели к появлению некоторых  исследований графов, имеющих теоретическое иприкладное значение. Проблема четырех красок формулируется так: ”Можно лиобласть любой плоской карты раскрасить четырьмя цветами так, чтобы любые двесоседние области были раскрашены в различные цвета?”. Гипотеза о том, что ответутвердительный, была сформулирована в середине 19в. В 1890 году было доказаноболее слабое утверждение, а именно, что любая плоская карта раскрашивается впять цветов. Сопоставляя любой плоской карте двойственный ей плоский граф,получают эквивалентную формулировку задачи в терминах графов: Верно ли, чтохроматическое число любого плоского графа меньше либо равно четырёх?Многочисленные попытки решения задачи оказали влияние на развитие ряданаправлений теории графов. В 1976 году анонсировано положительное решениезадачи с использованием ЭВМ.

<span Arial",«sans-serif»;mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:EN-US"> 

<span Arial",«sans-serif»;mso-bidi-font-family: «Times New Roman»;color:black;letter-spacing:-.05pt;mso-ansi-language:EN-US; mso-bidi-font-weight:bold;mso-bidi-font-style:italic"> 

<span Arial",«sans-serif»;mso-bidi-font-family: «Times New Roman»;color:black;letter-spacing:-.05pt;mso-ansi-language:EN-US; mso-bidi-font-weight:bold;mso-bidi-font-style:italic"> 

<span Arial",«sans-serif»;mso-bidi-font-family: «Times New Roman»;color:black;letter-spacing:-.05pt;mso-ansi-language:EN-US; mso-bidi-font-weight:bold;mso-bidi-font-style:italic"> 

<span Arial",«sans-serif»;mso-bidi-font-family: «Times New Roman»;color:black;letter-spacing:-.05pt;mso-ansi-language:EN-US; mso-bidi-font-weight:bold;mso-bidi-font-style:italic"> 

<st1:place w:st=«on»><span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black;letter-spacing:-.05pt; mso-ansi-language:EN-US;mso-bidi-font-weight:bold;mso-bidi-font-style:italic">I

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black;letter-spacing:-.05pt; mso-bidi-font-weight:bold;mso-bidi-font-style:italic">.</st1:place><span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black;letter-spacing:-.05pt; mso-bidi-font-weight:bold;mso-bidi-font-style:italic"> Основные<span Arial",«sans-serif»; color:black;letter-spacing:-.05pt;mso-bidi-font-weight:bold;mso-bidi-font-style: italic"> <span Arial",«sans-serif»;mso-bidi-font-family:«Times New Roman»; color:black;letter-spacing:-.05pt;mso-bidi-font-weight:bold;mso-bidi-font-style: italic">понятия<span Arial",«sans-serif»;color:black;letter-spacing:-.05pt;mso-bidi-font-weight: bold;mso-bidi-font-style:italic"> <span Arial",«sans-serif»;mso-bidi-font-family:«Times New Roman»; color:black;letter-spacing:-.05pt;mso-bidi-font-weight:bold;mso-bidi-font-style: italic">теории<span Arial",«sans-serif»;color:black;letter-spacing:-.05pt;mso-bidi-font-weight: bold;mso-bidi-font-style:italic"> <span Arial",«sans-serif»;mso-bidi-font-family:«Times New Roman»; color:black;letter-spacing:-.05pt;mso-bidi-font-weight:bold;mso-bidi-font-style: italic">графов<span Arial",«sans-serif»;color:black;letter-spacing:-.05pt;mso-bidi-font-style: italic">.

1. Граф G(V,E) — комбинаторный объект,состоящий из двух конечных мно­жеств: V — называемого множествомвершин и множества пар элементов из V, т.е. Е <img src="/cache/referats/17579/image002.gif" v:shapes="_x0000_i1025"> VxV, называемого множеством ребер, если парынеупорядочены, и множеством дуг, если парыупорядочены. В первом случае граф G(V,E) называется неориентированным, вовтором ориентированным. Если е = (v1,v2).

e<img src="/cache/referats/17579/image004.gif" v:shapes="_x0000_i1026">Е, то говорят, что ребро е соединяет вершиныv1,v2,если v1=v2, торебро е называет­ся петлей. Две вершины v1,v2 называютсясмежными, если существует соединяющее их ребро. Аналогично, два различных ребра смежны, если они имеют общую вершину.

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

Путь — это последовательностьребер e1, е2,…, еm,такая, что ei, ei+1имеют об­щую вершину. Число ребер называется длиной пути. Если ни однаиз вершин не появля­ется более одного раза, то путь называется простым. Ясно,что в простом пути ни одно ребро не используется дважды.

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

В случае ориентированного графа, еслипуть проходит в направлении дуг, он называется ориентированным. Аналогичноопределяется ориентированный цикл.

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

3.<span Times New Roman"">  

Двудольные графы.Это графы, у которых множествовершин можно

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

4.<span Times New Roman"">  

Граф единичного n-мерного куба Вn. Вершины графа — n-мерные двоичные наборы.Ребра соединяют вершины, отличающиеся одной координатой.

Факт 1.Любой графсодержит четное число вершин нечетной степени. ♦ Если граф Gимеет xiвершин  степени i, то

X1+2x2+…+kxk=2E                                            (1)

поскольку мы подсчитываем число концевых вершин ребер, акаждое ребро имеет точно две концевые вершины. Отсюда получаем, что x1+ x3+… + x2s+1- четное число.  Число ребер в графе существенновлияет на его связность. Заметим, что любой граф можно разбить на связные части- компоненты связности, задав следующее отношение эквивалентности на множестве его вершин: две вершины эквивалентны, еслисуществу­ет путь из одной вершины в другую. Таким образом, связный графсостоит из одной компоненты.

Факт 2.Пусть G — граф с nвершинами и kкомпонентами. Тогда число mего ребер удовлетворяетнеравенствам:

<img src="/cache/referats/17579/image006.jpg" v:shapes="_x0000_i1027">


               Нижнююоценку доказывают индукцией по числу ребер в G. Если множество
ребер пусто, то утверждение очевидно. Если в графе Gчисло ребер минимально (скажем m0),удаление любого ребра приводит к увеличению числа компонент на единицу. Зна­чит,в графе k+1 компонента иm0-1 ребро. По предположению индукции, m0-1<img src="/cache/referats/17579/image008.gif" v:shapes="_x0000_i1028">n-(k+1)откуда m0> n — к. Для доказательства верхней оценки считаем каждую компоненту графа Gполным графом. Если Ciи Cj — две компоненты с niи njвершинами (ni> nj> 1), то заменяяих на полные графы с ni+ 1 и nj-1 вершинами, мы, не меняя
числа вершин,увеличиваем число ребер. Действительно,

<img src="/cache/referats/17579/image010.jpg" v:shapes="_x0000_i1029">


     Значит, максимальное число ребер имеет граф G, у которого k-1 изолированных вершин и компонента из полного графа на n — к + 1 вершинах. Отсюда и следуетверхняя оценка.

<img src="/cache/referats/17579/image012.jpg" v:shapes="_x0000_i1030">


Следствие.Любойграф с nвершинами, имеющий более, чем

                                                                                    ре­бер, связан.

                Действительно, если граф имеет kкомпонент, то по предыдущему, число егоребер не превышает<img src="/cache/referats/17579/image014.gif" v:shapes="_x0000_i1031">

                Нонеравенство:<img src="/cache/referats/17579/image016.gif" v:shapes="_x0000_i1032"><img src="/cache/referats/17579/image018.gif" v:shapes="_x0000_i1033">

справедливо только при к = 1.

  Убедимся теперь втом, что степени вершин существенно влияют на наличие циклов в графе.

Факт 3.Если степень каждой вершины графа G(V,E) не меньше двух, то Gсодержитцикл.

   Пусть v — произвольная вершина из V.Строим последовательность ребер
(v,v1), (v1,v2), ..., выбирая v1смежной с v,…, Vi+1 — смежной с v1, и отличной от vi-1. По условиювершина Vi+1 существует. В силу конечности Vна некотором шаге будет вы­бранавершина, уже встретившаяся раньше. Пусть это vk. Тогда часть последовательно­сти ребер между вхождениями vkобразует цикл.

2.Пусть G — связный граф, u, v — произвольные вершины. Определим d(u, v) — расстояние между uи vкак длину кратчайшего пути из uв v. При этом полагаем  d(u, v) = 0 при u= v.

Ясно, что введенноетаким образом расстояние удовлетворяет аксиомам метри­ки:

1.<span Times New Roman"">          

d(u,v)<img src="/cache/referats/17579/image008.gif" v:shapes="_x0000_i1034">

2.<span Times New Roman"">          

d(u, v) = 0<img src="/cache/referats/17579/image021.gif" v:shapes="_x0000_i1035">

3.<span Times New Roman"">          

d(u,v) = d(v,u)

4.<span Times New Roman"">          

d(u, v)+d(v, w) <img src="/cache/referats/17579/image008.gif" v:shapes="_x0000_i1036"> d(u, w) (неравенство треугольника)
Для связного графа Gдиаметр d(G) определяется как`          

d(G) = maxd(u,v)

3.Графы G1(V1, E1) и G2(V2, E2) называются изоморфными,если существует биекция f: V1<img src="/cache/referats/17579/image024.gif" v:shapes="_x0000_i1037">V2, такая, что выполнено

(v1, v2)<img src="/cache/referats/17579/image004.gif" v:shapes="_x0000_i1038"><img src="/cache/referats/17579/image021.gif" v:shapes="_x0000_i1039">(f(v1), f(v2)<img src="/cache/referats/17579/image004.gif" v:shapes="_x0000_i1040">2

При этом fназывается изоморфизмом графов G1и G2.Изоморфизм графа Gна себя называется автоморфизмом.

Пример 1. Следующие графыимеют только тождественные автоморфмы

<img src="/cache/referats/17579/image029.jpg" v:shapes="_x0000_i1041">


<img src="/cache/referats/17579/image031.jpg" v:shapes="_x0000_i1042">


<span Times New Roman",«serif»; mso-fareast-font-family:«Times New Roman»;mso-ansi-language:EN-US;mso-fareast-language: RU;mso-bidi-language:AR-SA">

<img src="/cache/referats/17579/image033.jpg" v:shapes="_x0000_i1043">


Пример2. Следующий граф имеет, кроме тождественного, автоморфизмы (1,3), (2,4),(13)(24).

Широкоизвестна так называемая проблема изоморфизма графов, в которой для любых двух графов требуется установить, изоморфныони или нет. Для знакомства с результатами по данной проблеме следуетобратиться к приведенному списку литерату­ры.

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

Пусть G1+ (V1, E1), G2=(V2, E2) — два графа.

Объединение графов G1и G2есть граф, у которого V= V1<img src="/cache/referats/17579/image035.gif" v:shapes="_x0000_i1044"> V2,

 Е = E1<img src="/cache/referats/17579/image035.gif" v:shapes="_x0000_i1045"> Е2.

Соединение графов G1+G2есть граф, у которого

V= V1<img src="/cache/referats/17579/image035.gif" v:shapes="_x0000_i1046"> V2, Е = E1<img src="/cache/referats/17579/image035.gif" v:shapes="_x0000_i1047"> Е2<img src="/cache/referats/17579/image035.gif" v:shapes="_x0000_i1048"> {(v1, v2)}для всех v1<img src="/cache/referats/17579/image004.gif" v:shapes="_x0000_i1049">V1, v2<img src="/cache/referats/17579/image004.gif" v:shapes="_x0000_i1050">V2

Прямое произведение графовесть граф, у которого V= V1<img src="/cache/referats/17579/image041.gif" v:shapes="_x0000_i1051">V2,

((c1,v2),(v1,v2))<img src="/cache/referats/17579/image004.gif" v:shapes="_x0000_i1052"><img src="/cache/referats/17579/image021.gif" v:shapes="_x0000_i1053">(v1,v1)<img src="/cache/referats/17579/image004.gif" v:shapes="_x0000_i1054">и (v2,v2)<img src="/cache/referats/17579/image004.gif" v:shapes="_x0000_i1055">E2

Пример.Пустьданы графы отображений f1V1<img src="/cache/referats/17579/image024.gif" v:shapes="_x0000_i1056">Vi, f2: V2<img src="/cache/referats/17579/image024.gif" v:shapes="_x0000_i1057">V2.Тогда пря­
мое   произведение      соответствует      отображению
f1<img src="/cache/referats/17579/image041.gif" v:shapes="_x0000_i1058"> f2: V<img src="/cache/referats/17579/image041.gif" v:shapes="_x0000_i1059"> V2 <img src="/cache/referats/17579/image024.gif" v:shapes="_x0000_i1060">V1<img src="/cache/referats/17579/image041.gif" v:shapes="_x0000_i1061"> V2гдеf1<img src="/cache/referats/17579/image041.gif" v:shapes="_x0000_i1062"> f2(v1,v2) =(f1,(v1), f2(v2))

Пусть f1 и  f2 имеют    и    начальных вершин соответственно. Тогда f1<img src="/cache/referats/17579/image041.gif" v:shapes="_x0000_i1063"> f2  будет

иметь

Некоторые классы графов допускаютхарактеристическое описание. В качестве примера приведем критерий двудольностиграфа (Кёниг, 1936 г.)

Теорема.Длядвудольности графа необходимо и достаточно, чтобы онне со­держал циклов нечетной длины.

Пусть G= (V, Е) — двудольный граф, С — один из его циклов длины k.Фикси­руем вершину v1<img src="/cache/referats/17579/image004.gif" v:shapes="_x0000_i1064"> и проходим цикл,начиная с v1.Пусть это вершины v1, v2,...,vk. Поскольку концы каждого ребралежат в разных долях, то k — четное число.

Пусть G= (V, Е)- связный и все его циклы четной длины. Определим разбиение V= V1<img src="/cache/referats/17579/image035.gif" v:shapes="_x0000_i1065">V2следующим образом: Фиксируем произвольную вершину v1<img src="/cache/referats/17579/image004.gif" v:shapes="_x0000_i1066">Vивключа­ем ее в V1. Теперь включаем u<img src="/cache/referats/17579/image004.gif" v:shapes="_x0000_i1067">1<img src="/cache/referats/17579/image021.gif" v:shapes="_x0000_i1068"> d(u, v1) — четное число.Остальные вершины включаем в V2.

Покажем, что граф Gдвудольный. Пусть, напротив, существуетребро (v', v"), где v', v" <img src="/cache/referats/17579/image004.gif" v:shapes="_x0000_i1069"> V1. Следовательно, d(v1, v'), d(v1, v") — четны. Ребро (v', v") дает цикл нечет­ной длины, содержащийпуть от v1к v', ребро (v', v"),путь от v" к v1. Аналогично пока­зываем, что нет ребер (v', v"), v', v" <img src="/cache/referats/17579/image004.gif" v:shapes="_x0000_i1070"> V2.

<span Arial",«sans-serif»;mso-bidi-font-family:«Times New Roman»; color:black;letter-spacing:-.05pt;mso-bidi-font-weight:bold;mso-bidi-font-style: italic"> 

<span Arial",«sans-serif»;mso-bidi-font-family:«Times New Roman»; color:black;letter-spacing:-.05pt;mso-bidi-font-weight:bold;mso-bidi-font-style: italic">1. Эйлеровы

<span Arial",«sans-serif»;color:black;letter-spacing:-.05pt; mso-bidi-font-weight:bold;mso-bidi-font-style:italic"> <span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black;letter-spacing:-.05pt; mso-bidi-font-weight:bold;mso-bidi-font-style:italic">графы<span Arial",«sans-serif»; color:black;letter-spacing:-.05pt">.

Эйлеровымпутемграфа G(V,E) называется путь e1,e2,..., etтакой, что каждое ребро появляется ровно 1 раз, т.е. t= | Е |. Граф G(V,E) называется эйлеровым,если он имеет замкнутый эйлеровый путь, и полуэйлеровым, если существует эйлеров путь,не являющийся замкнутым.

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

 Предположим, что Р является эйлеровым циклом в графе G. Тогда при всяком прохождении цикла черезлюбую вершину графа используется одно ребро для входа и одно ребро для выхода.Поскольку каждое ребро используется один раз, то каждая вер­шина должна иметьчетную степень. Обратное утверждение доказываем индукцией по числу ребер вграфе G. Пусть граф Gсвязен и степень каждойвершины четна. На осно­вании Факта 3 граф содержит цикл C.Если Cсодержит каждое ребро, то все доказано. Если женет, то удаляем из графа Gвсе ребра, принадлежащиециклу C. Получаем но­выйграф G1,возможно несвязный. Число ребер в G1меньше чем в G, и каждая вершина имеет четную степень. Поиндуктивному предположению в каждой компоненте графа dимеется эйлеров цикл. В силу связностиграфа Gкаждая компонента графа G1имеет общие вершины с циклом С. Теперь проходим, ребра графа Gследующим образом: идем по ребрам цикла С допервой неизолированной вершины графа G1. Затем проходим эй­леровцикл в компоненте графа G1, затем снова двигаемсяпо циклу С до следующей неизолированной вершины графа G1. Ясно, что процессзаканчивается в исходной вер­шине, что и показывает существование эйлерова цикла.

Аналогичным образом доказывается

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

Аналогично теореме 1 можно доказать следующее утверждение.

Теорема 3.Ориентированный граф G(V,E), у которого связан соответствующийскелетный граф, является Эйлеровым тогда и толькотогда, когда либо для всех вершин v, di(v) = d0(v), либо существуют точно двевершины v1и v2такие, что d0(v1) = di(v1) +1,

d0(v2) +1 = di(v2), адля остальных вершин

dI(v) = d0(v).                                                                 (3)

В первом случае любой эйлеров путь является ориентированнымциклом, во втором -

начинается в вершине v1заканчивается в вершине v2

Теорема 4.Пусть G — связный граф, имеющийточно 2s> 0 вершин нечетной степени. Тогда существует sи не существует меньшего числа путей P1,…, Ps,которые в совокупностисодержат все ребра графа Gточно по одному разу.При этом каждый из путей P1,..., Psначинается в одной нечетной вершине и кончается в другой.

Согласно факта 1 вграфе Gимеется четное число 2sвершин нечетной степе­ни. Разобьем эти вершины на sпар (v1, w1), ..., (vs, ws). Образуем теперь новыйграф G1,= добавив каждой паре (vi, wi), i=1,sребро. Тогда G — связный граф, у котороговсе вер­шины четны. Согласно теореме 1 в графе G1существует эйлеровцикл С, проходящий по всем ребрам точно по одному разу. Удалим из цикла С добавленныеребра и получим sпутейP1,..., Ps,проходящих каждое ребро точно один раз. Ясно, что каждый путь на­чинается и кончается внечетной вершине. Пусть теперь имеется tпутей t< sP1,…, Pt, содержащих все ребра графа G. Тогда каждая нечетнаявершина должна быть концом пути и, значит,имея 2sнечетных вершин, нельзя покрыть все ребра графа Gменее, чем sпутями.

Приведем теперь алгоритм построенияэйлерового пути в данном эйлеровом графе.

Теорема 5.Пусть G — эйлеров граф. Тогда следующая процедура всегда возмож­на и приводит кпостроению эйлеровой цепи графа G.

Выходя из произвольнойвершины, идем по ребрам графа произвольным обра­зом, соблюдая следующие правила:

1)<span Times New Roman"">  

стираем ребра по мере их прохождения (вместес изолированными вершина­ми, которые при этом образуются);

2)<span Times New Roman"">

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

Убедимся сначала, что указанная процедураможет быть       выполнена на каж­дом этапе. Пусть мы достигли некоторой вершины v, начав с вершины u, v<img src="/cache/referats/17579/image062.gif" v:shapes="_x0000_i1071"> u. Удалив ребра пути из vв u, видим,

что  оставшийсяграф G1связен и содержит ровно две нечет­ных вершины

vи u. Согласно теореме 2 граф G1имеет эйлеров путь Р из vви. Посколь­ку удаление первого ребра инцидентного uпути Pлибо не нарушает связности G1,либо происходитудаление вершины uи оставшийся граф G2связен с двумя нечетнымивер-

шинами, то отсюда получаем, что описанноевыше построение всегда возможно на каж­дом шаге. (Если v= и, то доказательство не меняется,если имеются ребра, инцидентные u). Покажем, что даннаяпроцедура приводит к эйлерову пути. Действительно, в Gне может быть ребер, оставшихся непройденными послеиспользования последнего ребра, инцидентного u, поскольку в противномслучае удаление ребра, смежному одному из оставшихся, привело бы к несвязномуграфу, что противоречит 2). ♦

Вкачестве одного из применений эйлеровых графов приведем следующее.

Пусть А = {0, 1, ..., m-1} — алфавит из mбукв. Ясно, что имеется

mn, различных слов длины nв алфавите А.Последовательностью де Брейна называется циклическое слово a0 a1…aL-1        в алфавите А, такое, что подпоследовательности     вида         aiai+1…ai+n-1 i= 0, ..., L-1состоят из всех возможных L= mnслов длины n.Наиболее важный случай для приложений m= 2. Последовательностиде Брейна производятся полноцикловыми регистрами сдвига. Покажем существованиепоследовательностей де Брейна.

<img src="/cache/referats/17579/image064.jpg" v:shapes="_x0000_i1072">

Пример.

Определим ориентированныйграф Gm,n(V,E) следующим образом

1) Vявляется множеством всех mn-1слов длины n-1 над A

2) Е является множествомвсех mnслов длины nнад A

<img src="/cache/referats/17579/image066.jpg" v:shapes="_x0000_i1073">


3) дуга (a1, a2… ,an) имеет начальной вершиной (a1, … ,an-1) и конечной (an, … ,an).

Приведем граф G2,3:  

Ясно, что последовательности де Брейна соответствуетзамкнутый путь в графе Gm,nсодержащий каждую дугуточно один раз. Обратно, ориентированный цикл в Gm,n, содержащийкаж

еще рефераты
Еще работы по математике