Wykªad 4. Droga i cykl Eulera i Hamiltona

Podobne dokumenty
Wykład 4. Droga i cykl Eulera i Hamiltona

Droga i cykl Eulera Przykłady zastosowania drogi i cyku Eulera Droga i cykl Hamiltona. Wykład 4. Droga i cykl Eulera i Hamiltona

Teoria grafów i jej zastosowania. 1 / 126

c Marcin Sydow Spójno± Grafy i Zastosowania Grafy Eulerowskie 2: Drogi i Cykle Grafy Hamiltonowskie Podsumowanie

Mosty królewieckie, chi«ski listonosz i... kojarzenie maª»e«stw

Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA. W obu podpunktach zakªadamy,»e kolejno± ta«ców jest wa»na.

c Marcin Sydow Wst p Grafy i Zastosowania Wierzchoªki 8: Kolorowanie Grafów Mapy Kraw dzie Zliczanie Podsumowanie

Teoria grafów i sieci 1 / 58

Zadania z kolokwiów ze Wst pu do Informatyki. Semestr II.

1) Grafy eulerowskie własnoci algorytmy. 2) Problem chiskiego listonosza

Metody dowodzenia twierdze«

JAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1

Przykªady problemów optymalizacji kombinatorycznej

Metodydowodzenia twierdzeń

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14

c Marcin Sydow Przepªywy Grafy i Zastosowania Podsumowanie 12: Przepªywy w sieciach

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14

1 Metody iteracyjne rozwi zywania równania f(x)=0

Relacj binarn okre±lon w zbiorze X nazywamy podzbiór ϱ X X.

Wykªad 1. Wprowadzenie do teorii grafów

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Materiaªy do Repetytorium z matematyki

Równania ró»niczkowe I rz du (RRIR) Twierdzenie Picarda. Anna D browska. WFTiMS. 23 marca 2010

10a: Wprowadzenie do grafów

Minimalne drzewa rozpinaj ce

XVII Warmi«sko-Mazurskie Zawody Matematyczne

Grafy i Zastosowania. 1: Wprowadzenie i poj cia podstawowe. c Marcin Sydow. Wprowadzenie. Podstawowe poj cia. Operacje na grafach.

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Problemy optymalizacyjne - zastosowania

Lab. 02: Algorytm Schrage

Podstawy matematyki dla informatyków

Wektory w przestrzeni

Algorytmy i Struktury Danych

Grafy i Zastosowania. 9: Digrafy (grafy skierowane) c Marcin Sydow. Digrafy. Porz dki cz ±ciowe * Euler i Hamilton. Turnieje

Notatki z AiSD. Nr 2. 4 marca 2010 Algorytmy Zachªanne.

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Maszyny Turinga i problemy nierozstrzygalne. Maszyny Turinga i problemy nierozstrzygalne

Ukªady równa«liniowych

Algorytmy grafowe 2. Andrzej Jastrz bski. Akademia ETI. Politechnika Gda«ska Algorytmy grafowe 2

Drzewa Gomory-Hu Wprowadzenie. Drzewa Gomory-Hu. Jakub Š cki. 14 pa¹dziernika 2009

Wykªad 4. Funkcje wielu zmiennych.

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Teoria grafów i sieci 1 / 188

c Marcin Sydow Planarno± Grafy i Zastosowania Tw. Eulera 7: Planarno± Inne powierzchnie Dualno± Podsumowanie

Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych.

Elementy geometrii w przestrzeni R 3

O pewnym zadaniu olimpijskim

Vincent Van GOGH: M»czyzna pij cy li»ank kawy. Radosªaw Klimek. J zyk programowania Java

Biedronka. Wej±cie. Wyj±cie. Przykªady. VI OIG Zawody dru»ynowe, Finaª. 19 V 2012 Dost pna pami : 64 MB.

Funkcja kwadratowa, wielomiany oraz funkcje wymierne

Grafy i Zastosowania. 5: Drzewa Rozpinaj ce. c Marcin Sydow. Drzewa rozpinaj ce. Cykle i rozci cia fundamentalne. Zastosowania

Grafy. Andrzej Jastrz bski. Akademia ET I. Politechnika Gda«ska

Metoda tablic semantycznych. 1 Metoda tablic semantycznych

Funkcje. Šukasz Dawidowski. 25 kwietnia 2016r. Powtórki maturalne

Algorytmiczna teoria grafów

12: Znajdowanie najkrótszych ±cie»ek w grafach

Twierdzenie Wainera. Marek Czarnecki. Warszawa, 3 lipca Wydziaª Filozoi i Socjologii Uniwersytet Warszawski

Elementy teorii grafów, sposoby reprezentacji grafów w komputerze

Suma dwóch grafów. Zespolenie dwóch grafów

Grafy. 3. G = (V, E ) jest podgrafem G = (V, G), je±li V V i E E. 4. G = (V, G) jest sum grafów G = (V, E ), G = (V, E ), je±li V = V V, E = E E.

Grafy i Zastosowania. 11: Twierdzenia Minimaksowe. c Marcin Sydow. Wst p: Tw. Halla. Dualno± Zbiory niezale»ne. Skojarzenia c.d.

Wybrane poj cia i twierdzenia z wykªadu z teorii liczb

ELEMENTARNA TEORIA LICZB. 1. Podzielno±

c Marcin Sydow Podstawy Grafy i Zastosowania Kod Prüfera 3: Drzewa Drzewa ukorzenione * Drzewa binarne Zastosowania Podsumowanie

Ekstremalnie fajne równania

Zdzisªaw Dzedzej, Katedra Analizy Nieliniowej pok. 611 Kontakt:

Matematyka dyskretna dla informatyków

Elementy teorii grafów, sposoby reprezentacji grafów w komputerze

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15

Zbiory i odwzorowania

Matematyka dyskretna

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

1 Bª dy i arytmetyka zmiennopozycyjna

Podstawowe algorytmy grafowe i ich zastosowania

Wst p teoretyczny do wiczenia nr 3 - Elementy kombinatoryki

c Marcin Sydow Grafy i Zastosowania BFS DFS 4: Przeszukiwanie Grafów (BFS, DFS i zastosowania) DFS nieskierowane DFS skierowane Podsumowanie

Listy i operacje pytania

Listy Inne przykªady Rozwi zywanie problemów. Listy w Mathematice. Marcin Karcz. Wydziaª Matematyki, Fizyki i Informatyki.

Arkusz maturalny. Šukasz Dawidowski. 25 kwietnia 2016r. Powtórki maturalne

ALGORYTMIKA Wprowadzenie do algorytmów

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Podstawowepojęciateorii grafów

Egzaminy i inne zadania. Semestr II.

Czy istnieje zamknięta droga spaceru przechodząca przez wszystkie mosty w Królewcu dokładnie jeden raz?

Ciaªa i wielomiany. 1 Denicja ciaªa. Ciaªa i wielomiany 1

Elementy geometrii analitycznej w przestrzeni

Zadania z PM II A. Strojnowski str. 1. Zadania przygotowawcze z Podstaw Matematyki seria 2

1 a + b 1 = 1 a + 1 b 1. (a + b 1)(a + b ab) = ab, (a + b)(a + b ab 1) = 0, (a + b)[a(1 b) + (b 1)] = 0,

Funkcje, wielomiany. Informacje pomocnicze

TEORIA GRAFÓW I SIECI

Hotel Hilberta. Zdumiewaj cy ±wiat niesko«czono±ci. Marcin Kysiak. Festiwal Nauki, Instytut Matematyki Uniwersytetu Warszawskiego

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

TEORIA GRAFÓW. Graf skierowany dla ka»dej kraw dzi (oznaczanej tutaj jako ªuk) para wierzchoªków incydentnych jest par uporz dkowan {u, v}.

Wojewódzki Konkurs Matematyczny

Podstawowe algorytmy grafowe i ich zastosowania

Wst p do informatyki. Systemy liczbowe. Piotr Fulma«ski. 21 pa¹dziernika Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska

Bash i algorytmy. Elwira Wachowicz. 20 lutego

Wst p do sieci neuronowych, wykªad 14 Zespolone sieci neuronowe

Transkrypt:

Wykªad 4. Droga i cykl Eulera i Hamiltona 1 / 92

Grafy Eulera Droga i cykl Eulera Niech G b dzie grafem spójnym. Denicja Je»eli w grae G istnieje zamkni ta droga prosta zawieraj ca wszystkie kraw dzie grafu, to tak drog nazywamy cyklem Eulera, a graf grafem eulerowskim albo grafem Eulera. Denicja Je»eli w grae G istnieje droga prosta (nie koniecznie zamkni ta) zawieraj ca wszystkie kraw dzie grafu G, to tak drog nazywamy drog Eulera, za± graf ten nazywamy grafem póªeulerowskim. 2 / 92

Grafy Eulera Droga i cykl Eulera Niech G b dzie grafem spójnym. Denicja Je»eli w grae G istnieje zamkni ta droga prosta zawieraj ca wszystkie kraw dzie grafu, to tak drog nazywamy cyklem Eulera, a graf grafem eulerowskim albo grafem Eulera. Denicja Je»eli w grae G istnieje droga prosta (nie koniecznie zamkni ta) zawieraj ca wszystkie kraw dzie grafu G, to tak drog nazywamy drog Eulera, za± graf ten nazywamy grafem póªeulerowskim. 3 / 92

