Das Steinerbaumproblem

Ähnliche Dokumente
3. Musterlösung. Problem 1: Boruvka MST

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

Das Briefträgerproblem

Steinerbäume. Seminarausarbeitung Hochschule Aalen Fakultät für Elektronik und Informatik Studiengang Informatik Schwerpunkt Software Engineering

Seminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn

Anmerkungen zur Übergangsprüfung

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume

WS 2009/10. Diskrete Strukturen

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

Kombinatorische Optimierung

Maximale s t-flüsse in Planaren Graphen

Algorithmen und Datenstrukturen 2

Kapitel 4: Minimal spannende Bäume Gliederung der Vorlesung

4 Greedy-Algorithmen (gierige Algorithmen)

Vorlesung 4 BETWEENNESS CENTRALITY

Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Wiederholung zu Flüssen

Undirected Single-Source Shortest Paths with Positive Integer Weights in Linear Time

16. All Pairs Shortest Path (ASPS)

Algorithmen und Datenstrukturen Kapitel 10

Routing Algorithmen. Begriffe, Definitionen

RHEINISCHE FRIEDRICH-WILHELMS-UNIVERSITÄT BONN INSTITUT FÜR INFORMATIK I

WS 2013/14. Diskrete Strukturen

6. Flüsse in Netzwerken Berechnung maximaler Flüsse. dann berechnet der Markierungsalgorithmus für beliebige Kapazitätsfunktionen

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Theoretische Grundlagen der Informatik

Graphen: Datenstrukturen und Algorithmen

Algorithmen II Vorlesung am

Maximale s t-flüsse in Planaren Graphen

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

ADS: Algorithmen und Datenstrukturen 2

Algorithmik Funke/Bahrdt/Krumpe/Mendel/Seybold SS Übungsblatt 4

Algorithmische Methoden zur Netzwerkanalyse

Statistische Untersuchungen zu endlichen Funktionsgraphen

Effiziente Algorithmen I

Vorlesung 3 MINIMALE SPANNBÄUME

6. Flüsse und Zuordnungen

Wasserfall-Ansätze zur Bildsegmentierung

Stefan Schmid TU Berlin & T-Labs, Berlin, Germany. Reduktionen in der Berechenbarkeitstheorie

Datenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 14

2.11 Kontextfreie Grammatiken und Parsebäume

4.7 Der Algorithmus von Dinic für maximalen Fluss

Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist.

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

Information Systems Engineering Seminar

Gliederung. Definition Wichtige Aussagen und Sätze Algorithmen zum Finden von Starken Zusammenhangskomponenten

C++, LEDA und STL Visualisierung minimal/maximal aufspannender Bäume

Algorithmen und Datenstrukturen 2

13. Binäre Suchbäume

Randomisierte Algorithmen

Übung zur Vorlesung Algorithmische Geometrie

Alles zu seiner Zeit Projektplanung heute

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Algorithmen und Datenstrukturen 2-2. Seminar -

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik

Bäume Jiri Spale, Algorithmen und Datenstrukturen - Bäume 1

Seminar über aktuelle Forschungsthemen in der Algorithmik, Dozent Prof. Dr. Alt;

14. Rot-Schwarz-Bäume

Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 7, Henning Meyerhenke

Praktikum Planare Graphen

Pratts Primzahlzertifikate

Kombinatorische Optimierung

Codierung, Codes (variabler Länge)

Datenstrukturen und Algorithmen SS07

Algorithmen zur Berechnung von Matchings

A2.3 Lineare Gleichungssysteme

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)

Stackelberg Scheduling Strategien

Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik. Weihnachtsblatt

Elementargeometrie. Prof. Dr. Andreas Meister SS digital von: Frank Lieberknecht

Dynamische Optimierung. Kapitel 4. Dynamische Optimierung. Peter Becker (H-BRS) Operations Research II Wintersemester 2014/ / 206

Netzwerkfluß. Gegeben ist ein System von Wasserrohren: Die Kapazität jedes Rohres ist 3, 5 oder 8 l/s.

Flüsse, Schnitte, bipartite Graphen

Graphentheorie. Maximale Flüsse. Maximale Flüsse. Maximale Flüsse. Rainer Schrader. 31. Oktober Gliederung. sei G = (V, A) ein gerichteter Graph

Vorlesung : Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz

Algebra und Diskrete Mathematik, PS3. Sommersemester Prüfungsfragen

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Algorithmentheorie Maximale Flüsse

Highway Hierarchies. Kristian Dannowski, Matthias Hoeschel

Maximaler Fluß und minimaler Schnitt. Von Sebastian Thurm

