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