Grafy Eulera Droga i cykl Eulera Niech G b dzie grafem spójnym. Denicja Je»eli w grae G istnieje zamkni ta droga prosta zawieraj ca wszystkie kraw dzie grafu, to tak drog nazywamy cyklem Eulera, a graf grafem eulerowskim albo grafem Eulera. Denicja Je»eli w grae G istnieje droga prosta (nie koniecznie zamkni ta) zawieraj ca wszystkie kraw dzie grafu G, to tak drog nazywamy drog Eulera, za± graf ten nazywamy grafem póªeulerowskim. 4 / 92

Przykªad Droga i cykl Eulera z z y y z y w w w t x t x t x a) b) c) a) graf eulerowski, cykl Eulera - txwzxyz b) graf póªeulerowski, droga Eulera - txywtzy c) graf nie posiada ani cyklu, ani drogi Eulera 5 / 92

Przykªad Droga i cykl Eulera z z y y z y w w w t x t x t x a) b) c) a) graf eulerowski, cykl Eulera - txwzxyz b) graf póªeulerowski, droga Eulera - txywtzy c) graf nie posiada ani cyklu, ani drogi Eulera 6 / 92

Przykªad Droga i cykl Eulera z z y y z y w w w t x t x t x a) b) c) a) graf eulerowski, cykl Eulera - txwzxyz b) graf póªeulerowski, droga Eulera - txywtzy c) graf nie posiada ani cyklu, ani drogi Eulera 7 / 92

Przykªad Droga i cykl Eulera z z y y z y w w w t x t x t x a) b) c) a) graf eulerowski, cykl Eulera - txwzxyz b) graf póªeulerowski, droga Eulera - txywtzy c) graf nie posiada ani cyklu, ani drogi Eulera 8 / 92

Historia Droga i cykl Eulera W Królewcu, na rzece Pregole s dwie wyspy A i B poª czone ze sob, a tak»e z brzegami C i D za pomoc siedmiu mostów. Nale»y wyruszy z dowolnej cz ±ci l dowej miasta: A, B, C lub D, przej± przez ka»dy z mostów dokªadnie jeden raz i powróci do punktu wyj±ciowego (bez przepªywania przez rzek ). C Brzeg C Rzeka A B Wyspa A Wyspa B Brzeg D D W 1736 problem zostaª rozwi zany przez szwajcarskiego matematyka Leonharda Eulera (1707-1783). Zbudowaª on graf przedstawiony na rysunku przyporz dkowuj c obszarom l du wierzchoªki, a mostom - kraw dzie. Nale»aªo teraz odpowiedzie na pytanie: Czy tak otrzymany graf ma drog zamkni t, która zawiera wszystkie kraw dzie tylko raz? 9 / 92

Historia Droga i cykl Eulera W Królewcu, na rzece Pregole s dwie wyspy A i B poª czone ze sob, a tak»e z brzegami C i D za pomoc siedmiu mostów. Nale»y wyruszy z dowolnej cz ±ci l dowej miasta: A, B, C lub D, przej± przez ka»dy z mostów dokªadnie jeden raz i powróci do punktu wyj±ciowego (bez przepªywania przez rzek ). C Brzeg C Rzeka A B Wyspa A Wyspa B Brzeg D D W 1736 problem zostaª rozwi zany przez szwajcarskiego matematyka Leonharda Eulera (1707-1783). Zbudowaª on graf przedstawiony na rysunku przyporz dkowuj c obszarom l du wierzchoªki, a mostom - kraw dzie. Nale»aªo teraz odpowiedzie na pytanie: Czy tak otrzymany graf ma drog zamkni t, która zawiera wszystkie kraw dzie tylko raz? 10 / 92

Lemat Je»eli dla ka»dego wierzchoªka grafu G, deg(v) 2, dla v V, wówczas graf zawiera cykl. Dowód. Je»eli graf G zawiera kraw dzie wielokrotne lub p tle wówczas twierdzenie jest prawdziwe. Zakªadamy dalej,»e graf G jest grafem prostym. Niech v 0 b dzie dowolnym wierzchoªkiem grafu G. Utwórzmy drog prost wychodz ca z punktu v 0 wedªug algorytmu: 1 v 0 dowolny wierzchoªek grafu G, przyjmijmy v 1 = v 0 2 i 1 3 do drogi C doª czamy wierzchoªek v 0 4 while droga C nie jest cyklem 5 do 6 niech v i v i 2 b dzie s siadem wierzchoªka v i 1, wybór jest mo»liwy, poniewa» deg(v i 1 ) 2 7 if v i jest wierzchoªkiem nale» cym do drogi v i 1,..., v 0 8 then droga C zawiera cykl 9 else v i doª czamy do drogi C = v i, v i 1,..., v 0 10 i i + 1 11 / 92

Lemat Je»eli dla ka»dego wierzchoªka grafu G, deg(v) 2, dla v V, wówczas graf zawiera cykl. Dowód. Je»eli graf G zawiera kraw dzie wielokrotne lub p tle wówczas twierdzenie jest prawdziwe. Zakªadamy dalej,»e graf G jest grafem prostym. Niech v 0 b dzie dowolnym wierzchoªkiem grafu G. Utwórzmy drog prost wychodz ca z punktu v 0 wedªug algorytmu: 1 v 0 dowolny wierzchoªek grafu G, przyjmijmy v 1 = v 0 2 i 1 3 do drogi C doª czamy wierzchoªek v 0 4 while droga C nie jest cyklem 5 do 6 niech v i v i 2 b dzie s siadem wierzchoªka v i 1, wybór jest mo»liwy, poniewa» deg(v i 1 ) 2 7 if v i jest wierzchoªkiem nale» cym do drogi v i 1,..., v 0 8 then droga C zawiera cykl 9 else v i doª czamy do drogi C = v i, v i 1,..., v 0 10 i i + 1 12 / 92

