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



Podobne dokumenty
Skojarzenia. Najliczniejsze skojarzenia: Dokładne skojarzenia o maksymalnej sumie wag w obcionych pełnych grafach dwudzielnych.

Wstp. Warto przepływu to

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

Szukanie najkrótszych dróg z jednym ródłem

Kolorowanie wierzchołków

Opracowanie prof. J. Domsta 1

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

Matematyka dyskretna

Algorytmiczna teoria grafów

Matematyczne Podstawy Informatyki

Matematyczne Podstawy Informatyki

Sortowanie topologiczne skierowanych grafów acyklicznych

Wykład 4. Droga i cykl Eulera i Hamiltona

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY

Temat: Problem minimalnego drzewa Steinera. Definicja problemu. Zastosowania. Algorytm dokładny Hakimi. Algorytmy aproksymacyjne.

Drzewa. Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew

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

TEORIA GRAFÓW I SIECI

6a. Grafy eulerowskie i hamiltonowskie

Temat: Struktury danych do reprezentacji grafów. Wybrane algorytmy grafowe.

Grafy dla każdego. dr Krzysztof Bryś. Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska.

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

Graf. Definicja marca / 1

Temat: Problem najkrótszych cieek w grafach waonych, cz. I: Algorytmy typu label - setting.

Teoria grafów i jej zastosowania. 1 / 126

Algorytmy i Struktury Danych.

Temat: Liniowe uporzdkowane struktury danych: stos, kolejka. Specyfikacja, przykładowe implementacje i zastosowania. Struktura słownika.

oraz spełnia warunki: (*) dla wszystkich wierzchołków

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

Przykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych.

E ' E G nazywamy krawędziowym zbiorem

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

Digraf. 13 maja 2017

Teoria grafów podstawy. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Pojcie grafu. { {v 1, v 2 }, {v 2, v 3 }, {v 3, v 4 }, {v 4, v 1 },{v 2, v 4 } } )

Podstawowe własności grafów. Wykład 3. Własności grafów

Temat: Algorytmy aproksymacyjne dla wybranych NP-trudnych problemów grafowych

Problem decyzyjny naley do klasy NP. (Polynomial), jeeli moe by rozwizany w czasie conajwyej wielomianowym przez algorytm A dla DTM.

Algorytmiczna teoria grafów

Algorytmy i Struktury Danych.

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

Kolorowanie wierzchołków grafu

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Temat: Algorytmy zachłanne

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

Metodydowodzenia twierdzeń

Przeszukiwanie przestrzeni stanów. Wprowadzenie do Sztucznej Inteligencji. Podstawowe problemy teorii przeszukiwania przestrzeni stanów

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

KURS MATEMATYKA DYSKRETNA

Algorytm chińskiego listonosza Katarzyna Ignaszewska SPI51. Temat: Problem chińskiego listonosza, czyli jak obejść miasto najmniejszym nakładem sił.

Elementy teorii grafów Elementy teorii grafów

.! $ Stos jest list z trzema operacjami: dodawanie elementów na wierzch stosu, zdejmowanie elementu z wierzchu stosu, sprawdzanie czy stos jest pusty.

Zagadnienie najkrótszej drogi w sieci

Algorytmika Problemów Trudnych

Algorytmy z powracaniem

TEORETYCZNE PODSTAWY INFORMATYKI

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

Nieklasyczne modele kolorowania grafów

Wprowadzenie Podstawy Fundamentalne twierdzenie Kolorowanie. Grafy planarne. Przemysław Gordinowicz. Instytut Matematyki, Politechnika Łódzka

Matematyka dyskretna. Andrzej Łachwa, UJ, B/14

Znajdowanie skojarzeń na maszynie równoległej

Teoria grafów II. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Siedem cudów informatyki czyli o algorytmach zdumiewajacych

Wektor o pocztku i kocu odpowiednio w punktach. Prosta zawierajca punkty p i q: pq Półprosta zaczynajca si w punkcie p i zawierajca punkt q:.

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

Metody dowodzenia twierdze«

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:

TOMASZ TRACZYK MATEMATYKA DYSKRETNA Wykłady 9-10 Grafy Hamiltona

Wykład 8. Drzewo rozpinające (minimum spanning tree)

Projektowanie algorytmów rekurencyjnych

Ilustracja S1 S2. S3 ściana zewnętrzna

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

Lab. 02: Algorytm Schrage

Grafy co o ich rysowaniu wiedzą przedszkolaki i co z tego wynika dla matematyków

