Minimal spannende Bäume

Ähnliche Dokumente
Minimal spannende Bäume

Vorlesung Datenstrukturen

Optimale Lösungen mit Greedy-Strategie erfordern Optimalität der Greedy-Wahl. Beispiele für optimale Greedy-Lösungen

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 3: Minimal aufspannende Bäume und Matroide

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph.

Algorithmische Graphentheorie

Informatik II, SS 2016

Wie wird ein Graph dargestellt?

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein

Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V.

Kapitel 5: Minimale spannende Bäume Gliederung der Vorlesung

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Übersicht: Graphen. Definition: Ungerichteter Graph. Definition: Ungerichteter Graph

Teil 2: Graphenalgorithmen

Kapitel 4: Minimal spannende Bäume Gliederung der Vorlesung

Ausarbeitung zum Modulabschluss. Graphentheorie. spannende Bäume, bewertete Graphen, optimale Bäume, Verbindungsprobleme

Kapitel 4: Minimale spannende Bäume Gliederung der Vorlesung

4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1

Vollständiger Graph. Definition 1.5. Sei G =(V,E) ein Graph. Gilt {v, w} E für alle v, w V,v w, dann heißt G vollständig (complete).

5. Bäume und Minimalgerüste

EDM, Algorithmen und Graphenspeicherung

Datenstrukturen und Algorithmen (SS 2013)

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7

Datenstrukturen und Algorithmen

Das Steinerbaumproblem

Informatik II, SS 2014

Minimal spannender Baum

Berechnung minimaler Spannbäume. Beispiel

Klausurvorbereitung. 1 Zentrale Begriffe. 2 Bipartite Graphen. 2.1 Begriffe. Vorlesung Graphen und Optimierung Sommersemester 2011 Prof. S.

1.Aufgabe: Minimal aufspannender Baum

Bäume und Wälder. Seminar: Graphentheorie Sommersemester 2015 Dozent: Dr. Thomas Timmermann

Algorithmen und Datenstrukturen II

Übungsblatt 2 - Lösung

ADS: Algorithmen und Datenstrukturen 2

6. Übung zur Linearen Optimierung SS08

Betriebswirtschaftliche Optimierung

Aufgaben zur Klausurvorbereitung

Kap. 6.5: Minimale Spannbäume ff

Bäume und Wälder. Definition 1

Betriebliche Optimierung

f h c 7 a 1 b 1 g 2 2 d

Definition Gerichteter Pfad. gerichteter Pfad, wenn. Ein gerichteter Pfad heißt einfach, falls alle u i paarweise verschieden sind.

3.2 Generischer minimaler Spannbaum-Algorithmus

Bäume und Wälder. Definition 1

9 Minimum Spanning Trees

Isomorphie von Bäumen

Algorithmen und Datenstrukturen Tafelübung 14. Jens Wetzl 8. Februar 2012

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume)

Algorithmen und Datenstrukturen

Algorithmen & Komplexität

3. Minimale Spannbäume. Definition 99 T heißt minimaler Spannbaum (MSB, MST) von G, falls T Spannbaum von G ist und gilt:

Richtig oder falsch? Richtig oder falsch? Richtig oder falsch? Mit dynamischer Programmierung ist das Knapsack- Problem in Polynomialzeit lösbar.

Kap. 6.5: Minimale Spannbäume

Einheit 11 - Graphen

Lösungen zu Kapitel 5

Seien u, v V, u v. Da G zusammenhängend ist, muss mindestens ein Pfad zwischen u und v existieren.

Funktioniert der Greedy-Algorithmus auch für Briefmarken aus Manchukuo?

Algorithmen und Datenstrukturen II

5 Graphen. Repräsentationen endlicher Graphen. 5.1 Gerichtete Graphen. 5.2 Ungerichtete Graphen. Ordnung von Graphen

ADS 2: Algorithmen und Datenstrukturen

Diskrete Mathematik Graphentheorie (Übersicht)

2. November Gradfolgen Zusammenhang Kürzeste Wege. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Informatik II, SS 2014

Graph Paar (V,E) V: nichtleere Menge von Knoten (vertex) E: Menge von Kanten (edges): Relation (Verbindung) zwischen den Knoten

Graphdurchmusterung, Breiten- und Tiefensuche

Grundlagen: Algorithmen und Datenstrukturen

Algorithmen I - Tutorium 28 Nr. 11

ADS: Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. C5.1 Einführung. C5.2 Grundlagen

KAPITEL 3 MATCHINGS IN BIPARTITEN GRAPHEN

Folien aus der Vorlesung Optimierung I SS2013

WS 2013/14. Diskrete Strukturen

Algorithmen und Datenstrukturen

Nachbarschaft, Grad, regulär, Inzidenz