Twierdzenie Eulera Graf spójny ma cykl Eulera gdy ka»dy wierzchoªek ma stopie«parzysty. Warunek konieczny. Je»eli graf G ma cykl Eulera, to ma wszystkie wierzchoªki stopnia parzystego. g f d k h c y x z b t s g f d k h c y x z b t s g f d k h c y x z b t s g f d k h c y x z b t s g f d k h c y x z b t s g f d k h c y x z b t s g f d k h c y x z b t s g f d k h c y x z b t s g f d k h c y x z b t s g f d k h c y x z b t s g f d k h c y x z b t s g f d k h c y x z b t s g f d k h c y x z b t s g f d k h c y x z b t s g f d k h c y z b t s g f d k h c y z b t s g f d k h c y z b t s g f d k h c y z b t s x t y x d s f c b h g k t y x z d s f c b h g k t...... y x z d s f c b h g k t...... Niech C b dzie cyklem Eulera (na rysunku C = zyxtsytz. Zaªó»my,»e startujemy z pierwszego wierzchoªka cyklu (na rysunku z), idziemy od wierzchoªka do wierzchoªka naszego cyklu i odejmujemy kraw d¹ (mo»e to by p tla), po której ostatnio przeszli±my. Dla ka»dego wierzchoªka cyklu oprócz wierzchoªka pierwszego odj cie dwóch kolejnych kraw dzi cyklu incydentnych z tym wierzchoªkiem zmniejsza jego stopie«o dwa. Gdy powrócimy do wierzchoªka startowego (na rysunku z) pozostan w grae jedynie wierzchoªki stopnia zerowego, co oznacza,»e na pocz tku wszystkie wierzchoªki miaªy stopie«parzysty. 13 / 92

Warunek dostateczny. Je»eli graf G ma wszystkie wierzchoªki stopnia parzystego, to ma cykl Eulera. Dowód oparty o zasad indukcji matematycznej, ze wzgl du na liczb kraw dzi m grafu. H H Niech m 1. Zaªó»my,»e twierdzenie jest prawdziwe dla wszystkich grafów posiadaj cych mniej ni» m kraw dzi. Niech G b dzie grafem spójnym, który posiada m kraw dzi oraz stopie«ka»dego wierzchoªka jest liczb parzyst. Poniewa» stopie«ka»dego wierzchoªka wynosi co najmniej H dwa, wi c z poprzedniego lematu wynika,»e graf G ma cykl C. Je±li (V C, E G ) = G wówczas dowód jest zako«czony. W przeciwnym razie ka»da skªadowa spójno±ci grafu G E C speªnia zaªo»enie indukcyjne, wi c jest eulerowska. Cykl Eulera w grae G wyznaczamy nast puj co: przechodzimy przez kolejne wierzchoªki cyklu C. Je±li bie» cy wierzchoªek nale»y do pewnej skªadowej spójno±ci, to od tego wierzchoªka wyznaczamy cykl Eulera w danej skªadowej, powracaj c do tego samego wierzchoªka cyklu C. 14 / 92

Twierdzenie Eulera o drodze Eulera Graf spójny maj cy dokªadnie dwa wierzchoªki stopnia nieparzystego ma drog Eulera. Wniosek Z ostatniego twierdzenia wynika,»e w grae póªeulerowskim, ka»da droga Eulera musi mie pocz tek w jednym wierzchoªku nieparzystego stopnia, a koniec w drugim takim wierzchoªku. 15 / 92

Twierdzenie Eulera o drodze Eulera Graf spójny maj cy dokªadnie dwa wierzchoªki stopnia nieparzystego ma drog Eulera. Wniosek Z ostatniego twierdzenia wynika,»e w grae póªeulerowskim, ka»da droga Eulera musi mie pocz tek w jednym wierzchoªku nieparzystego stopnia, a koniec w drugim takim wierzchoªku. 16 / 92

Twierdzenie Eulera dla grafów skierowanych Graf skierowany jest grafem Eulera wtedy i tylko wtedy, gdy dla dowolnego wierzchoªka v grafu, stopie«wej±ciowy jest równy stopniowi wyj±ciowemu. indeg(v) = outdeg(v) x 4 x 3 Cykl: x 3x 2x 4x 1x 2x 1x 4x 3 x 2 x 1 17 / 92

Twierdzenie Eulera dla grafów skierowanych Graf skierowany jest grafem Eulera wtedy i tylko wtedy, gdy dla dowolnego wierzchoªka v grafu, stopie«wej±ciowy jest równy stopniowi wyj±ciowemu. indeg(v) = outdeg(v) x 4 x 3 Cykl: x 3x 2x 4x 1x 2x 1x 4x 3 x 2 x 1 18 / 92

Zadanie chi«skiego listonosza Grafy de Bruijna Problem chi«skiego listonosza Zadanie to zostaªo sformuªowane przez chi«skiego matematyka Mei Ku Kwana. Listonosz wychodz c z budynku poczty musi obej± wszystkie ulice w swoim rejonie i powróci do budynku, przechodz c jak najkrótsz drog. W j zyku teorii grafów nale»y w grae spójnym znale¹ drog zamkni t z minimaln liczb kraw dzi albo, w przypadku grafu wa»onego z najmniejsz sum wag, która zawiera ka»d kraw d¹ co najmniej raz. Je»eli graf jest eulerowski, to rozwi zanie problemu jest jednoznaczne i jest nim dowolny cykl Eulera. Je»eli graf jest póªeulerowski, to rozwi zaniem problemu jest droga Eulera i najkrótsza droga powrotna do punktu startowego. Gdy graf nie jest ani eulerowski, ani póªeulerowski, to rozwa»any problem staje si trudny. Rozwi zanie problemu dostarczania poczty polega na wyznaczeniu pewnych kraw dzi, którymi trzeba si porusza kilka razy (innymi sªowy rysunek grafu uzupeªniamy kraw dziami wielokrotnymi, czyni c go grafem Eulera). Kraw dzie, które dorysowujemy wyznacza si u»ywaj c algorytmów: wyznaczania maksymalnego przepªywu i najkrótszych dróg lub stosuj c algorytm najkrótszych ±cie»ek i wyznaczania skojarzenia. 19 / 92

Zadanie chi«skiego listonosza Grafy de Bruijna Problem chi«skiego listonosza Zadanie to zostaªo sformuªowane przez chi«skiego matematyka Mei Ku Kwana. Listonosz wychodz c z budynku poczty musi obej± wszystkie ulice w swoim rejonie i powróci do budynku, przechodz c jak najkrótsz drog. W j zyku teorii grafów nale»y w grae spójnym znale¹ drog zamkni t z minimaln liczb kraw dzi albo, w przypadku grafu wa»onego z najmniejsz sum wag, która zawiera ka»d kraw d¹ co najmniej raz. Je»eli graf jest eulerowski, to rozwi zanie problemu jest jednoznaczne i jest nim dowolny cykl Eulera. Je»eli graf jest póªeulerowski, to rozwi zaniem problemu jest droga Eulera i najkrótsza droga powrotna do punktu startowego. Gdy graf nie jest ani eulerowski, ani póªeulerowski, to rozwa»any problem staje si trudny. Rozwi zanie problemu dostarczania poczty polega na wyznaczeniu pewnych kraw dzi, którymi trzeba si porusza kilka razy (innymi sªowy rysunek grafu uzupeªniamy kraw dziami wielokrotnymi, czyni c go grafem Eulera). Kraw dzie, które dorysowujemy wyznacza si u»ywaj c algorytmów: wyznaczania maksymalnego przepªywu i najkrótszych dróg lub stosuj c algorytm najkrótszych ±cie»ek i wyznaczania skojarzenia. 20 / 92

Zadanie chi«skiego listonosza Grafy de Bruijna Problem chi«skiego listonosza Zadanie to zostaªo sformuªowane przez chi«skiego matematyka Mei Ku Kwana. Listonosz wychodz c z budynku poczty musi obej± wszystkie ulice w swoim rejonie i powróci do budynku, przechodz c jak najkrótsz drog. W j zyku teorii grafów nale»y w grae spójnym znale¹ drog zamkni t z minimaln liczb kraw dzi albo, w przypadku grafu wa»onego z najmniejsz sum wag, która zawiera ka»d kraw d¹ co najmniej raz. Je»eli graf jest eulerowski, to rozwi zanie problemu jest jednoznaczne i jest nim dowolny cykl Eulera. Je»eli graf jest póªeulerowski, to rozwi zaniem problemu jest droga Eulera i najkrótsza droga powrotna do punktu startowego. Gdy graf nie jest ani eulerowski, ani póªeulerowski, to rozwa»any problem staje si trudny. Rozwi zanie problemu dostarczania poczty polega na wyznaczeniu pewnych kraw dzi, którymi trzeba si porusza kilka razy (innymi sªowy rysunek grafu uzupeªniamy kraw dziami wielokrotnymi, czyni c go grafem Eulera). Kraw dzie, które dorysowujemy wyznacza si u»ywaj c algorytmów: wyznaczania maksymalnego przepªywu i najkrótszych dróg lub stosuj c algorytm najkrótszych ±cie»ek i wyznaczania skojarzenia. 21 / 92

Ci g de Bruijna Droga i cykl Eulera Zadanie chi«skiego listonosza Grafy de Bruijna Niech dla ustalonego k N A k := {0, 1, 2,..., k 1}. Zbiór A k b dziemy nazywa alfabetem zªo»onym z k liter 0, 1, 2,..., k 1. Denicja Sªowem dªugo±ci n nad alfabetem A k nazywamy ka»dy ci g n wyrazowy zbudowany z liter alfabetu A k. Denicja Sªowem cyklicznym dªugo±ci s nad alfabetem A k nazywamy ka»dy cykliczny ci g dªugo±ci s zbudowany z liter alfabetu A k. Denicja Ci giem de Bruijna rz du n nad alfabetem A k nazywamy sªowo cykliczne dªugo±ci k n zawieraj ce wszystkie mo»liwe sªowa dªugo±ci n. 22 / 92

Ci g de Bruijna Droga i cykl Eulera Zadanie chi«skiego listonosza Grafy de Bruijna Niech dla ustalonego k N A k := {0, 1, 2,..., k 1}. Zbiór A k b dziemy nazywa alfabetem zªo»onym z k liter 0, 1, 2,..., k 1. Denicja Sªowem dªugo±ci n nad alfabetem A k nazywamy ka»dy ci g n wyrazowy zbudowany z liter alfabetu A k. Denicja Sªowem cyklicznym dªugo±ci s nad alfabetem A k nazywamy ka»dy cykliczny ci g dªugo±ci s zbudowany z liter alfabetu A k. Denicja Ci giem de Bruijna rz du n nad alfabetem A k nazywamy sªowo cykliczne dªugo±ci k n zawieraj ce wszystkie mo»liwe sªowa dªugo±ci n. 23 / 92

Ci g de Bruijna Droga i cykl Eulera Zadanie chi«skiego listonosza Grafy de Bruijna Niech dla ustalonego k N A k := {0, 1, 2,..., k 1}. Zbiór A k b dziemy nazywa alfabetem zªo»onym z k liter 0, 1, 2,..., k 1. Denicja Sªowem dªugo±ci n nad alfabetem A k nazywamy ka»dy ci g n wyrazowy zbudowany z liter alfabetu A k. Denicja Sªowem cyklicznym dªugo±ci s nad alfabetem A k nazywamy ka»dy cykliczny ci g dªugo±ci s zbudowany z liter alfabetu A k. Denicja Ci giem de Bruijna rz du n nad alfabetem A k nazywamy sªowo cykliczne dªugo±ci k n zawieraj ce wszystkie mo»liwe sªowa dªugo±ci n. 24 / 92

Ci g de Bruijna Droga i cykl Eulera Zadanie chi«skiego listonosza Grafy de Bruijna Niech dla ustalonego k N A k := {0, 1, 2,..., k 1}. Zbiór A k b dziemy nazywa alfabetem zªo»onym z k liter 0, 1, 2,..., k 1. Denicja Sªowem dªugo±ci n nad alfabetem A k nazywamy ka»dy ci g n wyrazowy zbudowany z liter alfabetu A k. Denicja Sªowem cyklicznym dªugo±ci s nad alfabetem A k nazywamy ka»dy cykliczny ci g dªugo±ci s zbudowany z liter alfabetu A k. Denicja Ci giem de Bruijna rz du n nad alfabetem A k nazywamy sªowo cykliczne dªugo±ci k n zawieraj ce wszystkie mo»liwe sªowa dªugo±ci n. 25 / 92

Zadanie chi«skiego listonosza Grafy de Bruijna Przykªady Dla alfabetu A = {0, 1} (k = 2) dla n = 1: 01 dla n = 2: 0110 dla n = 3: 01110100 dla n = 4: 0000100110101111 Dla alfabetu A = {0, 1, 2}) i n = 3: 011220210 26 / 92

