Algorithmische Graphentheorie

Werbung
1
Algorithmische Graphentheorie
Sommersemester 2014
5. Vorlesung
Matchings / Paarungen II
– Kombinatorischer Algorithmus, Anwendung für Handlungsreisende,
LP-Runden –
Dr. Joachim Spoerhase
Prof. Dr. Alexander Wolff
2-9
Alternierende und augmentierende Wege
Ziel:
Bsp.
Besseres Problemverständnis → kombinatorische (d.h.
nicht flussbasierte) Algorithmen für größte Matchings.
W
G = (V , E ) unger. Graph
M ⊆ E Matching in G .
Wie können wir ein gegebenes (nicht-größtes) Matching
vergrößern?
enthält abwechselnd M - und nicht-M -Kanten
Finde einen (M -) alternierenden Weg W , dessen Endknoten
M -frei sind. So ein Weg heißt (M -) augmentierend.
Setze M 0 = W ∆M , wobei A∆B = (A ∪ B) \ (A ∩ B)
2-13
Alternierende und augmentierende Wege
Ziel:
Bsp.
Besseres Problemverständnis → kombinatorische (d.h.
nicht flussbasierte) Algorithmen für größte Matchings.
W
G = (V , E ) unger. Graph
M ⊆ E Matching in G .
Wie können wir ein gegebenes (nicht-größtes) Matching
vergrößern?
enthält abwechselnd M - und nicht-M -Kanten
Finde einen (M -) alternierenden Weg W , dessen Endknoten
M -frei sind. So ein Weg heißt (M -) augmentierend.
Setze M 0 = W ∆M , wobei A∆B = (A ∪ B) \ (A ∩ B)
Beob. – Augmentierende Wege haben ungerade Länge.
– M 0 ist um 1 Kante größer als M
(da M 0 zusätzlich die Endknoten von W paart).
Satz.
c Adrian Bondy
Paris, 1990 Satz von Berge
Sei G = (V , E ) Graph,
M ⊆ E Matching in G .
M ist ein größtes Matching in G
⇔ es gibt keinen M -augmentierenden Weg.
3
Claude Berge
(1926–2002)
Beweis. ⇒ Klar: jeder augm. Weg würde M vergrößern
⇐ Annahme: M ist kein größtes Matching.
⇒ Es gibt ein Matching M 0 mit |M 0 | > |M |.
Betrachte G∆ = (V , M∆M 0 ).
Beobachtung: Max-Grad(G∆ ) = 2.
⇒ G∆ besteht aus einfachen alt. Wegen und Kreisen.
Alle Kreise in G∆ haben gerade Länge.
⇒ Ex. alt. Weg mit mehr Kanten aus M 0 als aus M .
⇒ Dieser Weg ist M -augm.
4
Zurück zu: größte Matchings in bip. Graphen
Frage: Wie finden wir augmentierende Wege?
B
G0
A
G = (A ∪ B , E ), M ⊆ E
Idee:
G 00
Richte M -Kanten nach unten,
nicht-M -Kanten nach oben.
Augmentierende
Wege in G
00
G 0 = (A ∪ B , E 0 )
gerichtete Wege mit
M -freien Endknoten in G 0
0
Definiere G = A ∪ B ∪ {s}, E ∪ {sa | a ∈ A, M -frei}
Breitensuche BFS(G 00 , s ) erreicht
einen M -freien Endknoten in B
⇔
G hat
M -augm. Weg.
5
Ergebnis
Algo:
M := ∅.
Führe BFS ≤ |V |/2 mal aus –
bis kein freier Knoten in B mehr gefunden wird.
Gib größtes Matching zurück.
Satz.
In einem bipartiten Graphen G = (V , E ) lässt sich in
O (V E ) Zeit ein größtes Matching bestimmen.
6
Wiederholung – Tree-Doubling für ∆-TSP
Problem: Metrisches Traveling Salesperson Problem (∆-TSP)
Gegeben: unger. vollständiger Graph G = (V , E )
mit Kantenkosten c : E → R≥0 ,
die die Dreiecksungleichung erfüllen.
Gesucht: Hamiltonkreis in G mit minimalen Kosten.
Satz.
Es gibt eine 2-Approximation für ∆-TSP.
1. Algorithmus
Beweis.
Berechne MSB von G .
Verdopple MSB ⇒ eulersch!
2. Analyse
Durchlaufe Eulerkreis.
c (ALG) ≤ c (EK)
= 2 · c (MSB) ≤ 2 · OPT
Überspringe besuchte Knoten.
Füge Abkürzungen“ ein.
”
Opt. TSP-Tour minus eine Kante ist (i.A. nicht minimaler) Spannbaum!!
Die Kunst der unteren Schranke“
7-4
Christofides-Algorithmus
Ermittle einen minimalen Spannbaum B für G
Betrachte G [U ] mit U Menge der Knoten ungeraden Grades in B
Ermittle kostenminimales perfektes Matching M für G [U ] (ex. da
|U | gerade und G [U ] vollständig)
M ist perfektes
Matching mit
minimalen
Kosten
c (M ) :=
P
e ∈M c (e )
7-5
Christofides-Algorithmus
Ermittle einen minimalen Spannbaum B für G
Betrachte G [U ] mit U Menge der Knoten ungeraden Grades in B
Ermittle kostenminimales perfektes Matching M für G [U ] (ex. da
|U | gerade und G [U ] vollständig)
Berechne aus eulerschem Graphen B ∪ M erst Eulertour und dann
eine Rundtour T wie bei Tree-Doubling
8
Analyse Christofides
Satz.
Christofides liefert eine 3/2-Approximation für
∆-TSP.
Beweis.
Genügt zu zeigen, dass c (B ∪ M ) ≤ 3/2 · OPT, da c (T ) ≤ c (B ∪ M )
Da c (B ) ≤ OPT genügt zu zeigen, dass c (M ) ≤ 1/2 · OPT
Optimale Tour T ∗
durch Abkürzen Tour T auf G [U ]
c (T ) ≤ c (T ∗ ) = OPT
Zerlege in T in zwei disjunkte perfekte Matchings M , M 0 für G [U ]
o.E. c (M ) ≤ c (M 0 )
c (M ) ≤ 1/2 · c (T ) ≤ 1/2 · OPT
9
Die Analyse ist scharf
bn/2c
MSB
Matching
Christofides mit Kosten n + bn/2c − 1
OPT = n
(n + bn/2c − 1)/n → 3/2
unbeschriftete Kanten haben
Länge 1
10
Kostenminimale perfekte Matchings
Def.
Gegeben sei ein vollständiger Graph G = (V , E ) mit
Kantenkosten c : E → R≥0 . Gesucht ist ein perfektes
MatchingPM mit minimalen Kosten
c (M ) = e ∈M c (e ).
Satz.
Ein kostenminimales perfektes Matching kann in
O (V 3 ) Zeit berechnet werden.
Beweis.
Siehe (Edmonds’65); ziemlich kompliziert
Betrachten Problem in bipartiten Graphen G = (A ∪ B , E )
11
Kostenminimale perfekte Matchings in bipartiten Graphen
Aufgabe: Formulieren Sie ein ILP!
0.5
0.5
0.5
min
X
cuv xuv
uv ∈E
s.t.
0.5
x ≡ 0.5
X
xuv = 1
u ∈A∪B
uv ∈E
xuv ∈ {0, 1}
xuv ≥ 0
uv ∈ E
Effizient lösbar?
Betrachte sogenannte LP-Relaxierung
Problem: fraktionale Lösungen
effizient lösbar!
12
LP-Runden
X
min
cuv xuv
uv ∈E
X
s.t.
xuv = 1
u ∈A∪B
uv ∈E
xuv ≥ 0
uv ∈ E
Betrachte fraktionale Kante uv (d.h. 0 < xuv < 1)
u und v sind jeweils zu weiterer fraktionaler Kante adjazent
erweitere Pfad iterativ bis fraktionaler Kreis K = (u1 , . . . , u2k )
gefunden
u2k
Kreis gerade, da
K
Graph bipartit
v
(siehe ÜA)
u
u
1
13
LP-Runden – Fortsetzung (I)
min
X
cuv xuv
uv ∈E
s.t.
X
xuv = 1
u ∈A∪B
uv ∈E
xuv ≥ 0
uv ∈ E
zerlege K in disjunkte Matchings M1 , M2
o.E. c (M1 ) ≤ c (M2 )
−
wähle := min{ xe | e ∈ M2 }
+
setze xe0 := xe + für xe ∈ M1
setze xe0 := xe − für xe ∈ M2
K
xe0 := xe sonst
Resultierender Lösungsvektor x0 zulässig −
xe0 = 0 wird für ein e ∈ M2
Kostenänderung · c (M1 ) − · c (M2 ) ≤ 0 +
+
−
+
−
14
LP-Runden – Fortsetzung (II)
min
X
cuv xuv
uv ∈E
s.t.
X
xuv = 1
u ∈A∪B
uv ∈E
xuv ≥ 0
uv ∈ E
wiederhole vorige Schritte solange fraktionale Kanten existieren
Beobachtung: Integrale Kanten werden nicht weiter verändert
Kostenfunktion erhöht sich nicht
Algorithmus terminiert nach ≤ |E | Iterationen mit
ganzzahliger und optimaler (!) Lösung
Satz.
Ein kostenminimales perfektes Matching eines
bipartiten Graphen lässt sich in Polynomialzeit
ermitteln.
15
Extrempunkt-Lösungen
min
X
cuv xuv
uv ∈E
s.t.
X
xuv = 1
u ∈A∪B
uv ∈E
xuv ≥ 0
uv ∈ E
+
−
zerlege K in disjunkte Matchings M1 , M2
+ −
wähle := min{ xe | e ∈ M1 ∪ M2 }
+ −
−
0
+
setze xe := xe + für xe ∈ M1
K
setze xe0 := xe − für xe ∈ M2
+
−
setze xe00 := xe − für xe ∈ M1
−
+
00
setze xe := xe + für xe ∈ M2
− +
xe00 = xe0 = xe sonst
+
−
Lösungen x0 , x00 zulässig
x = 12 (x0 + x00 )
x Konvexkombination von x0 , x00
16
Extrempunkt-Lösungen
min
X
cuv xuv
uv ∈E
s.t.
X
xuv = 1
u ∈A∪B
(1)
uv ∈E
xuv ≥ 0
x = 12 (x0 + x00 )
uv ∈ E
x Konvexkombination von x0 , x00
x ist kein Extrempunkt des Lösungsraums (konvexes
Polytop) von (1)
x0
x
Satz.
Das Polytop (1) für bipartite
x 00
x
Matchings hat ganzzahlige
Extrempunkte.
Clou: Gängige LP-Algorithmen terminieren mit
Extrempunkt-Lösungen (sofern existent) und erfordern
für (1) kein anschließendes LP-Runden!!
Extrempunkte
Herunterladen