Minimalne drzewa rozpinaj ce

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

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

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

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

Grafy i Zastosowania. 6: Najkrótsze ±cie»ki. c Marcin Sydow. Najkrótsze cie»ki. Warianty. Relaksacja DAG. Algorytm Dijkstry.

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

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

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

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

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

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

Minimalne drzewo rozpinaj ce

Najkrótsze drogi w grafach z wagami

Najkrótsze drogi w grafach z wagami

Teoria grafów i jej zastosowania. 1 / 126

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

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

10a: Wprowadzenie do grafów

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}.

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

Lab. 02: Algorytm Schrage

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

Podstawowe algorytmy grafowe i ich zastosowania

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

Teoria grafów i sieci 1 / 58

Podstawowe algorytmy grafowe i ich zastosowania

Teoria grafów i sieci 1 / 188

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

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

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

Algorytmy i Struktury Danych

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

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

Algorytmiczna teoria grafów

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

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

Algorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne

Metodydowodzenia twierdzeń

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

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

Algorytmy i struktury danych

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

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

Ogólne wiadomości o grafach

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,

Algorytmy zwiazane z gramatykami bezkontekstowymi

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

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

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

Egzaminy i inne zadania. Semestr II.

Metody dowodzenia twierdze«

Podziaª pracy. Cz ± II. 1 Tablica sortuj ca. Rozwi zanie

Programowanie i struktury danych 1 / 44

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

Uczenie Wielowarstwowych Sieci Neuronów o

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

Przekroje Dedekinda 1

Wykªad 4. Funkcje wielu zmiennych.

Egzaminy i inne zadania. Semestr II.

Algorytmiczna teoria grafów

Lekcja 8 - ANIMACJA. 1 Polecenia. 2 Typy animacji. 3 Pierwsza animacja - Mrugaj ca twarz

Stereometria (geometria przestrzenna)

Problemy optymalizacyjne - zastosowania

XVII Warmi«sko-Mazurskie Zawody Matematyczne

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

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

Wykªad 4. Droga i cykl Eulera i Hamiltona

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

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Materiaªy do Repetytorium z matematyki

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

Uniwersytet Warszawski Wydziaª Matematyki, Informatyki i Mechaniki

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

Algorytmy i Struktury Danych

A = n. 2. Ka»dy podzbiór zbioru sko«czonego jest zbiorem sko«czonym. Dowody tych twierdze«(elementarne, lecz nieco nu» ce) pominiemy.

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew

Listy i operacje pytania

Programowanie wspóªbie»ne

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

Maszyny Turinga i problemy nierozstrzygalne. Maszyny Turinga i problemy nierozstrzygalne

Model obiektu w JavaScript

Granular Computing 9999 pages 15 METODY SZTUCZNEJ INTELIGENCJI - PROJEKTY

Podstawy matematyki dla informatyków

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

Wnioskowanie Boolowskie i teoria zbiorów przybli»onych

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Metoda tablic semantycznych. 1 Metoda tablic semantycznych

Kolejka Priorytetowa. Algorytmy i Struktury Danych. (c) Marcin Sydow. Kolejka priorytetowa. implementacja. Kopiec Binarny. Tablicowa.

Rekurencyjne struktury danych

Uogólnione drzewa Humana

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

W poprzednim odcinku... Podstawy matematyki dla informatyków. Relacje równowa»no±ci. Zbiór (typ) ilorazowy. Klasy abstrakcji

Minimalne drzewa rozpinające

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

MiASI. Modelowanie systemów informatycznych. Piotr Fulma«ski. 18 stycznia Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska

Matematyka dyskretna - 7.Drzewa

Wykªad 1. Wprowadzenie do teorii grafów

Struktury danych: stos, kolejka, lista, drzewo

O pewnym zadaniu olimpijskim

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

Transkrypt:

y i y i drzewa

Spis zagadnie«y i drzewa i lasy cykle fundamentalne i rozci cia fundamentalne wªasno±ci cykli i rozci minimalne drzewa algorytm algorytm