Zadanie chi«skiego listonosza Grafy de Bruijna Przykªady Dla alfabetu A = {0, 1} (k = 2) dla n = 1: 01 dla n = 2: 0110 dla n = 3: 01110100 dla n = 4: 0000100110101111 Dla alfabetu A = {0, 1, 2}) i n = 3: 011220210 27 / 92

Zadanie chi«skiego listonosza Grafy de Bruijna Przykªady Dla alfabetu A = {0, 1} (k = 2) dla n = 1: 01 dla n = 2: 0110 dla n = 3: 01110100 dla n = 4: 0000100110101111 Dla alfabetu A = {0, 1, 2}) i n = 3: 011220210 28 / 92

Zadanie chi«skiego listonosza Grafy de Bruijna Przykªady Dla alfabetu A = {0, 1} (k = 2) dla n = 1: 01 dla n = 2: 0110 dla n = 3: 01110100 dla n = 4: 0000100110101111 Dla alfabetu A = {0, 1, 2}) i n = 3: 011220210 29 / 92

Zadanie chi«skiego listonosza Grafy de Bruijna Przykªady Dla alfabetu A = {0, 1} (k = 2) dla n = 1: 01 dla n = 2: 0110 dla n = 3: 01110100 dla n = 4: 0000100110101111 Dla alfabetu A = {0, 1, 2}) i n = 3: 011220210 30 / 92

Zadanie chi«skiego listonosza Grafy de Bruijna Przykªady Dla alfabetu A = {0, 1} (k = 2) dla n = 1: 01 dla n = 2: 0110 dla n = 3: 01110100 dla n = 4: 0000100110101111 Dla alfabetu A = {0, 1, 2}) i n = 3: 011220210 31 / 92

Graf de Bruijna Droga i cykl Eulera Zadanie chi«skiego listonosza Grafy de Bruijna Denicja n-wymiarowym grafem de Bruijna alfabetu A k, nazywamy skierowany graf G = V, E, którego wierzchoªki wzajemnie jednoznacznie odpowiadaj sªowom o dªugo±ci n, natomiast E = {((v 1, v 2,..., v n), (v 2, v 3,..., v n, v)) : v 1, v 2,..., v n, v A k }. Kraw dziom grafu de Bruijna mo»na przyporz dkowa wagi. Kraw dzi e = ((v 1, v 2,..., v n), (v 2, v 3,..., v n, v)) przyporz dkowujemy wag v. Ci g de Bruijna rz du n nad alfabetem A k mo»e by skonstruowany przy u»yciu cyklu Eulera w (n 1) wymiarowym grae de Bruijna alfabetu A k. 32 / 92

Graf de Bruijna Droga i cykl Eulera Zadanie chi«skiego listonosza Grafy de Bruijna Denicja n-wymiarowym grafem de Bruijna alfabetu A k, nazywamy skierowany graf G = V, E, którego wierzchoªki wzajemnie jednoznacznie odpowiadaj sªowom o dªugo±ci n, natomiast E = {((v 1, v 2,..., v n), (v 2, v 3,..., v n, v)) : v 1, v 2,..., v n, v A k }. Kraw dziom grafu de Bruijna mo»na przyporz dkowa wagi. Kraw dzi e = ((v 1, v 2,..., v n), (v 2, v 3,..., v n, v)) przyporz dkowujemy wag v. Ci g de Bruijna rz du n nad alfabetem A k mo»e by skonstruowany przy u»yciu cyklu Eulera w (n 1) wymiarowym grae de Bruijna alfabetu A k. 33 / 92

Graf de Bruijna Droga i cykl Eulera Zadanie chi«skiego listonosza Grafy de Bruijna Denicja n-wymiarowym grafem de Bruijna alfabetu A k, nazywamy skierowany graf G = V, E, którego wierzchoªki wzajemnie jednoznacznie odpowiadaj sªowom o dªugo±ci n, natomiast E = {((v 1, v 2,..., v n), (v 2, v 3,..., v n, v)) : v 1, v 2,..., v n, v A k }. Kraw dziom grafu de Bruijna mo»na przyporz dkowa wagi. Kraw dzi e = ((v 1, v 2,..., v n), (v 2, v 3,..., v n, v)) przyporz dkowujemy wag v. Ci g de Bruijna rz du n nad alfabetem A k mo»e by skonstruowany przy u»yciu cyklu Eulera w (n 1) wymiarowym grae de Bruijna alfabetu A k. 34 / 92

Denicja Drog Hamiltona nazywamy drog, która przechodzi przez ka»dy wierzchoªek grafu dokªadnie jeden raz. Denicja Cyklem Hamiltona nazywamy cykl przechodz cy przez wszystkie wierzchoªki grafu. Graf posiadaj cy cykl Hamiltona nazywamy grafem hamiltonowskim, a graf posiadaj cy tylko drog Hamiltona - grafem póªhamiltonowskim. w w v w z u z u z x y x y x y a) b) c) 35 / 92

Denicja Drog Hamiltona nazywamy drog, która przechodzi przez ka»dy wierzchoªek grafu dokªadnie jeden raz. Denicja Cyklem Hamiltona nazywamy cykl przechodz cy przez wszystkie wierzchoªki grafu. Graf posiadaj cy cykl Hamiltona nazywamy grafem hamiltonowskim, a graf posiadaj cy tylko drog Hamiltona - grafem póªhamiltonowskim. w w v w z u z u z x y x y x y a) b) c) 36 / 92

Denicja Drog Hamiltona nazywamy drog, która przechodzi przez ka»dy wierzchoªek grafu dokªadnie jeden raz. Denicja Cyklem Hamiltona nazywamy cykl przechodz cy przez wszystkie wierzchoªki grafu. Graf posiadaj cy cykl Hamiltona nazywamy grafem hamiltonowskim, a graf posiadaj cy tylko drog Hamiltona - grafem póªhamiltonowskim. w w v w z u z u z x y x y x y a) b) c) 37 / 92

Denicja Drog Hamiltona nazywamy drog, która przechodzi przez ka»dy wierzchoªek grafu dokªadnie jeden raz. Denicja Cyklem Hamiltona nazywamy cykl przechodz cy przez wszystkie wierzchoªki grafu. Graf posiadaj cy cykl Hamiltona nazywamy grafem hamiltonowskim, a graf posiadaj cy tylko drog Hamiltona - grafem póªhamiltonowskim. w w v w z u z u z x y x y x y a) b) c) 38 / 92

Kod Greya Droga i cykl Eulera Zacznijmy od nast puj cej obserwacji: Niech ci g (C 1, C 2,..., C m) zawiera wszystkie ci gi binarne C i dªugo±ci k (jest ich 2 k ), przy czym C i ró»ni si od C i+1 na dokªadnie jednej wspóªrz dnej. Wówczas ci g C 10, C 20,..., C m0, C m1, C m 11,...C 11 zawiera wszystkie ci gi binarne dªugo±ci k + 1, przy czym ka»de dwa s siednie ci gi ró»ni si na dokªadnie jednej wspóªrz dnej. W ten sposób konstruujemy prosty algorytm rekurencyjny generuj cy wszystkie ci gi binarne dªugo±ci n. Otrzymany ci g C 1, C 2,..., C 2 n nazywamy kodem binarnym Greya rz du n. 39 / 92

Kod Greya Droga i cykl Eulera Zacznijmy od nast puj cej obserwacji: Niech ci g (C 1, C 2,..., C m) zawiera wszystkie ci gi binarne C i dªugo±ci k (jest ich 2 k ), przy czym C i ró»ni si od C i+1 na dokªadnie jednej wspóªrz dnej. Wówczas ci g C 10, C 20,..., C m0, C m1, C m 11,...C 11 zawiera wszystkie ci gi binarne dªugo±ci k + 1, przy czym ka»de dwa s siednie ci gi ró»ni si na dokªadnie jednej wspóªrz dnej. W ten sposób konstruujemy prosty algorytm rekurencyjny generuj cy wszystkie ci gi binarne dªugo±ci n. Otrzymany ci g C 1, C 2,..., C 2 n nazywamy kodem binarnym Greya rz du n. 40 / 92

