Minimalne drzewa rozpinające

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

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

Graf. Definicja marca / 1

Matematyczne Podstawy Informatyki

Matematyczne Podstawy Informatyki

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

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

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY

Algorytmiczna teoria grafów

Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie

Matematyka dyskretna

MODELE SIECIOWE 1. Drzewo rozpinające 2. Najkrótsza droga 3. Zagadnienie maksymalnego przepływu źródłem ujściem

Digraf. 13 maja 2017

Matematyka dyskretna - 7.Drzewa

Znajdowanie skojarzeń na maszynie równoległej

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.

Wstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel

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

Algorytmika Problemów Trudnych

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

Lista 4. Kamil Matuszewski 22 marca 2016

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

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

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

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

Elementy teorii grafów Elementy teorii grafów

Segmentacja obrazów cyfrowych z zastosowaniem teorii grafów - wstęp. autor: Łukasz Chlebda

KURS MATEMATYKA DYSKRETNA

KURS MATEMATYKA DYSKRETNA

Tworzenie gier na urządzenia mobilne

Ogólne wiadomości o grafach

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

7. Teoria drzew - spinanie i przeszukiwanie

Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA

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

Porównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki

Programowanie sieciowe. Tadeusz Trzaskalik

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

Konspekt. 15 października Wykład III (16 października 2014 r.): optymalizacja kombinatoryczna na grafach (metody sieciowe)

Sprawozdanie do zadania numer 2

Algorytmy i Struktury Danych.

Matematyczne Podstawy Informatyki

Wykłady z Matematyki Dyskretnej

Algebrą nazywamy strukturę A = (A, {F i : i I }), gdzie A jest zbiorem zwanym uniwersum algebry, zaś F i : A F i

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

Wyznaczanie optymalnej trasy problem komiwojażera

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

Algorytmy grafowe. Wykład 1 Podstawy teorii grafów Reprezentacje grafów. Tomasz Tyksiński CDV

Teoria grafów dla małolatów. Andrzej Przemysław Urbański Instytut Informatyki Politechnika Poznańska

Drzewa rozpinajace, zbiory rozłaczne, czas zamortyzowany

Indukowane Reguły Decyzyjne I. Wykład 3

1 Automaty niedeterministyczne

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

Algorytmy grafowe. Wykład 2 Przeszukiwanie grafów. Tomasz Tyksiński CDV

Programowanie dynamiczne i algorytmy zachłanne

Opracowanie prof. J. Domsta 1

Grafy (3): drzewa. Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków. UTP Bydgoszcz

Temat 9. Zabłocone miasto Minimalne drzewa rozpinające

Egzamin, AISDI, I termin, 18 czerwca 2015 r.

(4) x (y z) = (x y) (x z), x (y z) = (x y) (x z), (3) x (x y) = x, x (x y) = x, (2) x 0 = x, x 1 = x

Drzewa poszukiwań binarnych

6a. Grafy eulerowskie i hamiltonowskie

TEORETYCZNE PODSTAWY INFORMATYKI

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

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

MATEMATYKA DYSKRETNA - KOLOKWIUM 2

Sortowanie topologiczne skierowanych grafów acyklicznych

Data Mining Wykład 5. Indukcja drzew decyzyjnych - Indeks Gini & Zysk informacyjny. Indeks Gini. Indeks Gini - Przykład

Pole wielokąta. Wejście. Wyjście. Przykład

Problemy Decyzyjne dla Systemów Nieskończonych

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

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

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

E ' E G nazywamy krawędziowym zbiorem

Algorytmiczna teoria grafów

Matematyka dyskretna - 5.Grafy.

DWA ZDANIA O TEORII GRAFÓW. przepływ informacji tylko w kierunku

Teoria obliczeń i złożoność obliczeniowa

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

Zadania z egzaminów z Algorytmiki

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

Wstęp do programowania

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Problem skoczka szachowego i inne cykle Hamiltona na szachownicy n x n

Zagadnienie najkrótszej drogi w sieci

Algorytmy dynamiczne. Piotr Sankowski. - p. 1/14

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

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

Zadania z egzaminów z Algorytmiki

TEORIA GRAFÓW I SIECI - ROZDZIAŁIV. Drzewa. Drzewa

