Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Steiner Bäume Dipl.-Math. Maria Kandyba Lehrstuhl für Algorithm Engineering, LS11 12 VO15. Januar 2007.

Ähnliche Präsentationen


Präsentation zum Thema: "Steiner Bäume Dipl.-Math. Maria Kandyba Lehrstuhl für Algorithm Engineering, LS11 12 VO15. Januar 2007."—  Präsentation transkript:

1 Steiner Bäume Dipl.-Math. Maria Kandyba Lehrstuhl für Algorithm Engineering, LS11 12 VO15. Januar 2007

2 Überblick Einführung Definition und Motivation Komplexität Approximationsalgorithmen Distanznetzwerk Heuristik Primal-Dualer Algorithmus

3 Steinerbaum Ungerichteter G=(V,E), Terminalknoten NV. Kantengewichte c: E + Ein Steiner Baum T G (N)=(V,E) von G ist: Baum mit VV, EE NV Gewicht von Steinerbaum: c(T G (N))= e E c(e) Steinerbaum Problem: Finde den Steinerbaum T G * (N) vom minimalen Gewicht

4 Geschichte & verschiedene Varianten Pierre de Fermat (1601–1665) Frage: Gegeben 3 Punkte in der Ebene, finde den vierten, so dass die die Summe der Distanzen zu den anderen drei ist minimal. Gelöst von Toricelli vor 1640 (Toricellipunkt) Jacob Steiner (1796–1863) Verallgemeinerung auf n Knoten (unter anderem):

5 Varianten & Anwendung Varianten: Geometrisches SBP euklidisch rektilinear SBP in Netzwerken Anwendungen: VLSI-Design Netzwerk Design

6 Komplexität Steinerbaum Problem ist NP-hart auch wenn c(e)=1 für alle e E Polynomielle Spezialfälle |N|=2 Lösung ist der kürzester Weg zwischen den Kundenknoten (Dijkstra) N=V Lösung ist minimal spannender Baum (Kruskal oder Prim)

7 Algorithmen für Steiner Baum Problem Algorithmen (Auswahl): Approximationsalgorithmen Distanznetzwerk Heuristik Approximation von Zelikovski (1993) Primal-Duale Approximation (Goemann, Williamson 1995) Exakte Verfahren Dynamische Programmierung (Dreyfus & Wagner 1971) Branch & Cut (exponentiell, gut in Praxis)

8 Literatur: J. Cheriyan, R. Ravi: Approximation algorithms for network problems. Lecture Notes, (citeseer.ist.psu.edu/cheriyan98approximation.ht ml) V. Vazirani: Approximation Algorithms. Springer Verlag 2003 D. S. Hochbaum (Hrsg.): Approximation Algorithms for NP-hard Problems. PWS Publishing Company 1997

9 Distanznetzwerk Distanznetzwerk D G (W)=(W, E D, c D ) von G=(V,E): WV E D ={(u,v)| u,v W } Kantengewichte c D (u,v)=Länge des kürzesten Pfades von u nach v in G Eigenschaften von D G (W): Distanzgraph ist vollständig Für (u,v) E D : (u,v) E c D (u,v) c(u,v) c D erfüllt Dreiecksungleichung

10 Distanznetzwerk Heuristik (DNH) Berechne Distanznetzwerk D G (N) Berechne minimal spannenden Baum (MST) T D (N) in D G (N) Transformiere T D (N) D G (N) in ein G G: ersetze jede (u,v) T D (N) durch einen kürzesten (u,v)-Pfad in G. G ist i.A. kein Baum Berechne MST T DNH auf G

11 5 Beispiel g a cf eh b d a bg a e b d g

12 Theorem: Güte von DNH Für jede Instanz des Steinerbaum Problems (G,N,c) gilt für die Lösung T DNH der Distanzwerkheuristik c(T DNH ) (2-2/|N|)c(T G *(N)). Beweisskizze : z4z4 z1z1 z2z2 z3z3 Betrachte T G *(N): Verdoppele die Kanten Finde eine Eulertour L Nummeriere v N auf L in der Ablaufreihenfolge: z 1,…,z |N|,z |N|+1, wobei z |N|+1 =z 1