Kod Greya Droga i cykl Eulera Zacznijmy od nast puj cej obserwacji: Niech ci g (C 1, C 2,..., C m) zawiera wszystkie ci gi binarne C i dªugo±ci k (jest ich 2 k ), przy czym C i ró»ni si od C i+1 na dokªadnie jednej wspóªrz dnej. Wówczas ci g C 10, C 20,..., C m0, C m1, C m 11,...C 11 zawiera wszystkie ci gi binarne dªugo±ci k + 1, przy czym ka»de dwa s siednie ci gi ró»ni si na dokªadnie jednej wspóªrz dnej. W ten sposób konstruujemy prosty algorytm rekurencyjny generuj cy wszystkie ci gi binarne dªugo±ci n. Otrzymany ci g C 1, C 2,..., C 2 n nazywamy kodem binarnym Greya rz du n. 41 / 92

Kod Greya Droga i cykl Eulera Zacznijmy od nast puj cej obserwacji: Niech ci g (C 1, C 2,..., C m) zawiera wszystkie ci gi binarne C i dªugo±ci k (jest ich 2 k ), przy czym C i ró»ni si od C i+1 na dokªadnie jednej wspóªrz dnej. Wówczas ci g C 10, C 20,..., C m0, C m1, C m 11,...C 11 zawiera wszystkie ci gi binarne dªugo±ci k + 1, przy czym ka»de dwa s siednie ci gi ró»ni si na dokªadnie jednej wspóªrz dnej. W ten sposób konstruujemy prosty algorytm rekurencyjny generuj cy wszystkie ci gi binarne dªugo±ci n. Otrzymany ci g C 1, C 2,..., C 2 n nazywamy kodem binarnym Greya rz du n. 42 / 92

Cykl Hamiltona w kostce Q n W kostce n-wymiarowej Q n, kolejno± ci gów binarnych, wygenerowanych przez kod Grey'a stanowi drog Hamiltona w tej kostce. 100 101 110 111 010 011 000 001 43 / 92

Warunek konieczny istnienia cyklu Hamiltona Twierdzenie Je»eli graf o n wierzchoªkach jest hamiltonowski, to posiada co najmniej n kraw dzi. 44 / 92

Warunki wystarczaj ce istnienia cyklu Hamiltona Twierdzenie Ka»dy graf peªny K n jest grafem Hamiltona. K 3 K 4 K 5 45 / 92

Warunki wystarczaj ce istnienia cyklu Hamiltona Twierdzenie Ka»dy graf peªny K n jest grafem Hamiltona. K 3 K 4 K 5 46 / 92

Warunki wystarczaj ce istnienia cyklu Hamiltona Twierdzenie Ore (1960) Niech graf G = V, E b dzie grafem spójnym i niech V = n 3 (tzn. graf G ma co najmniej trzy wierzchoªki). Je»eli deg(u) + deg(w) n dla ka»dej pary wierzchoªków u, w V, które nie s poª czone kraw dzi, to graf G jest grafem hamiltonowskim. u z u z x 6 x 5 w v x 7 X 4 w x 8 x 3 x y x G 1 G 2 G 3 y x 1 x 2 a) b) c) 47 / 92

Warunki wystarczaj ce istnienia cyklu Hamiltona Twierdzenie Ore (1960) Niech graf G = V, E b dzie grafem spójnym i niech V = n 3 (tzn. graf G ma co najmniej trzy wierzchoªki). Je»eli deg(u) + deg(w) n dla ka»dej pary wierzchoªków u, w V, które nie s poª czone kraw dzi, to graf G jest grafem hamiltonowskim. u z u z x 6 x 5 w v x 7 X 4 w x 8 x 3 x y x G 1 G 2 G 3 y x 1 x 2 a) b) c) 48 / 92

Warunki wystarczaj ce istnienia cyklu Hamiltona Twierdzenie Dirac (1952) Je»eli w grae prostym i spójnym G = V, E o n wierzchoªkach (n 3) oraz stopie«ka»dego wierzchoªka u V speªnia warunek deg(u) 1 n, to 2 graf G jest grafem hamiltonowskim. Twierdzenie Je»eli w grae prostym i spójnym G o n wierzchoªkach jest co najmniej (n 1)(n 2) + 2 kraw dzi, to graf G jest grafem hamiltonowskim. 1 2 49 / 92

Warunki wystarczaj ce istnienia cyklu Hamiltona Twierdzenie Dirac (1952) Je»eli w grae prostym i spójnym G = V, E o n wierzchoªkach (n 3) oraz stopie«ka»dego wierzchoªka u V speªnia warunek deg(u) 1 n, to 2 graf G jest grafem hamiltonowskim. Twierdzenie Je»eli w grae prostym i spójnym G o n wierzchoªkach jest co najmniej (n 1)(n 2) + 2 kraw dzi, to graf G jest grafem hamiltonowskim. 1 2 50 / 92

warunek konieczny Twierdzenie Niech G = (V 1 V 2, E) b dzie grafem dwudzielnym Je±li G ma cykl Hamiltona, to V 1 = V 2. Je±li G ma drog Hamiltona, to V 1 V 2 1. 51 / 92

peªnych warunek wystarczaj cy Twierdzenie Niech G = (V 1 V 2, E) b dzie grafem peªnym dwudzielnym Je±li V 1 = V 2, to G ma cykl Hamiltona. Je±li V 1 V 2 1, to G ma drog Hamiltona. 52 / 92

Cykle Hamiltona rozª czne kraw dziowo Denicja Dwa cykle s rozª czne kraw dziowo, gdy ka»da kraw d¹ nale»y tylko do jednego cyklu w grae. Twierdzenie Graf peªny K n zawiera [ ] n 1 2 rozª cznych kraw dziowo cykli Hamiltona. W grae K 5 mamy [ ] 5 1 = 2 2 W grae K 4 mamy [ ] [ 4 1 = 1 1 ] = 1 2 2 53 / 92

Cykle Hamiltona rozª czne kraw dziowo Denicja Dwa cykle s rozª czne kraw dziowo, gdy ka»da kraw d¹ nale»y tylko do jednego cyklu w grae. Twierdzenie Graf peªny K n zawiera [ ] n 1 2 rozª cznych kraw dziowo cykli Hamiltona. W grae K 5 mamy [ ] 5 1 = 2 2 W grae K 4 mamy [ ] [ 4 1 = 1 1 ] = 1 2 2 54 / 92

Cykle Hamiltona rozª czne kraw dziowo Denicja Dwa cykle s rozª czne kraw dziowo, gdy ka»da kraw d¹ nale»y tylko do jednego cyklu w grae. Twierdzenie Graf peªny K n zawiera [ ] n 1 2 rozª cznych kraw dziowo cykli Hamiltona. W grae K 5 mamy [ ] 5 1 = 2 2 W grae K 4 mamy [ ] [ 4 1 = 1 1 ] = 1 2 2 55 / 92

Twierdzenie Graf peªny K n zawiera ró»nych cykli Hamiltona. (n 1)! 2 W grae K 4 mamy (4 1)! 2 = 3 ró»ne cykle Hamiltona W grae K 5 mamy (5 1)! 2 = 12 cykli Hamiltona, W grae K 20 mamy 19! 2 > 1017 ró»nych cykli Hamiltona. 56 / 92

Twierdzenie Graf peªny K n zawiera ró»nych cykli Hamiltona. (n 1)! 2 W grae K 4 mamy (4 1)! 2 = 3 ró»ne cykle Hamiltona W grae K 5 mamy (5 1)! 2 = 12 cykli Hamiltona, W grae K 20 mamy 19! 2 > 1017 ró»nych cykli Hamiltona. 57 / 92

Twierdzenie Graf peªny K n zawiera ró»nych cykli Hamiltona. (n 1)! 2 W grae K 4 mamy (4 1)! 2 = 3 ró»ne cykle Hamiltona W grae K 5 mamy (5 1)! 2 = 12 cykli Hamiltona, W grae K 20 mamy 19! 2 > 1017 ró»nych cykli Hamiltona. 58 / 92

Twierdzenie Graf peªny K n zawiera ró»nych cykli Hamiltona. (n 1)! 2 W grae K 4 mamy (4 1)! 2 = 3 ró»ne cykle Hamiltona W grae K 5 mamy (5 1)! 2 = 12 cykli Hamiltona, W grae K 20 mamy 19! 2 > 1017 ró»nych cykli Hamiltona. 59 / 92

Komiwoja»er ma odwiedzi kilka miast (ka»de dokªadnie jeden raz) i powróci do miasta, z którego wyruszyª przebywaj c ª cznie najkrótsz (najta«sz, lub najszybciej przebyt ) drog. Znane s odlegªo±ci (koszty lub czas) przejazdu mi dzy ka»d par miast. Nale»y wyznaczy komiwoja»erowi tras przejazdu tak, aby mógª odwiedzi ka»de miasto dokªadnie jeden raz i caªkowita droga (koszt lub czas) podró»y byªa/byª mo»liwie najkrótsza/najmniejszy. Problem ten mo»emy sformuªowa w teorii n wierzchoªkowej sieci peªnej, a nast pnie znale¹ najkrótszy (najta«szy lub najszybszy) cykl Hamiltona o n wierzchoªkach. a b 20 75 40 c Przykªadowo, w sieci na rysunku cykl a, b, c, d, e, a ma wag 230, a cykl a, b, e, c, d, a ma wag 110. 20 25 30 15 30 40 65 60 / 92