Datenstrukturen und Algorithmen SS07

Programmiertechnik II

Algorithmen und Datenstrukturen 13

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

WS 2008/09. Diskrete Strukturen

Programmiertechnik II

Das Problem des minimalen Steiner-Baumes

Algorithmen und Datenstrukturen

\ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E.

Einführung in die Informatik 2

Graphen. Definitionen

Algorithmische Graphentheorie

Laufzeitanalyse (1) demogr.

Euler und Hamiltonkreise

Kapitel IV Minimale Spannbäume

Kapitel IV Minimale Spannbäume

Algorithmen für Planare Graphen

Theoretische Informatik Mitschrift

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J

Studientag zur Algorithmischen Mathematik

8.4 Digraphen mit negativen Kantengewichten Grundsätzliches Betrachte Startknoten s und einen Kreis C mit Gesamtlänge < 0.

Graphen und Bäume. A.1 Graphen

Inhalt. Organisatorisches. Verteilte Algorithmen Überblick 4. Verteilte Systeme. Formales Modell Algorithmus

Studientag zur Algorithmischen Mathematik

Übung zur Vorlesung Diskrete Mathematik (MAT.107) Blatt Beispiellösungen Abgabefrist:

Transkript:

http://www.uni-magdeburg.de/harbich/ Minimal spannende Fakultät für Informatik Otto-von-Guericke-Universität

2 Inhalt Definition Wege Untergraphen Kantengewichtete Graphen Minimal spannende Algorithmen zur Bestimmung minimal Spannender

Definition ungerichteter Graphen Definition Wege Untergraphen Kantengewichtete Graphen Ein ungerichteter Graph G ist eine algebraische Struktur G= V, E, wobei V eine endliche nicht leere Menge und E mit E V V eine symmetrische Relation auf V ist x, y V : x E y y E x. Wir bezeichnen V als Menge von Knoten (vertices) und E als Menge von Kanten (edges). Beispiel: G 1 = V 1,E 1 = {,v 2,,,v 5 }, {,v 2, v 2,,,,,, v 2,,,v 2,,,,,, }. G 1 v 2 e 1 ={, v 2, v 2, } e 2 e 3 e 4 v 5 e 5 ={, } Ronny Harbich 3

Definition von Wegen in einem Graphen Definition Wege Untergraphen Kantengewichtete Graphen Ein Weg w V n zwischen zwei Knoten x, y V ist ein n-tupel w= x 1, x 2,,x n mit x 1 = x, x n = y und n 2,n N genau dann, wenn x i, x i 1 E mit 1 i n 1,i N gilt. Wir nennen x Anfangsund y Endknoten des Weges w. W G ist die Menge aller Wege von G. Wir bezeichnen einen Weg x 1, x 2,, x n W G als Kreis, wenn Anfangs- und Endknoten mit x 1 = x n gleich sind und x i x j mit i j und i, j {k 1 k n 1,k N} gilt. Einen Graphen G, der keine Kreise enthält, nennen wir kreisfrei. Darüber hinaus heißt ein Graph G= V, E zusammenhängend, wenn zwischen je zwei unterschiedlichen Knoten x und y aus V ein Weg x,, y aus W G existiert, also gilt x, y V : x y x,, y W G Ronny Harbich 4

5 Beispiel zu Wegen in einem Graphen Definition Wege Untergraphen Kantengewichtete Graphen G 1 v 2 v 5 Weg: Kreis:,v 2, W G 1, W G 1 Nicht-zusammenhängend: G 1 = E 1,V 1 Zusammenhängend: V 1 {v 5 },E 1

Definition von Untergraphen von Graphen Definition Wege Untergraphen Kantengewichtete Graphen Wir bezeichnen einen Graphen G ' = V ',E ' als Untergraphen des Graphen G= V, E, wenn V ' V und E ' E gelten. Falls V ' =V gilt, dann heißt G ' spannend. Beispiel: G 1 ' v 2 G 1 v 2 v4 v 5 v 5 G'1 ist ein spannender Untergraph von G1 Ronny Harbich 6

7 Definition von kantengewichteten Graphen Definition Wege Untergraphen Kantengewichtete Graphen Ein kantengewichteter Graph G= V, E,w ist ein Graph V,E mit einer Abbildung w: E R +, wobei w x, y =w y, x. Wir nennen die Funktion w Gewicht (weight). Gewicht von G: w G = x, y E, x y w x, y w x, x 2 x, x E Beispiel: G 3 = {, v 2,, }, {,,,,,,,, v 2,,, v 2 }, w w, =w, =2, w, =w, =5,1, w v 2, =w, v 2 =3 G 3 v 2 2 5,1 3 w G 3 =10,1

