Üerlick Steiner Bäume Dipl.-Mth. Mri Kndy Lehrstuhl für Algorithm Engineering, LS Einführung Definition und Motivtion Komplexität Approximtionslgorithmen Distnznetzwerk Heuristik Priml-Duler Algorithmus VO. Jnur 007 Steinerum Ungerichteter G=(V,E), Terminlknoten N V. Kntengewichte c: E R + Ein Steiner Bum T G (N)=(V,E ) von G ist: Bum mit V V, E E N V Gewicht von Steinerum: c(t G (N))=Σ e E c(e) 4 Steinerum Prolem: Finde den Steinerum T G* (N) vom minimlen Gewicht Geschichte & verschiedene Vrinten Pierre de Fermt (60 66) Frge: Gegeen Punkte in der Eene, finde den vierten, so dss die die Summe der Distnzen zu den nderen drei ist miniml. Gelöst von Toricelli vor 640 (Toricellipunkt) Verllgemeinerung uf n Knoten (unter nderem): Jco Steiner (796 86) Vrinten & Anwendung Vrinten: Geometrisches SBP euklidisch rektiliner SBP in Netzwerken Anwendungen: VLSI-Design Netzwerk Design Komplexität Steinerum Prolem ist NP-hrt uch wenn c(e)= für lle e E Polynomielle Spezilfälle N = Lösung ist der kürzester Weg zwischen den Kundenknoten (Dijkstr) N=V Lösung ist miniml spnnender Bum (Kruskl oder Prim)
Algorithmen für Steiner Bum Prolem Algorithmen (Auswhl): Approximtionslgorithmen Distnznetzwerk Heuristik Approximtion von Zelikovski (99) Priml-Dule Approximtion (Goemnn, Willimson 99) Exkte Verfhren Dynmische Progrmmierung (Dreyfus & Wgner 97) Brnch & Cut (exponentiell, gut in Prxis) Litertur: J. Cheriyn, R. Rvi: Approximtion lgorithms for network prolems. Lecture Notes, 998. (citeseer.ist.psu.edu/cheriyn98pproximtion.ht ml) V. Vzirni: Approximtion Algorithms. Springer Verlg 00 D. S. Hochum (Hrsg.): Approximtion Algorithms for NP-hrd Prolems. PWS Pulishing Compny 997 Distnznetzwerk Distnznetzwerk D G (W)=(W, E D, c D ) von G=(V,E): W V E D ={(u,v) u,v W} Kntengewichte c D (u,v)=länge des kürzesten Pfdes von u nch v in G Eigenschften von D G (W): Distnzgrph ist vollständig Für (u,v) E D : (u,v) E c D (u,v) c(u,v) c D erfüllt Dreiecksungleichung Distnznetzwerk Heuristik (DNH) Berechne Distnznetzwerk D G (N) Berechne miniml spnnenden Bum (MST) T D (N) in D G (N) Trnsformiere T D (N) D G (N) in ein G G: ersetze jede (u,v) T D (N) durch einen kürzesten (u,v)-pfd in G. G ist i.a. kein Bum Berechne MST T DNH uf G Beispiel Theorem: Güte von DNH d g 4 e h c f 4 d g g Für jede Instnz des Steinerum Prolems (G,N,c) gilt für die Lösung T DNH der Distnzwerkheuristik c(t DNH ) (-/ N )c(t G *(N)). Beweisskizze: z z z Betrchte T G *(N): Verdoppele die Knten Finde eine Eulertour L e z 4 Nummeriere v N uf L in der Alufreihenfolge: z,,z N,z N +, woei z N + =z
Beweisskizze: z z z z 4 c(l)=c(t G (N)) (*) i, s.d. L(z i,z i+ ) mit c(l(z i,z i+ )) c(l)/ N (**) o.b.d.a i= N Betrchte L =L \ L(z N,z N + ) Wegen (*) und (**) gilt c(l ) (-/ N )c(t N (G)) Zeige: c(t DNH ) c(l ): Knten (z i,z i+ ) mit c D (z i,z i+ ) c(l (z i,z i+ )) für i N - formen spnnenden Bum T in D G (N) c(t DNH ) c(t) c(l ) (-/ N )c(t N (G)) Lufzeit von DNH O( N ( E + V log V )) Vrinte von Mehlhorn (988) Besitzt denselen Approximtionsfktor Benötigt O( E + V log V ) Siehe: K. Mehlhorn, A fster pproximtion lgorithm for the Steiner prolem in Grphs, Informtion Processin Letters 7() (988), pp. 7-77 Formulierung ls Lineres Progrmm Lösung des Steinerum Prolems ist eine Kntenmenge F E In einem Steinerum T=(V(F),F) muss gelten: N V(F) T zshgd: Für u,v N muss mind. ein Pfd von u nch v existieren. S V, S N N muss lso gelten: F δ(s) ILP mit Hilfe von Schnittungleichungen Kntenvrilen x e =, flls e F x e =0, sonst min Σ e E c e x e Alterntive Schreiweise für die Schnittungleichungen: Σ e δ(s) x e S: S N N x e {0,} e E Σ e δ(s) x e f(s) S V woei hier f(s)= S: S N N und f(s)=0 sonst Priml-Duler Algorithmus LP-Relxierung und ds Dule Früher: priml-duler Algorithmus für ds polynonielle Prolem MWPM in iprtiten Grphen Eigenschft des Algorithmus: Primler und Duler komplementärer Schlupf erfüllt. Priml: min Σ e E c e x e Σ e δ(s) x e S: S N N x e 0 e E Dul: mx Σ S V y S Σ S:e δ(s) y S c e e E y S 0 S V Goemnn-Willimson (GW)-Algorithmus: priml-dul ls Approximtion für ds NP-hrte Steinerum Prolem. Nur primler Schlupf wird gefordert. Stz von komplementärem Schlupf: Priml: x e > 0 Σ S:e δ(s) y S = c e Dul: y S > 0 Σ e δ(s) x e =
Idee der Vorgehensweise Strte mit einer zulässigen dulen Lösung Konstruiere drus eine primle, die primlen komplementären Schlupf erfüllt. Diese primle Lösung nicht unedingt zulässig Wenn nicht, git eine Möglichkeit die dule Lösung zu veressern. Sold primle Lösung zulässig STOP Konkreter Lösung x von (P) induziert eine Kntenmenge F E Gesucht: F* E s.d. G =(V(F*), F*) Steinerum 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 )=, lso Schnittungleichung verletzt Idee: Solnge F unzulässig: Erhöhe gleichzeitig und zulässig lle y S um ε>0, s.d. für eine Knte e E\F die dule Ungleichung mit = erfüllt ist Augmentiere F=F {e} Detils Frge: Wie findet mn die von ktuellem F verletzte Mengen S? Betrchte: G =(V, F) Zshgskomponenten von G : C,,C n C i heißt ktive Menge, flls C i N N (f(c i )=) C i liefert lso einen verletzten Schnitt Postprocessing Nch den Itertionen: F zulässig für (P) F knn enhält u.u. redundnte Knten Finde redundnte Knten (Knten, die den Zusmmenhng zersören würden) und entferne sie Beispiel: Bemerkung: Keine echte Teilmenge von C i verletzt die Schnittedingungen Zusmmenfssung: GW-Algorithmus Strt: y S =0 F= Γ={{v}: v V} Für lle v V d(v):=0 While C Γ ktiv Für jede e=(v,w), woei v C(v), w C(w), C(v) C(w) erechne ε(v,w): ε(v,w) = (c(v,w)-d(v)-d(w))/, flls C(v) und C(w) ktiv ε(v,w) = (c(v,w)-d(v)-d(w)), flls nur C(v) oder nur C(w) ktiv Wähle e*=(i,j) mit minimlem ε=ε(i,j) Für lle Knoten der ktiven Komponenten d(v):=d(v)+ ε F:=F {e*}, Γ:=Γ\{C(i),C(j)} {C(i) C(j)} Postprocessing Wie gut ist die Lösung? Die endgültige Lösung x (F E) und die zugehörige dule Lösung y erfüllen primle Optimlitätsedingung. Die entsprechende dule: y S > 0 Σ e δ(s) x e = ist nicht erfüllt. D y er zulässig, gilt: y S > 0 F δ(s) Knn mn F δ(s) nch oen schätzen und ddurch eine Approximtionsgüte leiten?
Lemm: Güte des Algorithmus GW Für jede Instnz des Steinerum Prolems (G,N,c) gilt für die Lösung T GW =(V(F ),F ) des priml-dulen Algorithmus c(t GW ) c(t G *(N)). Beweis: Zeige: Σ e F c e Σ s V y s c(t G *(N)) ) Σ s V y s c(t G *(N)) gilt wegen der schwchen Dulität. Zulässige dule Lösung ist untere Schrnke für ds primle Optimum. Beweis der Güte ) zeige Σ e F c e Σ S V y S Primler Schlupf ist für lle e F erfüllt Σ e F c e = Σ e F Σ S:e δ(s) y S = Σ S V Σ e δ(s) F y S = Σ S V δ(s) F y S Also z. zg. Σ S V δ(s) F y S Σ S V y S Induktion üer die Anzhl der Itertionen. Anfng: lle y S =0, lso erfüllt. Beweis der Güte Σ S V δ(s) F y S Σ S V y S Sei A = # ktiver Mengen Betrchte eine Itertion des Algorithmus Für lle ktiven S erhöhe: y S +ε l.s. erhöht sich um: εσ S ktiv δ(s) F r.s. erhöht sich um: εa zeige: εσ S ktiv δ(s) F εa zeige: Σ S ktiv δ(s) F A Beweis der Güte: Also zu zeigen: die durchschnittliche Anzhl der Lösungsknten im Schnitt einer ktiven Menge ist höchstens Wir konstruieren einen Grphen H us T GW : Die Knoten, die in dieser Itertion in einer Zusmmenhngskomponente liegen, zu einem Knoten verschmelzen. H ist ein Bum Durchschnittlicher Grd ller Knoten ist kleiner ls. Diverses Lufzeit: O( V log V ) mit Union-Find Beweis in der Üung Spezilfälle (zum Nchdenken ): GW-Algorithmus funktioniert wie N=V: Kruskl N =: Bidirektionler Dijkstr-Algorithmus Verwndte Proleme Prize-Collecting Steinerum Knoten us N nur ninden wenn rentel genug (Gewichte uch für Knoten) Steinerwld Mehrere Mengen N,,N p. Knoten us derselen Menge müssen verunden sein. Die nderen dürfen. Diverse Netzwerkdesign Proleme z.b. Knoten us N zweizusmmenhängend ninden, etc.