Komiwoja»er ma odwiedzi kilka miast (ka»de dokªadnie jeden raz) i powróci do miasta, z którego wyruszyª przebywaj c ª cznie najkrótsz (najta«sz, lub najszybciej przebyt ) drog. Znane s odlegªo±ci (koszty lub czas) przejazdu mi dzy ka»d par miast. Nale»y wyznaczy komiwoja»erowi tras przejazdu tak, aby mógª odwiedzi ka»de miasto dokªadnie jeden raz i caªkowita droga (koszt lub czas) podró»y byªa/byª mo»liwie najkrótsza/najmniejszy. Problem ten mo»emy sformuªowa w teorii n wierzchoªkowej sieci peªnej, a nast pnie znale¹ najkrótszy (najta«szy lub najszybszy) cykl Hamiltona o n wierzchoªkach. a b 20 75 40 c Przykªadowo, w sieci na rysunku cykl a, b, c, d, e, a ma wag 230, a cykl a, b, e, c, d, a ma wag 110. 20 25 30 15 30 40 65 61 / 92

Teoretycznie problem komiwoja»era mo»na rozwi za poprzez wyznaczenie 1 (n 1)! cykli Hamiltona i wybranie tego, który ma najmniejsz sum wag. 2 Oczywi±cie, metoda ta jest bardzo nieefektywna. Bowiem, je±li dysponujemy komputerem sprawdzaj cym milion permutacji na sekund, to: n = 10 liczba cykli wynosi (10 1)!/2 = 181440 czas oblicze«= 1.8 s n = 20 liczba cykli wynosi (20 1)!/2 = 60822550204416000 czas oblicze«ok. 29330 lat jest NP-zupeªny. Rozwi zania problemu komiwoja»era, mo»emy wybra jedn z dwóch metod: metod dokªadn, np. metod podziaªu i ogranicze«, która wygeneruje dokªadne rozwi zanie, ale dziaªaj c w czasie wykªadniczym (a wi c metoda wolna), metod przybli»on (inaczej nazywan metod aproksymacyjn ), która generuje rozwi zanie bliskie optymalnemu ale dziaªaj c w czasie wielomianowym. 62 / 92

Teoretycznie problem komiwoja»era mo»na rozwi za poprzez wyznaczenie 1 (n 1)! cykli Hamiltona i wybranie tego, który ma najmniejsz sum wag. 2 Oczywi±cie, metoda ta jest bardzo nieefektywna. Bowiem, je±li dysponujemy komputerem sprawdzaj cym milion permutacji na sekund, to: n = 10 liczba cykli wynosi (10 1)!/2 = 181440 czas oblicze«= 1.8 s n = 20 liczba cykli wynosi (20 1)!/2 = 60822550204416000 czas oblicze«ok. 29330 lat jest NP-zupeªny. Rozwi zania problemu komiwoja»era, mo»emy wybra jedn z dwóch metod: metod dokªadn, np. metod podziaªu i ogranicze«, która wygeneruje dokªadne rozwi zanie, ale dziaªaj c w czasie wykªadniczym (a wi c metoda wolna), metod przybli»on (inaczej nazywan metod aproksymacyjn ), która generuje rozwi zanie bliskie optymalnemu ale dziaªaj c w czasie wielomianowym. 63 / 92

Teoretycznie problem komiwoja»era mo»na rozwi za poprzez wyznaczenie 1 (n 1)! cykli Hamiltona i wybranie tego, który ma najmniejsz sum wag. 2 Oczywi±cie, metoda ta jest bardzo nieefektywna. Bowiem, je±li dysponujemy komputerem sprawdzaj cym milion permutacji na sekund, to: n = 10 liczba cykli wynosi (10 1)!/2 = 181440 czas oblicze«= 1.8 s n = 20 liczba cykli wynosi (20 1)!/2 = 60822550204416000 czas oblicze«ok. 29330 lat jest NP-zupeªny. Rozwi zania problemu komiwoja»era, mo»emy wybra jedn z dwóch metod: metod dokªadn, np. metod podziaªu i ogranicze«, która wygeneruje dokªadne rozwi zanie, ale dziaªaj c w czasie wykªadniczym (a wi c metoda wolna), metod przybli»on (inaczej nazywan metod aproksymacyjn ), która generuje rozwi zanie bliskie optymalnemu ale dziaªaj c w czasie wielomianowym. 64 / 92

Teoretycznie problem komiwoja»era mo»na rozwi za poprzez wyznaczenie 1 (n 1)! cykli Hamiltona i wybranie tego, który ma najmniejsz sum wag. 2 Oczywi±cie, metoda ta jest bardzo nieefektywna. Bowiem, je±li dysponujemy komputerem sprawdzaj cym milion permutacji na sekund, to: n = 10 liczba cykli wynosi (10 1)!/2 = 181440 czas oblicze«= 1.8 s n = 20 liczba cykli wynosi (20 1)!/2 = 60822550204416000 czas oblicze«ok. 29330 lat jest NP-zupeªny. Rozwi zania problemu komiwoja»era, mo»emy wybra jedn z dwóch metod: metod dokªadn, np. metod podziaªu i ogranicze«, która wygeneruje dokªadne rozwi zanie, ale dziaªaj c w czasie wykªadniczym (a wi c metoda wolna), metod przybli»on (inaczej nazywan metod aproksymacyjn ), która generuje rozwi zanie bliskie optymalnemu ale dziaªaj c w czasie wielomianowym. 65 / 92

Teoretycznie problem komiwoja»era mo»na rozwi za poprzez wyznaczenie 1 (n 1)! cykli Hamiltona i wybranie tego, który ma najmniejsz sum wag. 2 Oczywi±cie, metoda ta jest bardzo nieefektywna. Bowiem, je±li dysponujemy komputerem sprawdzaj cym milion permutacji na sekund, to: n = 10 liczba cykli wynosi (10 1)!/2 = 181440 czas oblicze«= 1.8 s n = 20 liczba cykli wynosi (20 1)!/2 = 60822550204416000 czas oblicze«ok. 29330 lat jest NP-zupeªny. Rozwi zania problemu komiwoja»era, mo»emy wybra jedn z dwóch metod: metod dokªadn, np. metod podziaªu i ogranicze«, która wygeneruje dokªadne rozwi zanie, ale dziaªaj c w czasie wykªadniczym (a wi c metoda wolna), metod przybli»on (inaczej nazywan metod aproksymacyjn ), która generuje rozwi zanie bliskie optymalnemu ale dziaªaj c w czasie wielomianowym. 66 / 92

Teoretycznie problem komiwoja»era mo»na rozwi za poprzez wyznaczenie 1 (n 1)! cykli Hamiltona i wybranie tego, który ma najmniejsz sum wag. 2 Oczywi±cie, metoda ta jest bardzo nieefektywna. Bowiem, je±li dysponujemy komputerem sprawdzaj cym milion permutacji na sekund, to: n = 10 liczba cykli wynosi (10 1)!/2 = 181440 czas oblicze«= 1.8 s n = 20 liczba cykli wynosi (20 1)!/2 = 60822550204416000 czas oblicze«ok. 29330 lat jest NP-zupeªny. Rozwi zania problemu komiwoja»era, mo»emy wybra jedn z dwóch metod: metod dokªadn, np. metod podziaªu i ogranicze«, która wygeneruje dokªadne rozwi zanie, ale dziaªaj c w czasie wykªadniczym (a wi c metoda wolna), metod przybli»on (inaczej nazywan metod aproksymacyjn ), która generuje rozwi zanie bliskie optymalnemu ale dziaªaj c w czasie wielomianowym. 67 / 92

Teoretycznie problem komiwoja»era mo»na rozwi za poprzez wyznaczenie 1 (n 1)! cykli Hamiltona i wybranie tego, który ma najmniejsz sum wag. 2 Oczywi±cie, metoda ta jest bardzo nieefektywna. Bowiem, je±li dysponujemy komputerem sprawdzaj cym milion permutacji na sekund, to: n = 10 liczba cykli wynosi (10 1)!/2 = 181440 czas oblicze«= 1.8 s n = 20 liczba cykli wynosi (20 1)!/2 = 60822550204416000 czas oblicze«ok. 29330 lat jest NP-zupeªny. Rozwi zania problemu komiwoja»era, mo»emy wybra jedn z dwóch metod: metod dokªadn, np. metod podziaªu i ogranicze«, która wygeneruje dokªadne rozwi zanie, ale dziaªaj c w czasie wykªadniczym (a wi c metoda wolna), metod przybli»on (inaczej nazywan metod aproksymacyjn ), która generuje rozwi zanie bliskie optymalnemu ale dziaªaj c w czasie wielomianowym. 68 / 92

Historia TSP - Travelling salesman problem http://www.tsp.gatech.edu//history/pictorial/dfj.html 69 / 92

Historia TSP - Travelling salesman problem Dla 49 miast wojewódzkich wedªug starego podziaªu administracyjnego Polski, dªugo± drogi przybli»onej wynosi okoªo 3699 km, a dªugo± drogi optymalnej wynosi okoªo 3580 km. 70 / 92