Wstęp do Programowania potok funkcyjny

Wysokość drzewa Głębokość węzła

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno

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

Algorytmy i Struktury Danych.

XIV Olimpiada Matematyczna Juniorów

5c. Sieci i przepływy

Kombinowanie o nieskończoności. 2. Wyspy, mosty, mapy i kredki materiały do ćwiczeń

Twierdzenie Halla o małżeństwach

Transkrypt:

KNM UŚ 26-28 listopada 2010

Ostrzeżenie Wprowadzenie Motywacja Definicje Niektóre pojęcia pojawiające się podczas tego referatu są naszymi autorskimi tłumaczeniami z języka angielskiego. Nie udało nam się znaleźć ich polskich odpowiedników. Dlatego nazwy, które Szanowny Słuchacz może znaleźć w literaturze, mogą różnić się od użytych w tej prezentacji.

Motywacja Definicje Zapraszamy do Utrechtu. Budynki uniwersytetu w tym mieście połączone są na wysokości pierwszego piętra korytarzami takimi jak ten:

Motywacja Definicje Wyobraźmy sobie firmę mieszczącą się w kilkunastu (kilkudziesięciu, kilkuset ) budynkach. Firma ta chce wybudować podobne korytarze pomiędzy swoimi budynkami. Znany jest koszt budowy każdego możliwego korytarza. Ponadto, szefowi firmy zależy, by: 1 Między każdymi dwoma budynkami istniało (niekoniecznie bezpośrednie) połącznie; 2 Łączny koszt budowy korytarzy był (a jakże) jak najniższy. Czy potrafisz rozwiązać powstały problem?

Motywacja Definicje Problem można zobrazować za pomocą grafu, w którym wierzchołki odpowiadają poszczególnym budynkom, a krawędzie możliwym do wybudowania korytarzom. Każdej krawędzi przypisana jest liczba oznaczająca koszt budowy danego korytarza. Zadanie sprowadza się do znalezienia tzw. minimalnego drzewa rozpinającego:

Czym będziemy się zajmować? Motywacja Definicje Rozważmy spójny, nieskierowany graf z wagami G = (V, E, c), gdzie: V jest zbiorem wierzchołków, V = n; E jest zbiorem krawędzi, E {{v, w}: v, w V }, E = m; c e oznacza wagę krawędzi e = {v, w} E.

Drzewo rozpinające graf Motywacja Definicje Drzewo rozpinające T E nazywamy drzewem rozpinającym graf G = (V, E) wtedy i tylko wtedy, gdy graf (V, T ) jest spójny i nie zawiera cykli. Drzewo rozpinające graf zapisywać będziemy w skrócie ST (Spanning Tree). ST - warunki równoważne [Wilson, 2008] Następujące warunki są równoważne: (i) T E jest drzewem rozpinającym graf G = (V, E); (ii) graf (V, T ) jest spójny i T = V 1; (iii) graf (V, T ) nie zawiera cykli i T = V 1; (iv) w grafie (V, T ) dla dowolnych wierzchołków v, w V istnieje jedyna ścieżka o końcach v, w.

Minimum Spanning Tree Motywacja Definicje Dla danego grafu G = (V, E, c) spróbujmy znaleźć drzewo rozpinające T. Wagą drzewa T nazywamy sumę wag krawędzi tego drzewa: Nasze zadanie - problem: e T Znaleźć drzewo rozpinające grafu G = (V, E, c) o najmniejszej z możliwych wag. c e

Rozcięcia Wprowadzenie Rozcięcie generowane przez zbiór wierzchołków Rozcięciem generowanym przez zbiór wierzchołków W V nazywamy zbiór krawędzi o jednym końcu w zbiorze W, a drugim w zbiorze V \ W. Rozcięcie takie oznaczamy symbolem δ(w ): δ(w ) = {e = (w, v): w W, v V \ W } Oczywiście δ(w ) = δ(v \ W ).

Rozcięcia Wprowadzenie Rozcięcie generowane przez krawędź Niech T będzie drzewem rozpinającym graf G. Rozcięciem generowanym przez krawędź e T nazywamy rozcięcie (w grafie G) powstałe przez usunięcie krawędzi e (z drzewa T ). Rozcięcie takie oznaczamy symbolem C(e).

