Institut für Statistik und OR Uni Graz
1 Approximationsalgorithmen auf metrischen Instanzen
Minimum Spanning Tree Definition (Spannbaum) Ein Spannbaum in einem Graphen G = (V,E) ist ein kreisfreier Teilgraph T = (V,E ) mit n 1 Kanten ( E = V 1).
Minimum Spanning Tree Definition (Spannbaum) Ein Spannbaum in einem Graphen G = (V,E) ist ein kreisfreier Teilgraph T = (V,E ) mit n 1 Kanten ( E = V 1). Definition (Minimum Spanning Tree) Ein minimaler Spannbaum in einem gewichteten Graphen G = (V,E) mit Kantengewichten w e ist ein Spannbaum T = (V,E ) mit minimaler Kantengewichtssumme w(t ) := e E w e. Anwendungen Zentrales Problem der Netzwerkplanung: n Orte werden möglichst kostengünstig an einen Versorger angeschlossen. Basis für Klasse von Approximationsalgorithmen für TSP
Approximationsalgorithmen auf metrischen Instanzen Minimum Spanning Tree
MST Algorithmus Definition (Inzident / Adjazent) Zwei Kanten sind zueinander inzident, falls sie einen gemeinsamen Knoten als Endpunkt haben. Zwei Knoten u und v sind adjazent falls (u,v) E. Eine Kante und ein Knoten sind zueinander inzident, falls der Knoten Endpunkt der Kante ist.
MST Algorithmus Definition (Inzident / Adjazent) Zwei Kanten sind zueinander inzident, falls sie einen gemeinsamen Knoten als Endpunkt haben. Zwei Knoten u und v sind adjazent falls (u,v) E. Eine Kante und ein Knoten sind zueinander inzident, falls der Knoten Endpunkt der Kante ist. Algorithmus von Prim Starte mit T =. Wähle Kante e mit minimalem Gewicht in G. a) T = T e b) Wähle jene Kante e in G die inzident zu einer Kante aus T ist und folgende Punkte erfüllt:
MST Algorithmus Definition (Inzident / Adjazent) Zwei Kanten sind zueinander inzident, falls sie einen gemeinsamen Knoten als Endpunkt haben. Zwei Knoten u und v sind adjazent falls (u,v) E. Eine Kante und ein Knoten sind zueinander inzident, falls der Knoten Endpunkt der Kante ist. Algorithmus von Prim Starte mit T =. Wähle Kante e mit minimalem Gewicht in G. a) T = T e b) Wähle jene Kante e in G die inzident zu einer Kante aus T ist und folgende Punkte erfüllt: 1) T e ist kreisfrei. 2) Unter allen Kanten die das erfüllen, hat e minimales Gewicht. c) Iteriere Punkt a) mit e in der Rolle von e.
Prim Beispiel 3 8 3 2 14 11 12 11 11 1 7 11 5 3 1 7 11 4 5 3 6
Algorithmus von Prim Beweis durch Widerspruch Sei T der Baum vom Algorithmus von Prim und T ein MST mit w(t ) < w(t). Sei T k der Teilbaum der im k-ten Schritt von Prims Algorithmus entsteht. Wähle k als minimalen Index sodass T k T. Das bedeutet, dass die Kante e k = (a,b), die im k-ten Schritt hinzugefügt wird, nicht in T enthalten ist. O.B.D.A. sei a jener Knoten, der in T k 1 enthalten ist. Da T ein Baum ist, existiert ein eindeutiger Pfad P in T von a nach b und dieser enthält eine Kante f, die T k 1 mit dem Rest verbindet.
Beweis durch Widerspruch Somit hätte Prim zur Iteration k 1 die Möglichkeit gehabt f zu wählen. Daraus folgt, dass w(f) w(e k ) ist. Bilde einen Baum T = e k (T \f). Somit ist w(t ) minimal da: w(t ) = w(t )+w(e k ) w(f) Wiederhole das Argument mit T.
Metrisches TSP MST-Heuristik Sei T min ein MST in G = (V,E). Idee: Verwende T min um eine TSP Lösung zu konstruieren, die einer Gütegarantie von 1 2 genügt. Sei O der optimale Zielfunktionswert einer TSP-Instanz in G mit Tour T. Es gilt: O w(t min )
Metrisches TSP MST-Heuristik Sei T min ein MST in G = (V,E). Idee: Verwende T min um eine TSP Lösung zu konstruieren, die einer Gütegarantie von 1 2 genügt. Sei O der optimale Zielfunktionswert einer TSP-Instanz in G mit Tour T. Es gilt: Beweis: O w(t min ) Für jede Kante e in der optimalen Tour T gilt, T \e ist ein Spannbaum.
Metrisches TSP Definition (Eulerscher Kreis und Graph) Ein Eulerscher Kreis in G = (V,E) ist ein Kreis der jede Kante aus E genau einmal durchläuft. Ein Eulerscher Graph ist ein Graph mit Eulerschem Kreis. Graphen sind Eulersch genau dann wenn jeder Knoten eine gerade Anzahl an Nachbarn hat.
Metrisches TSP Definition (Eulerscher Kreis und Graph) Ein Eulerscher Kreis in G = (V,E) ist ein Kreis der jede Kante aus E genau einmal durchläuft. Ein Eulerscher Graph ist ein Graph mit Eulerschem Kreis. Graphen sind Eulersch genau dann wenn jeder Knoten eine gerade Anzahl an Nachbarn hat. MST-Heuristik a) Konstruiere einen MST T min. b) Verdopple Kanten von T min und bilde Eulerschen Graphen T.
Metrisches TSP Definition (Eulerscher Kreis und Graph) Ein Eulerscher Kreis in G = (V,E) ist ein Kreis der jede Kante aus E genau einmal durchläuft. Ein Eulerscher Graph ist ein Graph mit Eulerschem Kreis. Graphen sind Eulersch genau dann wenn jeder Knoten eine gerade Anzahl an Nachbarn hat. MST-Heuristik a) Konstruiere einen MST T min. b) Verdopple Kanten von T min und bilde Eulerschen Graphen T. c) Starte bei beliebigen Knoten von T und folge den Kanten im Sinne eines Eulerschen Kreises konstruiere Tour T MST mit T MST = zu Beginn. Markiere einen Knoten v, der zum ersten Mal besucht wird als besucht und setzte T MST = T MST v.
Approximationsalgorithmen auf metrischen Instanzen Beispiel
1 2 -Approximation 1 2-Approximation auf metrischen Instanzen Behauptung: w(t MST ) 2 w(t min ) Beweis Sei (v i,v j ) eine Kante aus T MST und P der zugehörige Pfade in T zwischen v i und v j. Die Dreiecksungleichung liefert d(v i,v j ) e Pd(e) Der Algorithmus durchläuft aber jede Kante von T genau 2 mal und jede Kante aus T MST ist einem eindeutigen (bezüglich der verdoppelten Kanten) Pfad aus P zugeordnet.
Christofides Heuristik Definition (Knotengrad deg(v)) Der Grad eines Knotens v in G = (V,E) ist definiert als: deg(v) := N G (v) Definition (k-regulär) Ein Graph G = (V,E) heißt k-regulär, falls deg(v) = k für alle v V. Definition (Matching) Ein Matching in G = (V,E) ist ein 1-regulärer Subgraph G von G.
Approximationsalgorithmen auf metrischen Instanzen Beispiel Matching
Christofides Heuristik Fakten zum Matching Minimum Weight Matching in bipartiten Graphen: Ungarische Methode O(n 3 ) (H.W. Kuhn, D. König, J. Egervary [50er Jahre]) Minimum Weight Matching in allgemeinen Graphen: Blossom Algorithmus O(n 4 ) in Paths, Trees and Flowers by Jack Edmonds [1965] Minimum Weight Matching in allgemeinen Graphen: Schnellster Algorithmus O(m n) von S. Micali and V.V. Vazirani [1980]
Christofides Heuristik Die 2 3-Approximation von Christofides 1) Finde einen MST T min in G = (V,E). 2) Bestimme ein Minimum Weight Matching M in G zwischen allen Knoten die in T min ungeraden Grad haben - deren Anzahl ist gerade also ist M perfekt.
Christofides Heuristik Die 2 3-Approximation von Christofides 1) Finde einen MST T min in G = (V,E). 2) Bestimme ein Minimum Weight Matching M in G zwischen allen Knoten die in T min ungeraden Grad haben - deren Anzahl ist gerade also ist M perfekt. 3) Setzte T = T min M und nimm gegebenenfalls doppelte Kanten (T ist ein Eulerscher Graph). 4) Konstruiere eine Eulerschen Kreis E T in T.
Christofides Heuristik Die 2 3-Approximation von Christofides 1) Finde einen MST T min in G = (V,E). 2) Bestimme ein Minimum Weight Matching M in G zwischen allen Knoten die in T min ungeraden Grad haben - deren Anzahl ist gerade also ist M perfekt. 3) Setzte T = T min M und nimm gegebenenfalls doppelte Kanten (T ist ein Eulerscher Graph). 4) Konstruiere eine Eulerschen Kreis E T in T. 5) Konstruiere eine TSP Tour T C indem ausgehend von einem beliebigen Knoten E T abgefahren wird. Wird ein Knoten v zum ersten Mal besucht setzte T C = T C v.
Beispiel Christofides MSTT min Matching M in G T = T min M
Approximationsalgorithmen auf metrischen Instanzen Beispiel Christofides 9 10 8 6 5 1 2 3 7 4
2 3 -Approximation 2 3-Approximation auf metrischen Instanzen Behauptung: w(t C ) 3 2 O Beweis Wir wissen: : w(t C ) w(t min )+w(m) (Dreiecksungleichung) O w(t min ) Es bleibt zu zeigen, dass O 2w(M)
2 3 -Approximation 2 3-Approximation auf metrischen Instanzen Behauptung: w(t C ) 3 2 O Beweis Wir wissen: : w(t C ) w(t min )+w(m) (Dreiecksungleichung) O w(t min ) Es bleibt zu zeigen, dass O 2w(M) Sei nun T OPT eine optimale Tour in G mit w(t OPT ) = O und sei U die Menge aller Knoten für die im Christofides Algorithmus unter Punkt 2) ein Matching bestimmt wurde.
2 3 -Approximation Beweis Sortiere die Knoten in U in der Reihenfolge wie sie von T OPT durchlaufen werden als u 1,u 2...u 2k Betrachte nun eine Tour T U die nur durch U läuft und wie folgt konstruiert wird: entferne aus T OPT alle Kanten, die inzident zu Knoten aus V \U sind und füge die Kanten zwischen den verbleibenden Pfaden in der Reihenfolge wie die Tour durchlaufen wird hinzu. Wir wissen aufgrund der Dreiecksungleichung : w(t U ) w(t OPT ) Betrachte die Matchings M 1 = {(u 1,u 2 ),(u 3,u 4 ),...,(u 2k 1,u 2k )} und M 2 = {(u 2,u 3 ),(u 4,u 5 ),...,(u 2k,u 1 )}. Wir wissen T U = M 1 M 2 und w(m i ) w(m) und somit w(t U ) 2w(M).
Approximationsalgorithmen auf metrischen Instanzen Beispiel TOPT mitu TU M1 und M2