steiner bäume dipl.-math. maria kandyba lehrstuhl für algorithm engineering, ls11 12 vo15. januar...

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

Upload: katrine-dresch

Post on 06-Apr-2015

103 views

Category:

Documents


0 download

TRANSCRIPT

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

Steiner Bäume

Dipl.-Math. Maria KandybaLehrstuhl für Algorithm Engineering, LS11

12 VO 15. Januar 2007

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

Überblick Einführung

Definition und Motivation Komplexität

Approximationsalgorithmen Distanznetzwerk Heuristik Primal-Dualer Algorithmus

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

SteinerbaumUngerichteter G=(V,E), Terminalknoten NV. Kantengewichte c: E → ℝ+

Ein Steiner Baum TG(N)=(V‘,E‘) von G ist: Baum mit V‘V, E‘E NV‘Gewicht von Steinerbaum: c(TG(N))=e∈E‘ c(e)

Steinerbaum Problem:Finde den SteinerbaumTG

*(N)vom minimalen Gewicht

2

5

1

1 2

3

3 1

1

2

2

2

4

5

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

Geschichte & verschiedene Varianten

Pierre de Fermat (1601–1665)

Frage: Gegeben 3 Punkte in der Ebene, finde den vierten, so dass die die Summeder Distanzen zu den anderen drei ist minimal. Gelöst von Toricelli vor 1640

(Toricellipunkt)

Jacob Steiner (1796–1863)

Verallgemeinerung auf n Knoten (unter anderem):

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

Varianten & AnwendungVarianten: Geometrisches SBP

euklidisch rektilinear

SBP in Netzwerken

Anwendungen: VLSI-Design Netzwerk Design

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

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)

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

Algorithmen für Steiner Baum ProblemAlgorithmen (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)

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

Literatur: J. Cheriyan, R. Ravi: Approximation algorithms for

network problems. Lecture Notes, 1998. (citeseer.ist.psu.edu/cheriyan98approximation.html)

V. Vazirani: Approximation Algorithms. Springer Verlag 2003

D. S. Hochbaum (Hrsg.): Approximation Algorithms for NP-hard Problems. PWS Publishing Company 1997

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

DistanznetzwerkDistanznetzwerk DG(W)=(W, ED, cD) von G=(V,E): WV ED={(u,v)| u,v ∈ W}

Kantengewichte cD(u,v)=Länge des kürzesten Pfades von u nach v in G

Eigenschaften von DG(W): Distanzgraph ist vollständig Für (u,v)∈ED: (u,v)∈E cD(u,v) ≤ c(u,v)

cD erfüllt Dreiecksungleichung

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

Distanznetzwerk Heuristik (DNH) Berechne Distanznetzwerk DG(N)

Berechne minimal spannenden Baum (MST)TD(N) in DG(N)

Transformiere TD(N) ⊆ DG(N) in ein G‘⊆G:ersetze jede (u,v)∈TD(N) durch einen kürzesten (u,v)-Pfad in G. G‘ ist i.A. kein Baum

Berechne MST TDNH auf G‘

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

5

Beispiel

g

a c f

e h

b d2

5

1

1 2

3

3 1

1

2

2

2

4

5

a

b g

4

5

5

a

e

b d2

1

1

3

g

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

Theorem: Güte von DNHFür jede Instanz des Steinerbaum Problems (G,N,c)gilt für die Lösung TDNH der Distanzwerkheuristik

c(TDNH) ≤(2-2/|N|)c(TG*(N)).

Beweisskizze:

z4

z1 z2 z3

Betrachte TG*(N):• Verdoppele die Kanten

• Finde eine Eulertour L

• Nummeriere v∈Nauf L in der Ablaufreihenfolge:z1,…,z|N|,z|N|+1, wobei z|N|+1=z1

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

Beweisskizze: c(L)=2c(TG(N)) (*)

i, s.d. L(zi,zi+1) mit

c(L(zi,zi+1)) ≥ c(L)/|N| (**)

o.B.d.A i=|N| Betrachte

L‘=L \ L(z|N|,z|N|+1)z4

z1 z2 z3

Wegen (*) und (**) gilt c(L‘)≤(2-2/|N|)c(TN(G))

Zeige: c(TDNH) ≤ c(L‘):

Kanten (zi,zi+1) mit cD(zi,zi+1) ≤ c(L‘(zi,zi+1)) für

1≤ i ≤|N|-1 formen spannenden Baum T in DG(N)