Wissensbasierte Systeme

Periodische Fahrpläne und Kreise in Graphen

Planare Graphen, Traveling Salesman Problem, Transportnetze. Formale Methoden der Informatik WiSe 2012/2013 teil 4, folie 1 (von 61)

Programmierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester

1. Einleitung wichtige Begriffe

Algebraische Kurven. Vorlesung 26. Die Schnittmultiplizität

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É.

Flüsse, Schnitte, bipartite Graphen. Martin Oettinger

Entwurf und Umsetzung eines Werkzeugs für die Fluchtwegplanung

Die k kürzesten Wege in gerichteten Graphen

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann

Transkript:

Das Steinerbaumproblem Natalie Richert Fakultät für Elektrotechnik, Informatik und Mathematik, Universität Paderborn 4. Februar 008 / 3

Überblick Problembeschreibung Vorstellung von zwei Approimationsalgorithmen Distance-Network-Heuristik (Approimationsgüte ) Approimationsalgorithmus von Zelikovsk (Approimationsgüte /6) / 3

Das Steinerbaumproblem Gegeben: Zusammenhängender Graph G = (V, E) Terminale N V Gewichtsfunktion c : E R 0 Gesucht: Subgraph T = (V, E ) mit T ist ein Baum N V e E c(e) minimal Das Steinerbaumproblem ist damit eine Verallgemeinerung des Problems des minimalen Spannbaumes. 3 / 3

Beispiel Steinerbaum u z v w u z w (a) Eingabegraph (b) optimaler Steinerbaum Abbildung: Graph mit zugehörigem optimalen Steinerbaum 4 / 3

Kompleität In polnomieller Zeit lösbar für Spezialfälle N = Shortest Path Problem Lösung zum Beispiel mit Dijkstra Algorithmus N = V Minimum Spanning Tree Problem Lösung zum Beispiel mit Prim oder Kruskal Das allgemeine Steinerbaumproblem ist jedoch NP-vollständig Distance-Network-Heuristik mit Approimationsgüte Approimationsalgorithmus von Zelikovsk mit Approimationsgüte /6 5 / 3

Die Distance-Network-Heuristik Der Approimationsalgorithmus beruht auf der Bestimmung eines minimalen Spannbaumes des Distanzgraphen. Distanzgraph eines zusammenhängenden Graphen G = (V, E, c) ist Graph D G = (V, E D, c D ) mit E D = {{u, v} u, v V } cd : V V R 0 gibt die Länge eines kürzesten Pfades von u nach v in G angibt DG (N) ist ein durch N induzierter Subgraph von D G 6 / 3

Distance-Network-Heuristik: Algorithmus. Berechne den Distanzgraphen D G (N).. Berechne einen minimalen Spannbaum T D für D G (N). 3. Ersetze jede Kante in T D durch den entsprechenden kürzesten Pfad in G und erhalte einen Subgraphen G N von G. 4. Berechne einen minimalen Spannbaum T N für G N. 5. Entferne sukzessiv Blätter aus T N, die nicht in N sind. 7 / 3

Distance-Network-Heuristik: Beispiel v 0 0.5 0.5 v 8 v 9 v 7 v 4 v 4 v 8 v 6 v 5 4 4 4 9 v 3 v 4 4 v v 3 (a) Graph G (b) D G (N). Berechne den Distanzgraphen D G (N) 8 / 3

Distance-Network-Heuristik: Beispiel v 4 v 4 v 4 v 4 4 4 4 4 4 v v 3 (c) D G (N) 4 v v 3 (d) T D. Berechne einen minimalen Spannbaum T D für D G (N) 9 / 3

Distance-Network-Heuristik: Beispiel v 4 v 4 4 4 v v 3 v v 0.5 v 8 v 9 0.5 v 7 v 6 v 5 v 3 v 4 (e) T D (f) G N 3. Ersetze jede Kante in T D durch den entsprechenden kürzesten Pfad in G und erhalte einen Subgraphen G N von G 0 / 3

Distance-Network-Heuristik: Beispiel v v 0.5 0.5 v 8 v 9 0.5 0.5 v 8 v 9 v 7 v 7 v v 6 v 5 v v 6 v 5 v 3 v 4 (g) G N v 3 v 4 (h) T N 4. Berechne einen minimalen Spannbaum T N für G N / 3

Distance-Network-Heuristik: Beispiel v v 0.5 0.5 v 8 v 9 v 9 v 7 v v 6 v 5 v v 6 v 5 v 3 v 4 (i) T N v 3 v 4 (j) T KMB 5. Entferne sukzessiv Blätter aus T N, die nicht in N sind / 3