6. Wstępne pojęcia teorii grafów

Temat: Algorytmy aproksymacyjne (przyblione) cz. I. Majc do rozwizania trudny obliczeniowo problem, moemy wybra jedno z dwóch nastpujcych podej:

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

0. ELEMENTY LOGIKI. ALGEBRA BOOLE A

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Lista 4. Kamil Matuszewski 22 marca 2016

Algorytmy Grafowe. dr hab. Bożena Woźna-Szcześniak, prof. UJD. Wykład 7,8,9. Uniwersytet Humanistyczno-Przyrodniczy im. Jana Długosza w Częstochowie

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

TEORIA GRAFÓW I SIECI

Kolorowanie wierzchołków Kolorowanie krawędzi Kolorowanie regionów i map. Wykład 8. Kolorowanie

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa

SPÓJNOŚĆ. ,...v k. }, E={v 1. v k. i v k. ,...,v k-1. }. Wierzchołki v 1. v 2. to końce ścieżki.

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

Analiza algorytmów zadania podstawowe

Porządek symetryczny: right(x)

Teoria grafów. Magdalena Lemańska

Znajdowanie maksymalnych skojarzeń przy pomocy eliminacji Gaussa

6.2. Baza i wymiar. V nazywamy baz-

a) 7 b) 19 c) 21 d) 34

Matematyka dyskretna - 5.Grafy.

G. Wybrane elementy teorii grafów

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

Grafy. Graf ( graf ogólny) to para G( V, E), gdzie:

Strategie ewolucyjne (ang. evolu4on strategies)

Matematyka dyskretna - wykład - część Podstawowe algorytmy kombinatoryczne

Marek Miszczyński KBO UŁ. Wybrane elementy teorii grafów 1

Transkrypt:

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

166 Grafy eulerowskie Def. Graf (multigraf, niekoniecznie spójny) jest grafem eulerowskim, jeli zawiera cykl zawierajcy wszystkie krawdzie. Graf jest półeulerowski, gdy posiada łacuch o powyszej własnoci. Przykład Poniej podano reprezentacje trzech grafów, z których pierwszy jest eulerowski, drugi półeulerowski, natomiast ostatni nie jest ani eulerowski ani półeulerowski.

167 Grafy eulerowskie Nazwa eulerowski pochodzi std, i Euler w 176 r. rozwizał problem mostów królewieckich. Pytano, czy mona przej dokładnie raz przez kady z siedmiu mostów (rys. po lewej) tak, aby powróci do punktu wyjcia. Zauwamy, e problem jest równowany stwierdzeniu, czy graf pokazany na rys. po prawej stronie jest eulerowski. a a b d b d c c

168 Grafy eulerowskie Aby poda warunek konieczny i dostateczny na to, aby dany graf był eulerowski bdzie potrzebny poniszy lemat: Lemat Jeli kady wierzchołek multigrafu G ma stopie równy co najmniej 2, to G zawiera cykl. Dowód: Jeli G zawiera ptle lub krawdzie wielokrotne, to lemat jest spełniony, wic zakładamy dalej, e G jest grafem prostym. Nastpnie konstruujemy ciek: wybieramy dowolny wierzchołek v 1 V(G), po czym dodajemy kolejne według zasady: jeli v i jest ostatnio dodanym wierzchołkiem, to jeli v i jest ssiedni z v j poprzednio dodanym do cieki, to otrzymujemy cykl zawierajcy v j,...,v i co koczy dowód. W przeciwnym wypadku wybieramy dowolnego ssiada wierzchołka v i (istnieje, poniewa deg(v i )>1) i dodajemy go do cieki. Graf G jest skoczony wic w pewnym kroku otrzymamy wierzchołek v k, który jest ssiedni z pewnym v l, gdzie l<k.

169 Tw. Eulera Tw. (Euler, 176) Multigraf spójny jest eulerowski wtedy i tylko wtedy, gdy stopie kadego wierzchołka jest liczb parzyst. Dowód: () Jeli C jest cyklem Eulera w G, to trawersujemy i usuwamy krawdzie w E(G) zgodnie z kolejnoci zadan przez C. Gdy przechodzimy przez dowolny wierzchołek v, to usuwamy dwie incydentne z nim krawdzie, wic stopie tego wierzchołka w tak zredukowanym grafie pozostaje parzysty. Na rys. poniej kolorem czerwonym oznaczono krawdzie, które zostały usunite z G. 2l v 2k 2l v 2k 2 2 (przed przejciem przez v) (po przejciu przez v)