c(TDNH) ≤ c(T) ≤c(L‘) ≤(2-2/|N|)c(TN(G))

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

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. 573-577

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

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

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

ILP mit Hilfe von SchnittungleichungenKantenvariablenxe=1, falls e∈F

xe=0, sonst

Alternative Schreibweise für die Schnittungleichungen:

e∈(S)xe≥f(S) S V

wobei hier f(S)= 1 S: SNN und f(S)=0 sonst

min e∈Ecexe

e∈(S)xe≥1 S: SNN

xe ∈{0,1} e∈E

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

Primal-Dualer AlgorithmusFrüher:

primal-dualer Algorithmus für das polynonielleProblem MWPM in bipartiten GraphenEigenschaft des Algorithmus: Primaler und Dualerkomplementärer Schlupf erfüllt.

Goemann-Williamson (GW)-Algorithmus:primal-dual als Approximation fürdas NP-harte Steinerbaum Problem.Nur primaler Schlupf wird gefordert.

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

LP-Relaxierung und das DualePrimal:

min e∈Ecexe

e∈(S)xe≥1 S: SNN

xe≥0 e∈E Satz von komplementärem Schlupf:

Primal: xe 0 S:e∈(S) yS = ce

Dual: yS 0 e∈(S)xe=1

Dual:

max SVyS

S:e∈(S) yS ≤ ce e∈E

yS≥0 SV

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

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

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

KonkreterLö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) yS = ce } 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 yS‘ um

>0, s.d. für eine Kante e∈E\F die duale Ungleichung mit „=“ erfüllt ist

Augmentiere F=F{e}

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

DetailsFrage: Wie findet man die von aktuellem F verletzte

Mengen S?

Betrachte: G‘=(V, F)Zshgskomponenten von G‘:C1, …,Cn

Ci heißt aktive Menge, falls CiNN (f(Ci)=1)Ci liefert also einen verletzten Schnitt

Bemerkung: Keine echte Teilmenge von Ci verletzt die Schnittbedingungen

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

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:

1

1 1

1

31

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

Zusammenfassung: GW-Algorithmus Start: yS=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

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

Wie gut ist die Lösung?Die endgültige Lösung x (F‘E) und diezugehörige duale Lösung y erfüllen primaleOptimalitätsbedingung. Die entsprechende duale: yS 0 e(S)xe=1 ist nicht erfüllt. Da y aber zulässig, gilt:

yS 0 |F‘(S)| ≥ 1

Kann man |F‘(S)| nach oben abschätzen und dadurch eine Approximationsgüte ableiten?

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

Lemma: Güte des Algorithmus GWFür jede Instanz desSteinerbaum Problems (G,N,c) gilt für die Lösung TGW=(V(F‘),F‘) des primal-dualen

Algorithmus c(TGW) ≤ 2c(TG*(N)).

Beweis: Zeige: e∈F‘ ce≤ 2 sVys ≤ 2c(TG*(N))

1) 2sVys ≤ 2c(TG*(N)) gilt wegen der schwachen Dualität. Zulässige duale Lösung ist untere Schranke für das primale Optimum.

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

Beweis der Güte2) zeige e∈F‘ce≤ 2 SVyS

Primaler Schlupf ist für alle e∈F‘ erfüllt e∈F‘ ce = e∈F‘S:e∈(S) yS

= SV e ∈ (S)F‘ yS

= SV |(S) F‘|·yS

Also z. zg. SV |(S) F‘|·yS ≤ 2SVyS

Induktion über die Anzahl der Iterationen.Anfang: alle yS=0, also erfüllt.

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

Beweis der GüteSV |(S) F‘|·yS ≤ 2SVyS

Sei A = # aktiver Mengen Betrachte eine Iteration des AlgorithmusFür alle aktiven S erhöhe: yS+l.S. erhöht sich um: · S aktiv |(S)F‘|

r.S. erhöht sich um: 2··Azeige: ·S aktiv |(S)F‘| ≤ 2··Azeige: S aktiv |(S)F‘| ≤ 2A

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

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 TGW: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.

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

DiversesLaufzeit: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

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

Verwandte Probleme Prize-Collecting Steinerbaum

Knoten aus N nur anbinden wenn „rentabel“ genug (Gewichte auch für Knoten)

Steinerwald Mehrere Mengen N1,…,Np. Knoten aus

derselben Menge müssen verbunden sein. Die anderen dürfen.

Diverse Netzwerkdesign Probleme z.B. Knoten aus N zweizusammenhängend

anbinden, etc.