13 Beweisskizze: c(L)=2c(T G (N)) (*) i, s.d. L(z i,z i+1 ) mit c(L(z i,z i+1 )) c(L)/|N| (**) o.B.d.A i=|N| Betrachte L=L \ L(z |N|,z |N|+1 ) z4z4 z1z1 z2z2 z3z3 Wegen (*) und (**) gilt c(L)(2-2/|N|)c(T N (G)) Zeige: c(T DNH ) c(L): Kanten (z i,z i+1 ) mit c D (z i,z i+1 ) c(L(z i,z i+1 )) für 1 i |N|-1 formen spannenden Baum T in D G (N) c(T DNH ) c(T) c(L) (2-2/|N|)c(T N (G))

14 Laufzeit von DNH O(|N|·(|E|+|V|log|V|)) Variante von Mehlhorn (1988) Besitzt denselben Approximationsfaktor Benötigt O(|E|+|V|log|V|) Siehe: K. Mehlhorn, A faster approximation algorithm for the Steiner problem in Graphs, Information Processin Letters 27(3) (1988), pp

15 Formulierung als Lineares Programm Lösung des Steinerbaum Problems ist eine Kantenmenge FE In einem Steinerbaum T=(V(F),F) muss gelten: N V(F) T zshgd: Für u,v N muss mind. ein Pfad von u nach v existieren. S V, SNN muss also gelten: |F (S)| 1

16 ILP mit Hilfe von Schnittungleichungen Kantenvariablen x e =1, falls e F x e =0, sonst Alternative Schreibweise für die Schnittungleichungen: e(S) x e f(S) S V wobei hier f(S)= 1 S: SNN und f(S)=0 sonst min e E c e x e e(S) x e 1 S: SNN x e {0,1} e E

17 Primal-Dualer Algorithmus Früher: primal-dualer Algorithmus für das polynonielle Problem MWPM in bipartiten Graphen Eigenschaft des Algorithmus: Primaler und Dualer komplementärer Schlupf erfüllt. Goemann-Williamson (GW)-Algorithmus: primal-dual als Approximation für das NP-harte Steinerbaum Problem. Nur primaler Schlupf wird gefordert.

18 LP-Relaxierung und das Duale Primal: min e E c e x e e(S) x e 1 S: SNN x e 0 e E Satz von komplementärem Schlupf: Primal: x e 0 S:e(S) y S = c e Dual: y S 0 e(S) x e =1 Dual: max SV y S S:e(S) y S c e e E y S 0 SV

19 Idee der Vorgehensweise Starte mit einer zulässigen dualen Lösung Konstruiere daraus eine primale, die primalen komplementären Schlupf erfüllt. Diese primale Lösung nicht unbedingt zulässig Wenn nicht, gibt eine Möglichkeit die duale Lösung zu verbessern. Sobald primale Lösung zulässig STOP

20 Konkreter Lösung x von (P) induziert eine Kantenmenge F E Gesucht: F* E s.d. G=(V(F*), F*) Steinerbaum Zulässige Lösung von (D) liefert: F = { e E | S:e(S) y S = c e } F unzulässig (ggf. mehrere) S mit |(S)F|=0 und f(S)=1, also Schnittungleichung verletzt Idee: Solange F unzulässig: Erhöhe gleichzeitig und zulässig alle y S um >0, s.d. für eine Kante e E\F die duale Ungleichung mit = erfüllt ist Augmentiere F=F{e}

21 Details Frage: Wie findet man die von aktuellem F verletzte Mengen S? Betrachte: G=(V, F) Zshgskomponenten von G: C 1, …,C n C i heißt aktive Menge, falls C iNN (f(C i )=1) C i liefert also einen verletzten Schnitt Bemerkung: Keine echte Teilmenge von C i verletzt die Schnittbedingungen