Approimationsgüte Beweis Sei T (N) ein minimaler Steinerbaum für N in G. Verdopple die Kanten von T (N). Erhalte ein Zklus Z, der alle Knoten aus N enthält. Also ist c(z) = c(t (N)). a b e d c Abbildung: Verdopplung der Kanten ergibt einen Zklus 3 / 3

Distance-Network-Heuristik: Beweis Z definiert einen Spannbaum T Z auf D G (N): Starte in einem Blatt v N von T (N) v, v,..., v N : Reihenfolge der Erstbesuche Kanten {v i, v i+ } bilden einen Spannbaum: a b e d c Also ist c(t D ) c(t Z ) c(z) = c(t (N)) Damit gilt c(t KMB ) c(t D ) c(t (N)). 4 / 3

Beispiel für schlechte Situation v v v k v 0 v 3 v k v 4...... 5 / 3

Approimationsalgorithmus von Zelikovsk Verbesserung der Approimationsgüte für das allgemeine Steinerbaumproblem von auf /6. Idee: Wähle optimale Steinerbäume für drei Terminale (Tripel), die das Gewicht des minimalen Spannbaumes des Distanzgraphen reduzieren Füge solchen optimalen Steinerbaum zum Spannbaum hinzu zwei Kreise werden im Spannbaum geschlossen Entferne die schwersten Kanten in diesen Kreisen 6 / 3

Begriffsdefinitionen T (N) optimaler Steinerbaum für die Terminalmenge N M i i Phase im Algorithmus der aus dem Urpsrungsspannbaum nach i Modifikationen hervorgegangene Spannbaum Bridge i (, ) schwerste Kante auf dem Pfad von nach in M i. Für tr = {,, z} N gilt: Bridge i (tr) = {Bridge i (, ), Bridge i (, z), Bridge i (, z)} gain i (tr) Einsparung durch den optimalen Steinerbaum für ein Tripel tr von Terminalen gain i (tr) = c(bridge i (tr)) c(t (tr)) 7 / 3

Eigenschaften von Bridge i (tr) Lemma Bridge i (tr) = Beweis. M tr : Subbaum von M i, durch Tripel tr = {,, z} aufspannt Es eistiert in M tr ein eindeutiger Knoten c: Pfade p, p, p z von c nach,, z sind in M tr paarweise kantendisjunkt Pfad p enthalte die schwerste Kante von M tr Dann gilt Bridge i (, ) = Bridge i (, z) Bridge i (, z) Im folgenden bestehe Bridge i (tr) ohne Einschränkung der Allgemeinheit aus den Kanten {, } und {, z}. 8 / 3

Der Zelikovsk-Algorithmus. Berechne minimalen Spannbaum M 0 von D G (N). Solange Tripel tr mit gain i (tr) > 0 eistiert (Phase i):. Wähle Tripel tr i = {,, z} mit ma. gain. M i+ = (M i \ Bridge i (tr i )) {{, }, {, z}} mit Gewichten c({, }) = c(bridge i (, )) gain i (tr i ) und c({, z}) = c(bridge i (, z)) gain i (tr i ) 3. Mit M f wird nun der endgültige Steinerbaum T Z erzeugt: 3. Füge in G Z kürzesten Pfad für jede Kante aus M f M 0 ein 3. Füge in G Z optimalen Steinerbaum T (tr i ) 3.3 Berechne den minimalen Spannbaum T Z von G Z M i+ hat reduziertes Gewicht c(m i+ ) = c(m i ) gain i (tr i ) c(m f ) = c(m 0 ) i gain i(tr i ) f ist die Phasenanzahl 9 / 3

Der Zelikovsk-Algorithmus: Beispiel Eingabegraph G Terminalmenge {w,,, z} Bsp. Gewicht c(t ({,, z})) = 3 u z v w Abbildung: G 0 / 3

Der Zelikovsk-Algorithmus: Beispiel u z v w Abbildung: G Der dazugehörige Distanzgraph D G (N) z 4 w Abbildung: D G (N) / 3

Der Zelikovsk-Algorithmus: Beispiel z 4 w Minimaler Spannbaum M 0 von D G (N) Bridge 0 (tr 0 ) = {{, }, {, w}}, tr 0 = {,, z} gain 0 (tr 0 ) = c(bridge 0 (tr 0 )) c(t (tr 0 )) = 4 3 = > 0 Abbildung: D G (N) z w Abbildung: M 0 / 3