170 Tw. Eulera Dowód tw. Eulera ( ) G jest spójny, wic dla kadego v zachodzi deg(v)>1 wic z poprzedniego lematu wiadomo, e G zawiera cykl, który oznaczmy przez C. Twierdzenie dowodzimy przez indukcj wzgldem m. Jeli C = G, to dowód jest zakoczony. W przeciwnym wypadku kada składowa spójnoci grafu G E(C) spełnia załoenie twierdzenia, wic z załoenia indukcyjnego jest eulerowska. Znajdujemy cykl Eulera w G nastpujco: przechodzimy przez kolejne wierzchołki w C i jeli biecy wierzchołek naley do pewnej składowej spójnoci, to trawersujemy cykl Eulera w tej składowej, powracajc do tego samego wierzchołka w C. C Składowe spójnoci grafu G E(C)

171 Algorytm Fleury ego Wniosek Multigraf spójny jest eulerowski wtedy i tylko wtedy, gdy zbiór jego krawdzi mona podzieli na rozłczne cykle. Wniosek Multigraf spójny jest półeulerowski, gdy posiada co najwyej dwa wierzchołki nieparzystego stopnia. Jeden z nich jest pocztkiem, a drugi kocem łacucha Eulera. Algorytm Fleury ego (znajdujcy cykl Eulera) rozpocznij wdrówk w dowolnym wierzchołku usuwaj strawersowane krawdzie, przechodzc po mocie jedynie w ostatecznoci (sytuacja, w której s do wyboru co najmniej dwa mosty oznacza, e graf nie jest eulerowski).

172 Inny algorytm... procedure Euler( G ) begin stos := ; ce := ; stos.push( dowolny wierzchołek grafu ); while stos do begin v := stos.top; if deg(v) 0 then begin u ssiad v o najniszym indeksie; G := (V(G),E(G)\{{u,v}}); stos.push(u); end else begin (* deg(v) = 0 *) stos.pop(v); ce.push(v); end end end Zmienne: stos stos pomocniczy; ce stos przechowujcy wierzchołki w kolejnoci w jakiej tworz cykl Eulera Uwagi: operacja top zwraca wierzchołek na szczycie stosu, ale zawarto stosu si nie zmienia wynik działania procedury to cykl Eulera zapamitany w zmiennej ce deg zwraca stopie wierzchołka w zredukowanym grafie

17 Problem chiskiego listonosza Dana jest sie ulic oraz poczta. Aby listonosz dostarczył korespondencj musi przej wzdłu kadej ulicy co najmniej raz i powróci do punktu wyjcia. Formułujc problem w jzyku grafów, pytamy o najkrótsz zamknit marszrut w grafie G utworzonym na podstawie sieci ulic, w którym wagi krawdzi odpowiadaj długociom ulic. Znany jest efektywny algorytm rozwizujcy ten problem. Rozwaymy trzy przypadki: Przypadek 1: graf G jest eulerowski. Wówczas kady cykl Eulera jest optymalnym rozwizaniem, które mona znale korzystajc np. z algorytmu Fleury ego.

174 CPP: przypadek 2 Graf G jest półeulerowski. Znajdujemy ciek Eulera łczc dwa wierzchołki nieparzystego stopnia u i v. Nastpnie szukamy najkrótszej drogi z u do v. Łczc obie drogi otrzymujemy rozwizanie. Przykład 1) Droga Eulera: b a f b c d e c f e 2) Najkrótsza droga z e do b e f a b ) Trasa listonosza : b a f b c d e c f e f a b a 4 b 5 8 14 f 6 c 10 e 9 5 d

175 CPP: przypadek ogólny 1. Zidentyfikuj wierzchołki nieparzystego stopnia w grafie G. Niech W bdzie zbiorem takich wierzchołków. 2. Skonstruuj obciony graf pełny G o zbiorze wierzchołków W, w którym waga krawdzi {u,v} jest równa długoci najkrótszej cieki łczcej u z v w wyjciowym grafie G. 2 2 2 1 2 4 8 1 4 2 4 2 7 8 1 5 6

176 CPP: przypadek ogólny. Znajd minimalne skojarzenie dokładne (ang. minimum weight perfect matching) M w grafie G. 4. Dla kadej krawdzi e M dodaj krawdzie w grafie G, które odpowiadaj najkrótszej ciece odpowiadajcej e. 5. Nowo powstały graf jest eulerowski. 7 8 8 6 2 1 1 2 4 2 2 1 2 2 4 2 1 5 4