• Nie Znaleziono Wyników

Algorytmiczna teoria grafów Grafy eulerowskie i hamiltonowskie dr Hanna Furmańczyk 7 kwietnia 2018

N/A
N/A
Protected

Academic year: 2021

Share "Algorytmiczna teoria grafów Grafy eulerowskie i hamiltonowskie dr Hanna Furmańczyk 7 kwietnia 2018"

Copied!
13
0
0

Pełen tekst

(1)

Algorytmiczna teoria grafów

Grafy eulerowskie i hamiltonowskie

dr Hanna Furmańczyk

7 kwietnia 2018

(2)

Grafy Euelrowskie i półeulerowskie

Niech dany będzie spójny multigraf G = (V , E ). Mówimy, że G jesteulerowski, jeśli istnieje łańcuch zamknięty zawierający każdą krawędź multigrafu; taki łańcuch nazywamycyklem Eulera.

Analogicznie, mówimy, że G jestpółeulerowski, jeśli istnieje łańcuch zawierający każdą krawędź grafu; taki łańcuch nazywamy

łańcuchem Eulera.

Twierdzenie

1 Spójny multigraf G = (V , E ) jest eulerowski wtedy i tylko wtedy, gdy każdy jego wierzchołek jest parzystego stopnia.

2 Spójny multigraf G jest półeulerowski wtedy i tylko wtedy, gdy posiada co najwyżej dwa wierz- chołki nieparzystego stopnia, z czego jeden z nich jest początkiem łańcucha Eulera, a drugi jego końcem.

(3)

Grafy Euelrowskie i półeulerowskie

Niech dany będzie spójny multigraf G = (V , E ). Mówimy, że G jesteulerowski, jeśli istnieje łańcuch zamknięty zawierający każdą krawędź multigrafu; taki łańcuch nazywamycyklem Eulera.

Analogicznie, mówimy, że G jestpółeulerowski, jeśli istnieje łańcuch zawierający każdą krawędź grafu; taki łańcuch nazywamy

łańcuchem Eulera.

Twierdzenie

1 Spójny multigraf G = (V , E ) jest eulerowski wtedy i tylko wtedy, gdy każdy jego wierzchołek jest parzystego stopnia.

2 Spójny multigraf G jest półeulerowski wtedy i tylko wtedy, gdy posiada co najwyżej dwa wierz- chołki nieparzystego stopnia, z czego jeden z nich jest początkiem łańcucha Eulera, a drugi jego końcem.

(4)

Grafy Euelrowskie i półeulerowskie

Niech dany będzie spójny multigraf G = (V , E ). Mówimy, że G jesteulerowski, jeśli istnieje łańcuch zamknięty zawierający każdą krawędź multigrafu; taki łańcuch nazywamycyklem Eulera.

Analogicznie, mówimy, że G jestpółeulerowski, jeśli istnieje łańcuch zawierający każdą krawędź grafu; taki łańcuch nazywamy

łańcuchem Eulera.

Twierdzenie

1 Spójny multigraf G = (V , E ) jest eulerowski wtedy i tylko wtedy, gdy każdy jego wierzchołek jest parzystego stopnia.

2 Spójny multigraf G jest półeulerowski wtedy i tylko wtedy, gdy posiada co najwyżej dwa wierz- chołki nieparzystego stopnia, z czego jeden z nich jest początkiem łańcucha Eulera, a drugi jego końcem.

(5)

Algorytm Fleury’ego znajdowania cyklu Eulera (o ile taki cykl istnieje)

Niech G = (V , E ) będzie spójnym multigrafem o wszystkich wierzchołkach parzystego stopnia.

1 Zaczynamy od dowolnego wierzchołka v ∈ V .

2 Powtarzamy, aż przejdziemy wszystkie krawędzie:

1 Jeżeli z bieżącego wierzchołka x odchodzi tylko jedna krawędź, to przechodzimy wzdłuż tej krawędzi do następnego

wierzchołka i usuwamy tą krawędź wraz z wierzchołkiem x .

2 W przeciwnym wypadku, jeżeli z x odchodzi więcej krawędzi, to wybieramy tę krawędź, której usunięcie nie rozspójnia nam grafu, i przechodzimy wzdłuż tej krawędzi do następnego wierzchołka, a następnie usuwamy tę krawędź z grafu.

(6)

Problem chińskiego listonosza

Dana jest sieć ulic oraz poczta. Aby listonosz dostarczył korespondencję musi przejść wzdłuż kżej ulicy co najmniej raz i powrócić do punktu wyjścia. Formułując problem w języku grafów, pytamy o najkrótszą zamkniętą marszrutę w grafie G utworzonym na podstawie sieci ulic, w którym wagi krawędzi odpowiadają długościom ulic.

Rozwiązanie

Znany jest efektywny algorytm rozwiązujący ten problem. Rozważymy trzy przypadki - slajdy dr hab. D. Dereniowski 9-12.

(7)

Problem chińskiego listonosza

