Kombinatorische Optimierung - Juniorprof. Dr. Henning

Werbung
Kombinatorische Optimierung
Juniorprof. Dr. Henning Meyerhenke
Institut für Theoretische Informatik
1
KIT –Henning
Universität desMeyerhenke:
Landes Baden-Württemberg und
nationales
Forschungszentrum in
der Helmholtz-Gemeinschaft
Kombinatorische
Optimierung
Institut für Theoretische Informatik
www.kit.edu
Vorlesung 16
Programm:
Einführung in Approximation
Absolute Güte: Kantenfärbung
Relative Güte: Matchings mit maximalem Gewicht
2
Henning Meyerhenke:
Kombinatorische Optimierung
Institut für Theoretische Informatik
Wiederholung
Abschluss lineare Optimierung mit primal-dualem Algorithmus für
M IN V ERTEX C OVER
Bewiesen: Lösung des Algorithmus fast so gut wie das Optimum
Ziel: Formalisierung dieses Konzepts
Zusätzliche Literatur:
Rolf Wanka: Approximationsalgorithmen. Eine Einführung.
Teubner-Verlag, 2006.
3
Henning Meyerhenke:
Kombinatorische Optimierung
Institut für Theoretische Informatik
Inhalt
Approximation
Absolute Güte
Relative Güte
4
Henning Meyerhenke:
Kombinatorische Optimierung
Institut für Theoretische Informatik
Approximation und absolute Güte
Definition
Bezeichne Π ein Optimierungsproblem.
Ein Algorithmus A heißt Approximationsalgorithmus mit absoluter Güte
α,1 wenn A zu jeder Instanz I von Π eine zulässige (aber nicht notwendigerweise
optimale) Lösung mit RA (I ) ≤ α berechnet, wobei
RA (I ) := Alg (I ) − OPT (I ), falls Π Minimierungsproblem,
RA (I ) := OPT (I ) − A(I ), falls Π Maximierungsproblem.
Hier bezeichnen
A(I ) den Wert der Lösung, die A für I berechnet und
OPT (I ) den Wert einer optimalen Lösung für I.
1 Manchmal
5
sagt man stattdessen, dass der Algorithmus eine Güte α garantiert.
Henning Meyerhenke:
Kombinatorische Optimierung
Institut für Theoretische Informatik
Beispielproblem
Kantenfärbung
Definition
Gegeben sei ein Graph G = (V , E ).
Eine Abbildung cE : E → N heißt Kantenfärbung2 von G, falls für alle zu
einem Knoten u inzidenten Kanten {u , v }, {u , w } gilt:
cE ({u , v }) 6= cE ({u , w })
Beispiel
Siehe Tafel!
2 manchmal
6
auch: korrekte oder zulässige Kantenfärbung
Henning Meyerhenke:
Kombinatorische Optimierung
Institut für Theoretische Informatik
Kantenfärbung als
Optimierungsproblem
Problem
Gegeben sei ein Graph G = (V , E ).
Finde eine Kantenfärbung für G mit minimaler Anzahl Farben!
Definition
Die kleinstmögliche Anzahl Farben in einer Kantenfärbung eines
Graphen G heißt auch chromatischer Index χ0 (G ) von G.
7
Henning Meyerhenke:
Kombinatorische Optimierung
Institut für Theoretische Informatik
Komplexität und
Lösungseigenschaften
Bemerkung
Die Entscheidungsprobleme
Ist der Graph G mit k ≥ 3 Farben kantenfärbbar?
Ist der Graph G mit ∆(G ) Farben kantenfärbbar?
sind für allgemeine Graphen N P -vollständig.
Bemerkung
Es gibt Graphen G, die mindestens ∆(G ) + 1 Farben zur Kantenfärbung
benötigen.
8
Henning Meyerhenke:
Kombinatorische Optimierung
Institut für Theoretische Informatik
Approximationsalgorithmus für
Kantenfärbung
Graphentheoretische Hinführung
Theorem
Jeder Graph G braucht mindestens ∆(G ) und höchstens ∆(G ) + 1
Farben für eine Kantenfärbung.
Anders ausgedrückt: ∆(G ) ≤ χ0 (G ) ≤ ∆(G ) + 1.
Beweis.
Mindestens ∆(G ) Farben: Klar.
Für Rest: Angabe eines Algorithmus, der höchstens ∆(G ) + 1 Farben
benötigt.
9
Henning Meyerhenke:
Kombinatorische Optimierung
Institut für Theoretische Informatik
Hilfsergebnis
Graphentheoretische Hinführung
Definition
An einem Knoten v fehlt die Farbe c, wenn keine zu v inzidente Kante
die Farbe c hat.
Lemma
Sei G kantengefärbt mit den Farben {1, . . . , ∆(G ) + 1}.
Ferner seien u und v Knoten mit {u , v } ∈
/ E und deg(u ), deg (v ) < ∆(G ).
Dann kann G so umgefärbt werden, dass an u und v dieselbe Farbe fehlt.
10
Henning Meyerhenke:
Kombinatorische Optimierung
Institut für Theoretische Informatik
Beweis des Lemmas
Beweis.
An u fehle Farbe s, an v fehle Farbe c1 .
Ziel: c1 soll auch an u fehlen.
Konstruieren Knotenfolge (v1 , . . . , vh ) von Nachbarn von u und
Farbenfolge (c1 , . . . , ch+1 ) mit:
Kante {u , vi } ist mit ci gefärbt und an vi fehlt ci +1 .
Algorithmus dafür: Siehe Tafel!
11
Henning Meyerhenke:
Kombinatorische Optimierung
Institut für Theoretische Informatik
Beweis des Lemmas
Beweis.
An u fehle Farbe s, an v fehle Farbe c1 .
Ziel: c1 soll auch an u fehlen.
Konstruieren Knotenfolge (v1 , . . . , vh ) von Nachbarn von u und
Farbenfolge (c1 , . . . , ch+1 ) mit:
Kante {u , vi } ist mit ci gefärbt und an vi fehlt ci +1 .
Algorithmus dafür: Siehe Tafel!
Die Nachbarn von u sind nun in der passenden Reihenfolge bzgl. der
o.g. Folgen nummeriert.
11
Henning Meyerhenke:
Kombinatorische Optimierung
Institut für Theoretische Informatik
Fortsetzung des Beweises
Beweis.
while-Schleife hat ≤ ∆(G ) − 1 Iterationen
(wg. Voraussetzung gilt: deg(v ) < ∆(G )).
Abbruch der Schleife:
1. Es gibt keine zu u inzidente Kante, die mit ch+1 gefärbt ist.
Dann: Zyklisches Verschieben der Farben (Kante (u , vi ) wird mit ci +1
gefärbt), c1 wird frei an u und an v .
2. Es gibt eine Kante {u , vj } mit cj = ch+1 ...
Rest: Heimlektüre.
12
Henning Meyerhenke:
Kombinatorische Optimierung
Institut für Theoretische Informatik
Algorithmus zur Kantenfärbung
Approximation des chromatischen Indexes mit absoluter Güte 1
Algorithm 1 Kantenfärbung mit absoluter Güte 1
1: function E DGE C OLORING(G = (V , E ))
2:
if |E | == 0 then
3:
return
4:
else
5:
Wähle eine beliebige Kante {u , v } ∈ E
6:
G 0 = G \ {u , v }
7:
E DGE C OLORING(G 0 )
8:
. Nach Rückkehr aus Rekursion ist G0 mit ≤ ∆(G0 ) + 1 Farben gefärbt.
9:
if ∆(G 0 ) < ∆(G ) then
10:
Färbe {u , v } mit der kleinstmöglichen an u und v fehlenden Farbe
11:
else
12:
Färbe {u , v } gemäß des Lemmas so um, dass an u und v dieselbe
13:
14:
13
Farbe c fehlt und färbe {u , v } mit c
end if
end if
Henning Meyerhenke:
Kombinatorische Optimierung
Institut für Theoretische Informatik
Eigenschaften des Algorithmus
Theorem
Algorithmus E DGE C OLORING kann in Zeit O(|V | · |E |) ausgeführt
werden und garantiert absolute Güte 1.
Beweis.
Güte folgt aus Lemma, dort wird eine Farbe mehr als der Knotengrad
benötigt.
Laufzeit: Übung.
14
Henning Meyerhenke:
Kombinatorische Optimierung
Institut für Theoretische Informatik
Inhalt
Approximation
Absolute Güte
Relative Güte
15
Henning Meyerhenke:
Kombinatorische Optimierung
Institut für Theoretische Informatik
Approximation und relative Güte
Definition
Bezeichne Π ein Optimierungsproblem.
Ein Algorithmus A heißt α-Approximationsalgorithmus,3 wenn A zu jeder
Instanz I von Π eine zulässige (aber nicht notwendigerweise optimale) Lösung mit
RA (I ) ≤ α berechnet, wobei
RA (I ) := Alg (I )/OPT (I ), falls Π Minimierungsproblem,
RA (I ) := OPT (I )/A(I ), falls Π Maximierungsproblem.
Hier bezeichnen
A(I ) den Wert der Lösung, die A für I berechnet und
OPT (I ) den Wert einer optimalen Lösung für I.
3 oder
16
Approximationsalgorithmus, der relative Güte α garantiert
Henning Meyerhenke:
Kombinatorische Optimierung
Institut für Theoretische Informatik
Beispielproblem
Matchings mit maximalem Gewicht in allgemeinen Graphen
Der beste exakte
√MWM-Algorithmus in allgemeinen Graphen hat eine
Laufzeit von O( n · m ).
Ziel: Bessere Laufzeit bei geringen Qualitätseinbußen.
17
Henning Meyerhenke:
Kombinatorische Optimierung
Institut für Theoretische Informatik
Beispielproblem
Matchings mit maximalem Gewicht in allgemeinen Graphen
Der beste exakte
√MWM-Algorithmus in allgemeinen Graphen hat eine
Laufzeit von O( n · m ).
Ziel: Bessere Laufzeit bei geringen Qualitätseinbußen.
Algorithm 3 Berechnung eines gewichteten Matchings mit Güte 2
1: function G REEDYA PPROX MWM(G = (V , E , w ))
2:
Sortiere E absteigend nach Gewicht: E = {e1 , . . . , em }, w (ei ) ≥ w (ej ) ∀i < j
3:
M=∅
4:
while E 6= ∅ do
5:
Nehme nächste Kante e = (u , v ) aus E und füge diese in M ein
6:
Entferne alle Kanten aus E, die zu u oder v inzident sind
7:
end while
8:
return M
17
Henning Meyerhenke:
Kombinatorische Optimierung
Institut für Theoretische Informatik
Beispielproblem
Eigenschaften des Greedy-Algorithmus
Theorem
Sei G = (V , E ) ein Graph mit nicht-negativen Kantengewichten und sei
M ∗ ein Matching mit maximalem Gewicht in G.
G REEDYA PPROX MWM berechnet ein Matching M mit w (M ∗ ) ≤ 2w (M )
in Zeit O(m log m ).
18
Henning Meyerhenke:
Kombinatorische Optimierung
Institut für Theoretische Informatik
Beispielproblem
Eigenschaften des Greedy-Algorithmus
Theorem
Sei G = (V , E ) ein Graph mit nicht-negativen Kantengewichten und sei
M ∗ ein Matching mit maximalem Gewicht in G.
G REEDYA PPROX MWM berechnet ein Matching M mit w (M ∗ ) ≤ 2w (M )
in Zeit O(m log m ).
Beweis.
Laufzeit: Klar. Bleibt noch: Güte.
Die als erstes gewählte Kante e = {u , v } ist schwerste Kante in G.
Beim Löschen von e und aller inzidenten Kanten werden höchstens
zwei Kanten e 0 und e 00 von M ∗ entfernt.
Es gilt: w (e 0 ) + w (e 00 ) ≤ 2w (e ).
Rest: Übung.
18
Henning Meyerhenke:
Kombinatorische Optimierung
Institut für Theoretische Informatik
Linearzeit-Algorithmus mit Güte 2
Algorithm 4 Linearzeit-Berechnung eines MWM mit Güte 2
1: function PATH G ROWING MWM(G = (V , E , w ))
2:
M1 = ∅; M2 = ∅; i = 1
3:
while E 6= ∅ do
4:
Wähle x ∈ V mit deg(x ) > 0 beliebig
5:
while x hat Nachbar in G do
6:
Sei {x , y } die schwerste zu x inzidente Kante
7:
Füge {x , y } zu Mi hinzu
8:
Entferne x aus G
9:
i = 3−i
10:
x =y
11:
end while
12:
end while
13:
return argmax(w (M1 ), w (M2 ))
19
Henning Meyerhenke:
Kombinatorische Optimierung
Institut für Theoretische Informatik
Linearzeit-Algorithmus mit Güte 2
Algorithm 5 Linearzeit-Berechnung eines MWM mit Güte 2
1: function PATH G ROWING MWM(G = (V , E , w ))
2:
M1 = ∅; M2 = ∅; i = 1
3:
while E 6= ∅ do
4:
Wähle x ∈ V mit deg(x ) > 0 beliebig
5:
while x hat Nachbar in G do
6:
Sei {x , y } die schwerste zu x inzidente Kante
7:
Füge {x , y } zu Mi hinzu
8:
Entferne x aus G
9:
i = 3−i
10:
x =y
11:
end while
12:
end while
13:
return argmax(w (M1 ), w (M2 ))
Beispiel: Siehe Tafel!
19
Henning Meyerhenke:
Kombinatorische Optimierung
Institut für Theoretische Informatik
Eigenschaften von
PATH G ROWING MWM
Theorem
Sei G = (V , E ) ein Graph mit nicht-negativen Kantengewichten und sei
M ∗ ein Matching mit maximalem Gewicht in G. PATH G ROWING MWM
berechnet ein Matching M mit w (M ∗ ) ≤ 2w (M ) in Zeit O(m ).
20
Henning Meyerhenke:
Kombinatorische Optimierung
Institut für Theoretische Informatik
Eigenschaften von
PATH G ROWING MWM
Theorem
Sei G = (V , E ) ein Graph mit nicht-negativen Kantengewichten und sei
M ∗ ein Matching mit maximalem Gewicht in G. PATH G ROWING MWM
berechnet ein Matching M mit w (M ∗ ) ≤ 2w (M ) in Zeit O(m ).
Beweis der Laufzeit.
Jeder Knoten wird höchstens einmal in der while-Schleife bearbeitet.
Die schwerste zu einem Knoten x inzidente Kante kann man in
O(deg(x )) finden und entfernen.
Pfade nur von Kanten starten ⇒ keine Knoten mit Grad 0.
Zahl der Knoten mit Grad mindestens 1 ist O(|E |).
Gesamtlaufzeit ≤ Summe der Knotengrade in V : O(|E |).
20
Henning Meyerhenke:
Kombinatorische Optimierung
Institut für Theoretische Informatik
Beweis der Güte von
PATH G ROWING MWM
Beweis der Güte.
“Vaterknoten” für jede Kante: Immer wenn ein Knoten x entfernt wird,
werden alle noch zu x inzidenten Kanten an x zugewiesen.
So wird jede Kante von G genau einem Knoten von G zugewiesen.
Betrachten MWM M von G: Alle Kanten von M werden an
verschiedene Knoten von G zugewiesen (wg. Matching-Eigenschaft).
21
Henning Meyerhenke:
Kombinatorische Optimierung
Institut für Theoretische Informatik
Beweis der Güte von
PATH G ROWING MWM
Beweis der Güte.
“Vaterknoten” für jede Kante: Immer wenn ein Knoten x entfernt wird,
werden alle noch zu x inzidenten Kanten an x zugewiesen.
So wird jede Kante von G genau einem Knoten von G zugewiesen.
Betrachten MWM M von G: Alle Kanten von M werden an
verschiedene Knoten von G zugewiesen (wg. Matching-Eigenschaft).
In jedem Schritt des Algorithmus wird die aktuell schwerste Kante, die
zu x inzident ist, in Zeile 6 gewählt und zu M1 oder M2 hinzugefügt.
⇒ w (M1 ∪ M2 ) ≥ w (M )
⇒ max{w (M1 ), w (M2 )} ≥ 21 w (M1 ∪ M2 ) ≥ 12 w (M )
21
Henning Meyerhenke:
Kombinatorische Optimierung
Institut für Theoretische Informatik
Zusammenfassung
Exakter Algorithmus zu langsam? ⇒ Approximationsalgorithmus!
Absolute und relative Güte
Algorithmen:
Kantenfärbung mit absoluter Güte 1
MWM mit relativer Güte 2
Hinweis: MWM kann noch besser in Linearzeit approximiert werden
22
Henning Meyerhenke:
Kombinatorische Optimierung
Institut für Theoretische Informatik
Herunterladen