8 Minimal spannende Definition von n und spannenden n Ein Baum (tree) T ist ein zusammenhängender und kreisfreier Graph V,E. Ein spannender Baum S ist ein Baum, der ein spannender Untergraph eines Graphen ist. Beispiel: T 1

9 Satz zur Existenz von spannenden n Minimal spannende Es existiert dann und nur dann ein spannender Baum in einem Graphen G, wenn G zusammenhängend ist.

10 Definition von minimal spannenden n Minimal spannende Ein minimal spannender Baum (Minimum Spanning Tree MST) M eines zusammenhängenden kantengewichteten Graphen G= V, E,w ist ein spannender Baum V, E ' vom Graphen V,E, falls kein anderer spannender Baum V,E von V,E derart existiert, dass w V,E, w w V, E ', w ' mit e E :w e =w e und e E ' :w ' e =w e gilt. Beispiel: G 5, M 1 1 v 2 4 2 5 9 5 1 Ein Graph G5 mit minimal spannenden Baum M1. Die Kanten von M1 sind rot markiert.

11 Minimal spannende Satz zur Existenz von minimal spannenden n Es existiert dann und nur dann ein minimal spannender Baum in einem kantengewichteten Graphen G, wenn G zusammenhängend ist.

12 Algorithmus von Kruskal Minimal spannende Eingabe: zusammenhängender kantengewichteter Graph G= V, E,w Ausgabe: minimal spannender Baum M = V, E ' von G B 1: E ' := ; E := E; B 2: solange E { B 3: B 4: E := E K; B 5: wenn V, E ' K kreisfrei, dann { B 6: E ' := E ' K; } } K :={ x, y, y, x } mit x, y {e E e ' E : w e ' w e };

13 Beispiel zum Algorithmus von Kruskal Minimal spannende G 5, M 1 1. 1 v 2 1 v 2 4 2 5 9 5 1 K ={,v 2, v 2, } E=E {, v 2, v 2, } E ' ={, v 2, v 2, }

14 Minimal spannende Beispiel zum Algorithmus von Kruskal (Fortsetzung) G 5, M 1 2. 1 v 2 1 1 v 2 4 2 5 9 5 1 K ={, } E= E {,v 2, v 2, } {, } E ' ={, v 2, v 2, }

15 Minimal spannende Beispiel zum Algorithmus von Kruskal (Fortsetzung) G 5, M 1 3. 1 v 2 2 1 v 2 4 2 5 9 5 1 K ={,,, } E= E {, v 2, v 2, } {, } {,,, } E ' ={, v 2, v 2,,,,, }

16 Minimal spannende Beispiel zum Algorithmus von Kruskal (Fortsetzung) G 5, M 1 4. 1 v 2 4 2 1 v 2 4 2 5 9 v 5 4 1 K ={,,, } E= E {,v 2, v 2, } {, } {,,, } {,,, } E ' ={, v 2, v 2,,,,,,,,, }

17 Eigenschaften von Kruskals Algorithmus Minimal spannende Der Algorithmus von Kruskal ist korrekt. Der Algorithmus von Kruskal lässt sich so implementieren, dass sein Aufwand O E log V ist.

18 Algorithmus von Prim Minimal spannende Algorithmus von Prim: Eingabe: zusammenhängender kantengewichteter Graph G= V, E, w Ausgabe: minimal spannender Baum M = V, E ' von G B 1: B 2: V ' :={v } mit v V; E ' := ; solange V ' V { x, y { p, q E p V ' q V V ' B 3: B 4: V ' :=V ' {y }; } p ', q ' E : p ' V ' q ' V V ' w p ',q ' w p, q } E ' := E ' { x, y, y, x };

19 Beispiel zum Algorithmus von Prim Minimal spannende E ' ={,,, } V ' ={, } 0. v 2 1. v 2 4 1 2. 1 v 2 3. 1 v 2 4 4 2 E ' ={,,,,,v 2, v 2, } V ' ={,,v 2 } E ' ={,,,,, v 2, v 2,,,,, } V ' ={,,v 2, }=V

20 Eigenschaften von Algorithmus Prim Minimal spannende Der Algorithmus von Prim ist korrekt. Der Algorithmus von Prim kann mit Hilfe eines Fibonacci-Heaps in O E V log V realisiert werden.

21 Minimal spannende Praktische Anwendung der Algorithmen: Verlegen von Netzwerkkabeln Gesucht sind minimale Kosten für das Netzwerk.

22 Minimal spannende Praktische Anwendung der Algorithmen: Verlegen von Netzwerkkabeln (Fort.) Ein minimal spannende Baum ist rot markiert.

23 Literatur http://www-e.uni-magdeburg.de/harbich/study.htm#graphs_mst