Drzewo y i spójnego, nieskierowanego grafu prostego G = (V, E) to taki podgraf T tego grafu, który jest drzewem i zawiera wszystkie wierzchoªki danego grafu. Graf niespójny nie posiada drzewa go. Je±li graf G jest niespójny, to graf b d cy sum drzew rozpinaj cych jego skªadowych spójnych (po jednym na skªadow ) nazywamy lasem rozpinaj cym. przykªad Drzewo grafu spójnego mo»na otrzyma kolejno usuwaj c kraw dzie grafu tak aby uzyska. Dla danego grafu spójnego mo»e istnie wiele drzew rozpinaj cych. Ka»de danego grafu ma tyle samo kraw dzi (i wierzchoªków) przypomnienie: rozci cie to minimalny zbiór rozspajaj cy grafu

Problem: (ang. MST) y i Wej±cie: nieskierowany graf G z wagami na kraw dziach (liczby wymierne). Wyj±cie: o minimalnym ª cznym koszcie kraw dzi (tzw minimalne ) (ang. Minimum Spanning Tree - MST) Problem ten ma rozliczne zastosowania. Jest on rozwi zywalny w czasie wielomianowym. y znajdowania MST oparte s na wªasno±ciach cykli i rozci (Kruskal) lub na modykacji algorytmu BFS i Dijkstry (Prim).

The rozci cia y i Denition Dla spójnego grafu G = (V, E) z wagami na kraw dziach i podzbioru S V jego wierzchoªków, jego rozci cie to podzbiór jego kraw dzi E E maj cych dokªadnie jeden koniec w zbiorze S i drugi koniec w zbiorze V \ S. Lemma ( rozci cia) Zaªó»my,»e E jest rozci ciem i e jest jego kraw dzi o minimalnej wadze w E. Wtedy, istnieje minimalne grafu G zawieraj ce e. Dodatkowo, je±li T jest zbiorem kraw dzi zawartym w pewnym MST i T nie zawiera»adnej kraw dzi z E, to wtedy T {e} jest równie» zawarte w pewnym MST (tzn. kraw d¹ e jest przydatna w MST grafu G ) Dowód znale¹ mo»na np. w podr czniku K.Melhorna w stosownym rozdziale o MST.

dla MST y i Lemma Zaªó»my,»e S jest podzbiorem kraw dzi pewnego MST pewnego spójnego grafu G z wagami na kraw dziach G oraz C E jest pewnym cyklem tego grafu. Je±li e = (u, v) C jest kraw dzi tego o maksymalnym koszcie w C tak,»e u jest incydenty (styka si z) S, oraz v nie, to wtedy istnieje MST T grafu G zawieraj ce S i nie zawieraj ce kraw dzi e (tzn. kraw d¹ ta jest zb dna w MST grafu G ). Dowód znale¹ mo»na np. w podr czniku K.Mehlhorna.

Od wªasno±ci i rozci cia do znajdowania MST y i Przedstawione wªasno±ci i rozci cia s przydatne do uzasadnienia,»e podane algorytmy i znajdowania MST s poprawne. Ogólny schemat algorytmu znajduj cego MST mo»e by przedstawiony nast puj co: 1 inicjalizuj T = (to b dzie zbiór kraw dzi poszukiwanego MST) 2 dopóki T nie wyznacza MST, dodaj pewn kraw d¹ e o minimalnym koszcie z pewnego rozci cia E rozª cznego z T ( rozci cia gwarantuje poprawno± powy»szego ogólnego podej±cia) Ró»ne wybory odno±nie konkretnego rozci cia E rozpatrywanego w ka»dej iteracji powy»szego schematu prowadz do ró»nych implementacji algorytmów znajduj cych MST. Omówimy teraz 2 algorytmy b d ce takimi realizacjami: i.