Optymalizacja naturalna. Heurystyki przeszukiwa«heurystyka (gr.heuriskein znale¹, odkry ) to praktyczna, oparta na do±wiadczeniu reguªa post powania, która mo»e znacznie upro±ci lub skróci proces rozwi zywania rozwa»anego problemu, gdy metoda rozwi zania nie jest znana lub jest zawiªa i czasochªonna. Dla zada«, w których mamy do czynienia z wieloma rozwi zaniami, wa»ne jest wczesne odrzucenie nieobiecuj cych kierunków poszukiwania rozwi zania. Zapewnia to ogromne oszcz dno±ci na kosztach obliczeniowych, a w rezultacie przyspiesza znalezienie rozwi zania. Metody heurystyczne pozwalaj na znalezienie w akceptowalnym czasie przynajmniej przybli»onego rozwi zania problemu, cho nie gwarantuje tego we wszystkich przypadkach. Skuteczno±ci kroków heurystycznych nie mo»na w peªni udowodni teoretycznie, mo»na jedynie pokaza do±wiadczalnie ich trafno±. 71 / 92

Algorytmy mrówkowe, 1992 Marco Dorigo Mrówki poruszaj si z mrowiska do ustalonego punktu (np. miejsca, gdzie znajduje si po»ywienie). Wracaj c ka»da z nich przebywa dokªadnie t sam drog w przeciwnym kierunku. Ka»da z mrówek napotykaj c na swojej drodze rozgaª zienie dokonuje losowego wyboru drogi (na pocz tku prawdopodobie«stwo wyboru ka»dej z mo»liwo±ci jest takie samo). Mrówki przechodz c tras pozostawiaj za sob pewn ilo± feromonu. W efekcie, z upªywem czasu krótsze drogi pokryte s wi ksz ilo±ci feromonu. Kolejne mrówki dokonuj wyboru dróg losowo, ale z uwzgl dnieniem ilo±ci pozostawionego feromonu. W efekcie ko«cowym mrówki wybieraj najkrótsz z dróg. 72 / 92

Algorytmy mrówkowe, 1992 Marco Dorigo Mrówki poruszaj si z mrowiska do ustalonego punktu (np. miejsca, gdzie znajduje si po»ywienie). Wracaj c ka»da z nich przebywa dokªadnie t sam drog w przeciwnym kierunku. Ka»da z mrówek napotykaj c na swojej drodze rozgaª zienie dokonuje losowego wyboru drogi (na pocz tku prawdopodobie«stwo wyboru ka»dej z mo»liwo±ci jest takie samo). Mrówki przechodz c tras pozostawiaj za sob pewn ilo± feromonu. W efekcie, z upªywem czasu krótsze drogi pokryte s wi ksz ilo±ci feromonu. Kolejne mrówki dokonuj wyboru dróg losowo, ale z uwzgl dnieniem ilo±ci pozostawionego feromonu. W efekcie ko«cowym mrówki wybieraj najkrótsz z dróg. 73 / 92

Algorytmy mrówkowe, 1992 Marco Dorigo Mrówki poruszaj si z mrowiska do ustalonego punktu (np. miejsca, gdzie znajduje si po»ywienie). Wracaj c ka»da z nich przebywa dokªadnie t sam drog w przeciwnym kierunku. Ka»da z mrówek napotykaj c na swojej drodze rozgaª zienie dokonuje losowego wyboru drogi (na pocz tku prawdopodobie«stwo wyboru ka»dej z mo»liwo±ci jest takie samo). Mrówki przechodz c tras pozostawiaj za sob pewn ilo± feromonu. W efekcie, z upªywem czasu krótsze drogi pokryte s wi ksz ilo±ci feromonu. Kolejne mrówki dokonuj wyboru dróg losowo, ale z uwzgl dnieniem ilo±ci pozostawionego feromonu. W efekcie ko«cowym mrówki wybieraj najkrótsz z dróg. 74 / 92

Algorytmy mrówkowe, 1992 Marco Dorigo Mrówki poruszaj si z mrowiska do ustalonego punktu (np. miejsca, gdzie znajduje si po»ywienie). Wracaj c ka»da z nich przebywa dokªadnie t sam drog w przeciwnym kierunku. Ka»da z mrówek napotykaj c na swojej drodze rozgaª zienie dokonuje losowego wyboru drogi (na pocz tku prawdopodobie«stwo wyboru ka»dej z mo»liwo±ci jest takie samo). Mrówki przechodz c tras pozostawiaj za sob pewn ilo± feromonu. W efekcie, z upªywem czasu krótsze drogi pokryte s wi ksz ilo±ci feromonu. Kolejne mrówki dokonuj wyboru dróg losowo, ale z uwzgl dnieniem ilo±ci pozostawionego feromonu. W efekcie ko«cowym mrówki wybieraj najkrótsz z dróg. 75 / 92

Algorytmy mrówkowe, 1992 Marco Dorigo Mrówki poruszaj si z mrowiska do ustalonego punktu (np. miejsca, gdzie znajduje si po»ywienie). Wracaj c ka»da z nich przebywa dokªadnie t sam drog w przeciwnym kierunku. Ka»da z mrówek napotykaj c na swojej drodze rozgaª zienie dokonuje losowego wyboru drogi (na pocz tku prawdopodobie«stwo wyboru ka»dej z mo»liwo±ci jest takie samo). Mrówki przechodz c tras pozostawiaj za sob pewn ilo± feromonu. W efekcie, z upªywem czasu krótsze drogi pokryte s wi ksz ilo±ci feromonu. Kolejne mrówki dokonuj wyboru dróg losowo, ale z uwzgl dnieniem ilo±ci pozostawionego feromonu. W efekcie ko«cowym mrówki wybieraj najkrótsz z dróg. 76 / 92

Algorytmy mrówkowe, 1992 Marco Dorigo Mrówki poruszaj si z mrowiska do ustalonego punktu (np. miejsca, gdzie znajduje si po»ywienie). Wracaj c ka»da z nich przebywa dokªadnie t sam drog w przeciwnym kierunku. Ka»da z mrówek napotykaj c na swojej drodze rozgaª zienie dokonuje losowego wyboru drogi (na pocz tku prawdopodobie«stwo wyboru ka»dej z mo»liwo±ci jest takie samo). Mrówki przechodz c tras pozostawiaj za sob pewn ilo± feromonu. W efekcie, z upªywem czasu krótsze drogi pokryte s wi ksz ilo±ci feromonu. Kolejne mrówki dokonuj wyboru dróg losowo, ale z uwzgl dnieniem ilo±ci pozostawionego feromonu. W efekcie ko«cowym mrówki wybieraj najkrótsz z dróg. 77 / 92

Algorytmy mrówkowe, 1992 Marco Dorigo Mrówki poruszaj si z mrowiska do ustalonego punktu (np. miejsca, gdzie znajduje si po»ywienie). Wracaj c ka»da z nich przebywa dokªadnie t sam drog w przeciwnym kierunku. Ka»da z mrówek napotykaj c na swojej drodze rozgaª zienie dokonuje losowego wyboru drogi (na pocz tku prawdopodobie«stwo wyboru ka»dej z mo»liwo±ci jest takie samo). Mrówki przechodz c tras pozostawiaj za sob pewn ilo± feromonu. W efekcie, z upªywem czasu krótsze drogi pokryte s wi ksz ilo±ci feromonu. Kolejne mrówki dokonuj wyboru dróg losowo, ale z uwzgl dnieniem ilo±ci pozostawionego feromonu. W efekcie ko«cowym mrówki wybieraj najkrótsz z dróg. 78 / 92

Algorytmy mrówkowe, 1992 Marco Dorigo Mrówki poruszaj si z mrowiska do ustalonego punktu (np. miejsca, gdzie znajduje si po»ywienie). Wracaj c ka»da z nich przebywa dokªadnie t sam drog w przeciwnym kierunku. Ka»da z mrówek napotykaj c na swojej drodze rozgaª zienie dokonuje losowego wyboru drogi (na pocz tku prawdopodobie«stwo wyboru ka»dej z mo»liwo±ci jest takie samo). Mrówki przechodz c tras pozostawiaj za sob pewn ilo± feromonu. W efekcie, z upªywem czasu krótsze drogi pokryte s wi ksz ilo±ci feromonu. Kolejne mrówki dokonuj wyboru dróg losowo, ale z uwzgl dnieniem ilo±ci pozostawionego feromonu. W efekcie ko«cowym mrówki wybieraj najkrótsz z dróg. 79 / 92

Ant System - AS, zastosowanie do TSP Dany jest graf peªny G = N, E, gdzie: N = {1, 2,..., n} zbiór wierzchoªków (miast), E zbiór kraw dzi (bezpo±rednich poª cze«mi dzy miastami). Niech d ij oznacza dªugo±ci kraw dzi (i, j) E, czyli odlegªo±ci mi dzy miastami i i j. W algorytmie AS, w ka»dej iteracji t (1 t t max), k ta mrówka (k = 1,..., m) przechodzi przez graf buduj c cykl dªugo±ci n. Zaªó»my,»e w iteracji t k ta mrówka znajduje si w wierzchoªku i. Prawdopodobie«stwo wyboru kraw dzi do wierzchoªka j jest okre±lone za pomoc wzoru: pij k (τ ij (t)) α (η ij ) β (t) = Σ l N k (τ il (t)) α (η il ) β ) i 80 / 92