Der Zelikovsk-Algorithmus: Beispiel z 4 w Minimaler Spannbaum M 0 von D G (N) Bridge 0 (tr 0 ) = {{, }, {, w}}, tr 0 = {,, z} gain 0 (tr 0 ) = c(bridge 0 (tr 0 )) c(t (tr 0 )) = 4 3 = > 0 Abbildung: D G (N) z w Abbildung: M 0 / 3

Der Zelikovsk-Algorithmus: Beispiel z 4 w Minimaler Spannbaum M 0 von D G (N) Bridge 0 (tr 0 ) = {{, }, {, w}}, tr 0 = {,, z} gain 0 (tr 0 ) = c(bridge 0 (tr 0 )) c(t (tr 0 )) = 4 3 = > 0 Abbildung: D G (N) z w Abbildung: M 0 / 3

Der Zelikovsk-Algorithmus: Beispiel z w Bridge 0 (, ) und Bridge 0 (, z) werden ersetzt durch {, } und {, z} c({, }) = c(bridge 0 (, )) gain 0 (tr 0 ) = c({, z}) = c(bridge 0 (, z)) gain 0 (tr 0 ) = Kein weiteres Tripel eistiert mit positivem gain Abbildung: M 0 z w Abbildung: M 3 / 3

Der Zelikovsk-Algorithmus: Beispiel z w Ersetze in M Kante aus M 0 M durch kürzesten Pfad Ersetze für Tripel tr 0 die Kanten {, } und {, z} durch optimalen Steinerbaum für tr 0 Berechne minimalen Spannbaum des resultierenden Graphen Abbildung: M z u v w Abbildung: T Z 4 / 3

Der Zelikovsk-Algorithmus: Approimationsgüte Lemma Für alle i {0,,..., f } enthält Bridge i (tr i ) nur Kanten aus M 0. Neu hinzugefügte Kanten werden nicht mehr ausgetauscht M f besteht aus Kanten aus M 0 und aus Kanten, die durch die Tripel tr 0, tr,..., tr f eingefügt wurden 5 / 3

Der Zelikovsk-Algorithmus: Approimationsgüte Lemma 3 c(t Z ) (c(m 0 ) + c(m f ))/ Beweis. T Z ist minimaler Spannbaum des Graphen G Z bestehend aus kürzesten Pfaden für jede Kante aus M f M 0 optimalen Steinerbäumen T (tr i ) c(t Z ) c(m f ) + i = c(m f ) + i (c(t (tr i )) (c(bridge i (tr i )) gain i (tr i ))) gain i (tr i ) = (c(m f ) + c(m f ) + i gain i (tr i ))/ = (c(m f ) + c(m 0 ))/ 6 / 3

Der Zelikovsk-Algorithmus: Approimationsgüte Definition 4 (Volle Komponente) Eine volle Komponente eines Graphen G = (V, E) und einer Terminalmenge N V ist ein Subgraph G von G der ein Baum ist und dessen Blätter genau die Terminale sind. a c b d e f i g h j k l Abbildung: Zerlegung eines Steinerbaums in seine volle Komponenten 7 / 3

Der Zelikovsk-Algorithmus: Approimationsgüte Definition 5 (3-Steinerbaum) In einem 3-Steinerbaum hat jede volle Komponente höchstens drei Terminale. Ein optimaler 3-Steinerbaum T 3 (N) ist ein 3-Steinerbaum minimalen Gewichts. Lemma 6 c(m f ) 5/3 c(t (N)) Beweisidee gliedert sich in zwei Schritte. c(m f ) c(t 3 (N)) 5 c(t (N)) 3 Lemma 7 (Güte der Distance-Network-Heuristik) c(m 0 ) c(t (N)) 8 / 3

Approimationsgüte Theorem 8 Der Algorithmus von Zelikovsk berechnet für einen zusammenhängenden und gewichteten Graphen G = (V, E, d) und eine Terminalmenge N V einen Steinerbaum T Z für N in G mit Approimationsgüte /6. Beweis. Aus den Lemmata 3, 6 und 7 erhält man c(t Z ) (c(m f ) + c(m 0 ))/ ( + 5/3) c(t (N))/ = /6 c(t (N)) 9 / 3

Zusammenfassung Problembeschreibung In polnomieller Zeit lösbar für Spezialfälle Allgemeines Steinerbaumproblem ist NP-vollständig Vorstellung von zwei Approimationsalgorithmen Distance-Network-Heuristik (Approimationsgüte ) Approimationsalgorithmus von Zelikovsk (Approimationsgüte /6) 30 / 3

Vielen Dank für die Aufmerksamkeit! Fragen? 3 / 3