Wprowadzenie wejście: G = (V, E, c) wyjście: T E - minimalne drzewo rozpinające grafu G W = {v 0 } - dowolny wierzchołek początkowy; T = ; for (i = 1,..., n 1) do e i = {v, u} := argmin{c e : e δ(w )}; e i jest krawędzią o najmniejszej wadze wychodzącą ze zbioru W ; v W, u / W T = T e i ; W = W u;

Przykład działania algorytm Prima

Poprawność algorytmu Prima Poprawność algorytmu Prima wynika bezpośrednio z poniższego warunku rozcięcia: Warunek rozcięcia Rozważmy graf z wagami G = (V, E, c). Drzewo rozpinające T E jest minimalne () wtedy i tylko wtedy, gdy e T f C(e) c e c f.

Dowód warunku rozcięcia 1 Załóżmy, że T E jest i przypuśćmy, że e T f C(e) c e > c f. T {f } zawiera cykl. Usuwając z tego cyklu krawędź e otrzymujemy ST. Nazwijmy je T. T ma mniejszą wagę niż T, co przeczy temu, że T jest. 2 Załóżmy, że ST T E spełnia warunek e T f C(e) c e c f. Niech T oznacza takie, że T T jest maksymalna. Przypuśćmy, że T T i ustalmy krawędź e T \ T. Z warunku rozcięcia f C(e) c e c f. T jest ST, więc C(e) T. Niech f C(e) T. T {e} zawiera cykl. Usuwając z tego cyklu krawędź f otrzymujemy ST. Nazwijmy je T. T jest (bo c e c f ) i T T > T T, co przeczy maksymalności T T. Zatem T = T, więc T jest.

Warunek ścieżki Wprowadzenie W danym drzewie T, niech P T (v, w) oznacza jedyną ścieżkę łączącą wierzchołki v i w. Warunek ścieżki Rozważmy graf z wagami G = (V, E, c). Drzewo rozpinające T E jest minimalne () wtedy i tylko wtedy, gdy f ={v,w} E\T e P T (v,w) c e c f.

Dowód warunku ścieżki Wprowadzenie 1 Załóżmy, że T E jest. T spełnia warunek rozcięcia. Ustalmy f = {v, w} E \ T oraz e P T (v, w). Wówczas f C(e), a zatem (z warunku rozcięcia) c e c f. T spełnia więc wrunek ścieżki. 2 Załóżmy, że ST T E spełnia warunek f ={v,w} E\T e P T (v,w) c e c f. Ustalmy e = {v, w} T oraz f = {x, y} C(e) \ {e}. Oczywiście f E \ T. Zauważmy, że w T \ {e} nie istnieje ścieżka łącząca x i y. Zatem e P T (x, y). Z warunku ścieżki, c e c f. T spełnia warunek rozcięcia, więc T jest.

Wprowadzenie wejście: G = (V, E, c) wyjście: T E - minimalne drzewo rozpinające grafu G posortuj krawędzie tak, by c e1... c em ; T = ; for (i = 1,..., m) do if (T e i ) nie zawiera cykli then T = T e i;

Przykład działania algorytm Kruskala

Poprawność algorytmu Kruskala oczywiście T nie zawiera cykli; ze względu na sortowanie, dla każdego zbioru wierzchołków W V, T zawiera krawędź z rozcięcia δ(w ) o najniższej wadze, więc T δ(w ), zatem T jest spójny; T jest drzewem dowolna krawędź f = {v, w} nie należąca do T tworzy cykl z pewnymi krawędziami T - oznaczmy ten cykl {v, w} P T (v, w); ze względu na sortowanie, dla każdej krawędzi e P T (v, w) mamy c e c f ; z warunku ścieżki wnosimy, że T jest.

Bibliografia Wprowadzenie R. J. Wilson. Wprowadzenie do teorii grafów. Wydawnictwo Naukowe PWN, 2008. M. Uetz. Introduction / Algorithms & Spanning Trees Lectures on Discrete Optimization 2010, http://wwwhome.math.utwente.nl/~uetzm/do/do_ Lecture1.pdf

Dziękujemy za uwagę!