Ant System - AS, zastosowanie do TSP Dany jest graf peªny G = N, E, gdzie: N = {1, 2,..., n} zbiór wierzchoªków (miast), E zbiór kraw dzi (bezpo±rednich poª cze«mi dzy miastami). Niech d ij oznacza dªugo±ci kraw dzi (i, j) E, czyli odlegªo±ci mi dzy miastami i i j. W algorytmie AS, w ka»dej iteracji t (1 t t max), k ta mrówka (k = 1,..., m) przechodzi przez graf buduj c cykl dªugo±ci n. Zaªó»my,»e w iteracji t k ta mrówka znajduje si w wierzchoªku i. Prawdopodobie«stwo wyboru kraw dzi do wierzchoªka j jest okre±lone za pomoc wzoru: pij k (τ ij (t)) α (η ij ) β (t) = Σ l N k (τ il (t)) α (η il ) β ) i 81 / 92

Ant System - AS, zastosowanie do TSP Dany jest graf peªny G = N, E, gdzie: N = {1, 2,..., n} zbiór wierzchoªków (miast), E zbiór kraw dzi (bezpo±rednich poª cze«mi dzy miastami). Niech d ij oznacza dªugo±ci kraw dzi (i, j) E, czyli odlegªo±ci mi dzy miastami i i j. W algorytmie AS, w ka»dej iteracji t (1 t t max), k ta mrówka (k = 1,..., m) przechodzi przez graf buduj c cykl dªugo±ci n. Zaªó»my,»e w iteracji t k ta mrówka znajduje si w wierzchoªku i. Prawdopodobie«stwo wyboru kraw dzi do wierzchoªka j jest okre±lone za pomoc wzoru: pij k (τ ij (t)) α (η ij ) β (t) = Σ l N k (τ il (t)) α (η il ) β ) i 82 / 92

Ant System - AS, zastosowanie do TSP Dany jest graf peªny G = N, E, gdzie: N = {1, 2,..., n} zbiór wierzchoªków (miast), E zbiór kraw dzi (bezpo±rednich poª cze«mi dzy miastami). Niech d ij oznacza dªugo±ci kraw dzi (i, j) E, czyli odlegªo±ci mi dzy miastami i i j. W algorytmie AS, w ka»dej iteracji t (1 t t max), k ta mrówka (k = 1,..., m) przechodzi przez graf buduj c cykl dªugo±ci n. Zaªó»my,»e w iteracji t k ta mrówka znajduje si w wierzchoªku i. Prawdopodobie«stwo wyboru kraw dzi do wierzchoªka j jest okre±lone za pomoc wzoru: pij k (τ ij (t)) α (η ij ) β (t) = Σ l N k (τ il (t)) α (η il ) β ) i 83 / 92

Ant System - AS, zastosowanie do TSP Dany jest graf peªny G = N, E, gdzie: N = {1, 2,..., n} zbiór wierzchoªków (miast), E zbiór kraw dzi (bezpo±rednich poª cze«mi dzy miastami). Niech d ij oznacza dªugo±ci kraw dzi (i, j) E, czyli odlegªo±ci mi dzy miastami i i j. W algorytmie AS, w ka»dej iteracji t (1 t t max), k ta mrówka (k = 1,..., m) przechodzi przez graf buduj c cykl dªugo±ci n. Zaªó»my,»e w iteracji t k ta mrówka znajduje si w wierzchoªku i. Prawdopodobie«stwo wyboru kraw dzi do wierzchoªka j jest okre±lone za pomoc wzoru: pij k (τ ij (t)) α (η ij ) β (t) = Σ l N k (τ il (t)) α (η il ) β ) i 84 / 92

Ant System - AS, zastosowanie do TSP p k ij (t) = gdzie: τ ij (t) ilo± feromonu w kraw dzi (i, j) (τ ij (t)) α (η ij ) β Σ l N k i (τ il (t) α (η il ) β ) η ij warto± heurystyczna okre±laj ca atrakcyjno± wyboru kraw dzi (i, j) np. η ij = 1 d ij N k i lista nieodwiedzonych wierzchoªków s siednich do i. 85 / 92

Ant System - AS, zastosowanie do TSP p k ij (t) = gdzie: τ ij (t) ilo± feromonu w kraw dzi (i, j) (τ ij (t)) α (η ij ) β Σ l N k i (τ il (t) α (η il ) β ) η ij warto± heurystyczna okre±laj ca atrakcyjno± wyboru kraw dzi (i, j) np. η ij = 1 d ij N k i lista nieodwiedzonych wierzchoªków s siednich do i. 86 / 92

Ant System - AS, zastosowanie do TSP p k ij (t) = gdzie: τ ij (t) ilo± feromonu w kraw dzi (i, j) (τ ij (t)) α (η ij ) β Σ l N k i (τ il (t) α (η il ) β ) η ij warto± heurystyczna okre±laj ca atrakcyjno± wyboru kraw dzi (i, j) np. η ij = 1 d ij N k i lista nieodwiedzonych wierzchoªków s siednich do i. 87 / 92

Ant System - AS, zastosowanie do TSP Po przej±ciu grafu przez k t mrówk ustalana jest ilo± feromonu τ k ij (t), jaki pozostawi ona na ka»dej kraw dzi (i, j) cyklu. Wielko± ta mo»e by zdeniowana np. jako τij k (t) = Q L k (t) gdzie Q jest tzw. wspóªczynnikiem dawki feromonu a L k (t) dªugo±ci znalezionej drogi. Aby zapewni zapominanie przez algorytm dªu»szych cykli uwzgl dnia si wyst puj ce w naturze zjawisko parowania feromonu. W efekcie, po zako«czeniu iteracji (czyli przej±ciu m mrówek) ustalana jest ostateczna ilo± feromonu na poszczególnych kraw dziach, która b dzie wykorzystana w nast pnej iteracji zgodnie z zale»no±ci : τ ij (t + 1) = γτ ij (t) + τ ij (t) gdzie τ ij (t) = Σ m k=1 τ k ij (t) i m jest ilo±ci mrówek, natomiast γ odpowiada za wyparowywanie feromonu. 88 / 92

Ant System - AS, zastosowanie do TSP Po przej±ciu grafu przez k t mrówk ustalana jest ilo± feromonu τ k ij (t), jaki pozostawi ona na ka»dej kraw dzi (i, j) cyklu. Wielko± ta mo»e by zdeniowana np. jako τij k (t) = Q L k (t) gdzie Q jest tzw. wspóªczynnikiem dawki feromonu a L k (t) dªugo±ci znalezionej drogi. Aby zapewni zapominanie przez algorytm dªu»szych cykli uwzgl dnia si wyst puj ce w naturze zjawisko parowania feromonu. W efekcie, po zako«czeniu iteracji (czyli przej±ciu m mrówek) ustalana jest ostateczna ilo± feromonu na poszczególnych kraw dziach, która b dzie wykorzystana w nast pnej iteracji zgodnie z zale»no±ci : τ ij (t + 1) = γτ ij (t) + τ ij (t) gdzie τ ij (t) = Σ m k=1 τ k ij (t) i m jest ilo±ci mrówek, natomiast γ odpowiada za wyparowywanie feromonu. 89 / 92

Ant System - AS, zastosowanie do TSP Po przej±ciu grafu przez k t mrówk ustalana jest ilo± feromonu τ k ij (t), jaki pozostawi ona na ka»dej kraw dzi (i, j) cyklu. Wielko± ta mo»e by zdeniowana np. jako τij k (t) = Q L k (t) gdzie Q jest tzw. wspóªczynnikiem dawki feromonu a L k (t) dªugo±ci znalezionej drogi. Aby zapewni zapominanie przez algorytm dªu»szych cykli uwzgl dnia si wyst puj ce w naturze zjawisko parowania feromonu. W efekcie, po zako«czeniu iteracji (czyli przej±ciu m mrówek) ustalana jest ostateczna ilo± feromonu na poszczególnych kraw dziach, która b dzie wykorzystana w nast pnej iteracji zgodnie z zale»no±ci : τ ij (t + 1) = γτ ij (t) + τ ij (t) gdzie τ ij (t) = Σ m k=1 τ k ij (t) i m jest ilo±ci mrówek, natomiast γ odpowiada za wyparowywanie feromonu. 90 / 92

Algorytm AS Droga i cykl Eulera AS(t max) 1 for t 1 to t max 2 do 3 for ka»da mrówka k = 1,..., m 4 do 5 wybierz dowolne miasto 6 for ka»de nieodwiedzone miasto i 7 do 8 wybierz miasto j z listy Ni k, zgodnie z warto±ci pij k (t) 9 for ka»da kraw d¹ (i, j) 10 do 11 wyznacz przyrost τij k (t) na drodze T k (t) 12 for ka»da kraw d¹ (i, j) 13 do 14 przelicz ilo± feromonu τ ij (t + 1) = γτ ij (t) + τ ij (t) 91 / 92

Dzi kuj za uwag!!! 92 / 92