22 Postprocessing Nach den Iterationen: F zulässig für (P) F kann enhält u.U. redundante Kanten Finde redundante Kanten (Kanten, die den Zusammenhang zersören würden) und entferne sie Beispiel:

23 Zusammenfassung: GW-Algorithmus Start: y S =0 F= ={{v}: v V} Für alle v V d(v):=0 While C aktiv Für jede e=(v,w), wobei v C(v), w C(w), C(v)C(w) berechne (v,w): (v,w) = (c(v,w)-d(v)-d(w))/2, falls C(v) und C(w) aktiv (v,w) = (c(v,w)-d(v)-d(w)), falls nur C(v) oder nur C(w) aktiv Wähle e*=(i,j) mit minimalem =(i,j) Für alle Knoten der aktiven Komponenten d(v):=d(v)+ F:=F{e*}, :=\{C(i),C(j)}{C(i)C(j)} Postprocessing

24 Wie gut ist die Lösung? Die endgültige Lösung x (FE) und die zugehörige duale Lösung y erfüllen primale Optimalitätsbedingung. Die entsprechende duale: y S 0 e(S) x e =1 ist nicht erfüllt. Da y aber zulässig, gilt: y S 0 |F(S)| 1 Kann man |F(S)| nach oben abschätzen und dadurch eine Approximationsgüte ableiten?

25 Lemma: Güte des Algorithmus GW Für jede Instanz des Steinerbaum Problems (G,N,c) gilt für die Lösung T GW =(V(F),F) des primal-dualen Algorithmus c(T GW ) 2c(T G *(N)). Beweis: Zeige: e F c e 2 sV y s 2c(T G *(N)) 1) 2 sV y s 2c(T G *(N)) gilt wegen der schwachen Dualität. Zulässige duale Lösung ist untere Schranke für das primale Optimum.

26 Beweis der Güte 2) zeige e F c e 2 SV y S Primaler Schlupf ist für alle e F erfüllt e F c e = e F S:e(S) y S = SV e (S)F y S = SV |(S) F|·y S Also z. zg. SV |(S) F|·y S 2 SV y S Induktion über die Anzahl der Iterationen. Anfang: alle y S =0, also erfüllt.

27 Beweis der Güte SV |(S) F|·y S 2 SV y S Sei A = # aktiver Mengen Betrachte eine Iteration des Algorithmus Für alle aktiven S erhöhe: y S + l.S. erhöht sich um: · S aktiv |(S)F| r.S. erhöht sich um: 2··A zeige: · S aktiv |(S)F| 2··A zeige: S aktiv |(S)F| 2A

28 Beweis der Güte: Also zu zeigen: die durchschnittliche Anzahl der Lösungskanten im Schnitt einer aktiven Menge ist höchstens 2 Wir konstruieren einen Graphen H aus T GW : Die Knoten, die in dieser Iteration in einer Zusammenhangskomponente liegen, zu einem Knoten verschmelzen. H ist ein Baum Durchschnittlicher Grad aller Knoten ist kleiner als 2.

29 Diverses Laufzeit: O(|V| 2 log|V|) mit Union-Find Beweis in der Übung Spezialfälle (zum Nachdenken…): GW-Algorithmus funktioniert wie… N=V: Kruskal |N|=2: Bidirektionaler Dijkstra-Algorithmus

30 Verwandte Probleme Prize-Collecting Steinerbaum Knoten aus N nur anbinden wenn rentabel genug (Gewichte auch für Knoten) Steinerwald Mehrere Mengen N 1,…,N p. Knoten aus derselben Menge müssen verbunden sein. Die anderen dürfen. Diverse Netzwerkdesign Probleme z.B. Knoten aus N zweizusammenhängend anbinden, etc.


Herunterladen ppt "Steiner Bäume Dipl.-Math. Maria Kandyba Lehrstuhl für Algorithm Engineering, LS11 12 VO15. Januar 2007."

Ähnliche Präsentationen


Google-Anzeigen