Agorytm y i Zaczyna od wierzchoªka startowego s i stopniowo powi ksza. Niech S oznacza zbiór wierzchoªków rosn cego drzewa. Poczatkowo S = {s}. Zauwa»my,»e zbiór kraw dzi o dokªadnie jednym ko«cu w S stanowi rozci cie. W ka»dym kroku dodawany jest wierzchoªek b d cy drugim ko«cem najl»ejszej kraw dzi z tego rozci cia. U»ywana jest kolejka priorytetowa, aby efektywnie znale¹ taki wierzchoªek (priorytetem jest waga najl»ejszej kraw dzi ª cz cej ten wierzchoªek ze zbiorem S). Po wybraniu, wszystkie kraw dzie wychodz ce z nowo-dodanego wierzchoªka poddawane s relaksacji.

y i w(u, v) oznacza wag kraw dzi (u, v), w atrybucie dist przechowywana jest najkrótsza aktualnie znana odlegªo± wierzchoªka do zbioru S, a pq oznacza kolejk priorytetow. U»ywamy list s siedztwa. Wynikowe reprezentowane jest w atrybutach parent. MSTPrim(V,w,s){ PriorityQueue pq s.dist = 0 s.parent = null pq.insert(s) for each u in V\{s}: u.dist = INFINITY } while(!pq.isempty()): u = pq.deletemin() u.dist = 0 for each v in u.adjlist: if (w(u,v) < v.dist): v.dist = w(u,v) v.parent = u if (pq.contains(v)): pq.decreasekey(v) else pq.insert(v)

Analiza algorytmu y i rozmiar : n= V, m= E dominuj ca operacja: przypisanie (w inicjalizacji) i porównanie priorytetów (w tym ukryte w kolejce) i odlegªo±ci inicjalizacja: O(n) p tla: (n delmin()) + (m decreasekey()) Je±li kolejka zaimplementowana jako kopiec binarny: p tla: O(nlog(n)) + O(mlog(n)) = O((n+m)log(n)) Je±li u»ywamy kopca Fibonacciego (amortyzowany koszt staªy operacji decreasekey()): O(nlog(n) + m)

y i 1 pocz tkowo T = 2 rozpatruj kraw dzie w kolejno±ci niemalej cych wag i dodawaj do T te, które nie tworz z poprzednio dodanymi, pozostaªe odrzucaj, do momentu, gdy T nie tworzy drzewa go Gªówny problem to efektywne sprawdzanie, czy rozpatrywana kraw d¹ nie tworzy z dotychczasowo dodanymi. Pomysª polega na u»ywaniu pomocniczej typu union-nd. Poniewa» w ka»dej iteracji T stanowi las, ka»da nowa kraw d¹ (u, v), która utworzyªaby cykl ma t,»e oba jej ko«ce u i v nale» do tego samego drzewa w lesie T.

y i kruskalmst(v,e,w){ T = 0 UnionFind uf foreach edge (u,v) in non-decreasing order of weight: if (uf.find(u)!= uf.find(v)): T = T + (u,v) uf.union(uf.find(u),uf.find(v)) return T } Istnieje bardzo szybka (wa) implementacja union-nd, która zapewnia staªy czas operacji union i prawie 1 staªy amortyzowany czas operacji find. Analiza zªo»ono±ci czasowej tej implementacji nie jest jednak matematycznie ªatwa. Przy takiej implementacji zªo»ono± jest O(mlog(m)) (i jest zdominowana przez pocz tkowe posortowanie kraw dzi po wagach) 1 jest to pewna funkcja, która bardzo wolno ro±nie

Podsumowanie y i problem minimalnego drzewa go algorytm algorytmj

Przykªadowe pytania/zadania y i podaj denicj drzewa i lasu go podaj denicj podaj jej interpretacj w problemie MST podaj i jej interpretacj w problemie MST wyja±nij ide algorytmu wyja±nij ide algorytmu wyja±nij jak i rozci cia u»ywana jest w w/w algorytmach dla MST dokonaj analizy zªo»ono±ci czasowej algorytmu / maj c dany konkretny graf z wagami zastosuj algorytm / i wypisz kraw dzie tego grafu w kolejno±ci w jakiej zostaªy zaakceptowane (w przypadku arbitralno±ci zastosuj kolejno± alfabetyczn etykiet)

y i Dzi kuj za uwag