Dana jest sieć ulic oraz poczta. Aby listonosz dostarczył korespondencję musi przejść wzdłuż kżej ulicy co najmniej raz i powrócić do punktu wyjścia. Formułując problem w języku grafów, pytamy o najkrótszą zamkniętą marszrutę w grafie G utworzonym na podstawie sieci ulic, w którym wagi krawędzi odpowiadają długościom ulic.

Rozwiązanie

Znany jest efektywny algorytm rozwiązujący ten problem.

Rozważymy trzy przypadki - slajdy dr hab. D. Dereniowski 9-12.

(8)

Grafy Hamiltonowskie i półhamiltonowskie

Niech dany będzie spójny (multi)graf G = (V , E ). Mówimy, że G jesthamiltonowski, jeśli istnieje cykl, który przechodzi przez każdy wierzchołek dokładnie raz; taki cykl nazywamycyklem Hamiltona.

Analogicznie, mówimy, że G jestpółhamiltonowski, jeśli zawiera ścieżkę przechodzącą przez każdy wierzchołek dokładnie raz; taką ścieżkę nazywamyścieżką Hamiltona

.

(9)

Grafy Hamiltonowskie i półhamiltonowskie

Niech dany będzie spójny (multi)graf G = (V , E ). Mówimy, że G jesthamiltonowski, jeśli istnieje cykl, który przechodzi przez każdy wierzchołek dokładnie raz; taki cykl nazywamycyklem Hamiltona.

Analogicznie, mówimy, że G jestpółhamiltonowski, jeśli zawiera ścieżkę przechodzącą przez każdy wierzchołek dokładnie raz; taką ścieżkę nazywamyścieżką Hamiltona.

(10)

Algorytm z nawrotami znajdowania drogi Hamiltona (o ile taka droga istnieje)

Niech G = (V , E ) będzie spójnym grafem i pewnym wyróżnionym wierzchołkiem v ∈ V .

1 Wkładamy v na STOS.

2 Powtarzamy:

1 Jeżeli u jest wierzchołkiem na wierzchu stosu, to szukamy wierzchołka w o najniższym możliwym numerze

(najwcześniejszego przy ustalonym porządku wierzchołków grafu) sąsiedniego z u i nie występującego na STOSIE, jednakże przy założeniu, że wierzchołek w jest „większy” od wierzchołka zdjętego krok wcześniej ze STOSU (o ile był taki).

2 Jeśli takie w znajdziemy, to wkładany je na stos — jeżeli dotychczasowy STOS tworzy drogę Hamiltona, to KONIEC.

3 Jeżeli takiego w nie znaleźliśmy, to zdejmujemy u ze stosu.

(11)

Problem stwierdzenia, czy w danym grafie G = (V , E ) istnieje droga Hamiltona, jest problemem NP-zupełnym, tzn. nie istnieje deterministyczny algorytm rozstrzygający ten problem w czasie wielomianowym, o ile P 6= NP.

Zauważmy, że nie wyklucza to istnienia niewielomianowego algorytmu i właśnie przykładem takiego algorytmu jest omawiany wyżej algorytm z nawrotami.

(12)

Problem stwierdzenia, czy w danym grafie G = (V , E ) istnieje droga Hamiltona, jest problemem NP-zupełnym, tzn. nie istnieje deterministyczny algorytm rozstrzygający ten problem w czasie wielomianowym, o ile P 6= NP.

Zauważmy, że nie wyklucza to istnienia niewielomianowego algorytmu i właśnie przykładem takiego algorytmu jest omawiany wyżej algorytm z nawrotami.

(13)

Problem komiwojażera

Definicja, historia - slajdy dr hab. D.Dereniowski 1-2,5-9.

Cytaty

Powiązane dokumenty

Udowodnić, że jeśli dla macierzy przejścia nieprzywiedlnego łańcucha Markowa istnieje j takie, że p jj > 0, to łańcuch nie jest

Pokazać, że również w wyjściowym prostokącie długość jednego z boków musi być liczbą całkowitą.. Wyrazić współczynniki Fouriera funkcji h za pomocą

(6) wynika z faktu, iż pomiędzy grupami sprzę- żonymi potrafimy wskazać bijekcję ustanowioną przez automorfizm wewnętrzny... Jedyna nietrywialna część uwagi to (3),

Podczas takiego określania monotoniczności funkcji jeśli ludzik w pewnym przedziale wspina się ku górze to mówimy, że funkcja jest rosnąca.. przypadku, gdy schodzi na dół

Każda reszta modulo n ma wielu reprezentantów, na przykład reszta 1 modu- lo 5 jest reprezentowana przez każdą z liczb 1, 6, −19, 11,.. W przeciwnym przypadku, a nazywamy

jest większy od obecnego koloru c(u) nie koliduje z kolorami wierzchołków ze stosu jeżeli uda się pokolorować, to:. sprawdzamy, czy pokolorowano już wszystkie wierzchołki

Dwa grafy są homeomorficzne jeśli mogą być otrzymane z tego samego grafu poprzez umieszczenie nowych wierzchołków stopnia dwa na jego krawędziach (krawędź zastępowana

Все бабы как бабы, а я – богиня: принты на футболках как фатический текст. 87