Gliederung der Vorlesung

Werbung
Kap. 7: Approximationsalgorithmen nichtkonstanter Güte
Gliederung der Vorlesung
1
Motivation und Einordnung
2
Begriffe und Notationen
3
Grundlagen aus der Komplexitätstheorie
4
Approximationsalgorithmen konstanter Güte
5
Approximationsschemata
6
Vollständige Approximationsschemata
7
Approximationsalgorithmen nichtkonstanter Güte
8
Entwurfstechniken
Steffen Lange
Approximationsalgorithmen
Kap. 7, Foliensatz 1
1 / 20
Kap. 7: Approximationsalgorithmen nichtkonstanter Güte
Minimale Knotenfärbungen
Zur Erinnerung
eine Knotenfärbung c für einen Graphen G = (V , E ) ordnet jedem
Knoten v von G so eine Farbe c(v ) zu, dass gilt
für je zwei Knoten u, v ∈ V , die durch eine Kante von G verbunden
sind, gilt c(u) 6= c(v ), d.h. sie sind verschieden gefärbt
eine Knotenfärbung c für G , die k Farben verwendet, induziert eine
Zerlegung der Knotenmenge von G in k unabhängige Mengen
Beispiel
v1
Steffen Lange
v2
v3
v4
v5
Approximationsalgorithmen
Kap. 7, Foliensatz 1
2 / 20
Kap. 7: Approximationsalgorithmen nichtkonstanter Güte
Minimale Knotenfärbungen
Das interessierenden Minimierungsproblem
MinNodeColoring
Eingabe:
Ausgabe:
Instanz G = (V , E )
Färbung c für den Graphen G mit minimaler Güte
Anmerkungen
die Güte einer Färbung c entspricht der Anzahl der verwendeten
Farben, d.h. w (c) := |{c(v ) | v ∈ V }|
Steffen Lange
Approximationsalgorithmen
Kap. 7, Foliensatz 1
3 / 20
Kap. 7: Approximationsalgorithmen nichtkonstanter Güte
Minimale Knotenfärbungen
Einordnung
Theorem
MinNodeColoring ist ein NP-schweres Optimierungsproblem.
man kann kann einen effizienten Lösungsalgorithmus für
MinNodeColoring benutzen, um das NP-vollständige
Entscheidungsproblem 3SAT effizient zu lösen (siehe Skript)
Anmerkung
die sehr naheliegende Idee, einen effizienten Lösungsalgorithmus für
MinNodeColoring zu benutzen, um MaxIndependetSet
effizient zu lösen, funktioniert nicht
Steffen Lange
Approximationsalgorithmen
Kap. 7, Foliensatz 1
4 / 20
Kap. 7: Approximationsalgorithmen nichtkonstanter Güte
Minimale Knotenfärbungen
Illustration
Beispiel
wir betrachten den folgenden Graphen G
v1
v3
v2
v4
v5
v6
einerseits ist die angegebene Knotenfärbung optimal und induziert
eine Zerlegung in unabhängige Mengen der Größe zwei
andererseits hat eine optimale unabhängige Menge die Größe drei
Steffen Lange
Approximationsalgorithmen
Kap. 7, Foliensatz 1
5 / 20
Kap. 7: Approximationsalgorithmen nichtkonstanter Güte
Minimale Knotenfärbungen
Einordnung (cont.)
da man einen gegebenen Graphen platzsparend kodieren kann, ohne
irgendeine Zahl binär zu kodieren, ist MinNodeColoring sogar
streng NP-schwer, d.h. nicht vollständig approximierbar
man vermutet, dass aus P 6= NP folgt, dass es für dieses Minimierungsproblem überhaupt keinen Approximationsalgorithmen
konstanter Güte gibt
Anmerkung
man kann relativ einfach zeigen, dass es für bestimmte δ > 1 keinen
Approximationsalgorithmus mit dem Approximationsfaktor δ gibt
Steffen Lange
Approximationsalgorithmen
Kap. 7, Foliensatz 1
6 / 20
Kap. 7: Approximationsalgorithmen nichtkonstanter Güte
Minimale Knotenfärbungen
Ein Nichtapproximierbarkeitsergebnis
Theorem
Aus P 6= NP folgt, dass es für MinNodeColoring keinen Approximationsalgorithmus konstanter Güte mit einem Approximationsfaktor
kleiner als 43 gibt.
jeder Formel α in konjunktiver Normalform (mit genau drei paarweise verschiedene Literale pro Klausel) kann effizient ein Graph G
zugeordnet werden, so dass gilt
α ist genau dann erfüllbar, wenn G mit drei Färben gefärbt werden
kann
Anmerkung
wenn α erfüllbar ist, muss ein Approximationsalgorithmus mit einem
Approximationsfaktor kleiner als 43 eine optimale Färbung bestimmen
Steffen Lange
Approximationsalgorithmen
Kap. 7, Foliensatz 1
7 / 20
Kap. 7: Approximationsalgorithmen nichtkonstanter Güte
Minimale Knotenfärbungen
Ergänzung
der Beweis des letzten Theorems lässt offen, ob sich optimale
Färbungen schnell bestimmen lassen, wenn bekannt ist, dass mehr
als drei Farben benötigt werden, um die Knoten eines gegebenen
Graphen zu färben
diese Art Zusatzinformation macht das zu lösende Optimierungsproblem nicht einfacher
Theorem
Sei m ∈
N mit m > 3. Dann gilt:
Aus P 6= NP folgt, dass es keinen effizienten Algorithmus gibt, mit
dem man für jeden Graphen G mit χ(G ) ≥ m eine Knotenfärbung
bestimmen kann, die weniger als 34 · χ(G ) Farben verwendet.
Steffen Lange
Approximationsalgorithmen
Kap. 7, Foliensatz 1
8 / 20
Kap. 7: Approximationsalgorithmen nichtkonstanter Güte
Minimale Knotenfärbungen
Begründung
das zentrale Argument ist die folgende Beobachtung
Lemma
Sei G ein Graph und k ∈
N. Dann gilt:
Man kann dem Paar (G , k) effizient einen Graphen Gk zuordnen, so
dass χ(Gk ) = k · χ(G ) gilt.
Anmerkungen
es genügt, den Graphen Gk so zu definieren, dass
Gk aus k Kopien von G besteht
die Knoten unterschiedlicher Kopien von G jeweils durch eine Kante
miteinander verbunden sind
Steffen Lange
Approximationsalgorithmen
Kap. 7, Foliensatz 1
9 / 20
Kap. 7: Approximationsalgorithmen nichtkonstanter Güte
Minimale Knotenfärbungen
Illustration
Beispiel
sei G der links abgebildete Graph, der offenbar mit zwei Farben
gefärbt werden kann, und k = 2
um den rechts abgebildeten Graphen Gk zu färben, werden nun
genau vier Farben benötigt
Steffen Lange
v1
(v1 ,1)
(v1 ,2)
v2
(v2 ,1)
(v2 ,2)
v3
(v3 ,1)
(v3 ,2)
Approximationsalgorithmen
Kap. 7, Foliensatz 1
10 / 20
Kap. 7: Approximationsalgorithmen nichtkonstanter Güte
Minimale Knotenfärbungen
Ein einfacher Approximationsalgorithmus
der vorgestellte Approximationsalgorithmus arbeitet wie folgt
im gegebenen Graphen G wird mit GreedyIS eine unabhängige
Menge bestimmt, deren Knoten alle mit einer Farbe gefärbt werden
im Anschluss wir anhand von G ein Teilgraph G 0 gebildet, indem alle
gerade gefärbten Knoten und alle Kanten, die diese Knoten als Ecke
haben, aus G gestrichen werden
gibt es in G 0 keine Knoten mehr, wird gestoppt
andernfalls werden mit GreedyIS eine unabhängige Menge in G 0
bestimmt, deren Knoten alle mit einer neuen Farbe gefärbt werden,
sowie ein Teilgraph G 00 von G 0 bestimmt . . .
Anmerkung
GreedyIS ist der uns bereits bekannte Approximationsalgorithmus für
das Maximierungsproblem MaxIndependentSet
Steffen Lange
Approximationsalgorithmen
Kap. 7, Foliensatz 1
11 / 20
Kap. 7: Approximationsalgorithmen nichtkonstanter Güte
Minimale Knotenfärbungen
Illustration
Beispiel
der gegebene Graph G wird wie folgt verarbeitet
zunächst werden in G die unabhängige Menge U = {v1 , v4 } bestimmt
sowie die Knoten von U geeignet gefärbt
danach werden in G 0 die unabhängige Menge U 0 = {v2 , v5 } bestimmt
sowie die Knoten von U 0 geeignet gefärbt
abschließend werden in G 00 die unabhängige Menge U 00 = {v3 }
bestimmt sowie die Knoten von U 00 geeignet gefärbt
v1
v2
v3
v4
v5
G
Steffen Lange
v2
v3
v3
v5
G0
Approximationsalgorithmen
G 00
Kap. 7, Foliensatz 1
12 / 20
Kap. 7: Approximationsalgorithmen nichtkonstanter Güte
Minimale Knotenfärbungen
Approximationsalgorithmus GreedyNC
um in einem gegebenen Graphen G = (V , E ) eine Knotenfärbung c
zu bestimmen, wird wie folgt vorgegangen
es wird i := 1, V1 := V , E1 := E und G1 := (V1 , E1 ) gesetzt
solange Vi 6= ∅ gilt
es wird mit GreedyNS eine unabhängige Menge Ui in Gi bestimmt
und c(u) := i für jeden Knoten u ∈ Ui gesetzt
es wird eine Teilmenge Vi− der Knotenmenge von Gi bestimmt
es wird eine Teilmenge Ei− der Kantenmenge von Gi bestimmt
es wird Vi+1 := Vi \ Vi− , Ei+1 := Ei \ Ei− , Gi+1 := (Vi+1 , Ei+1 ) und
i := i + 1 gesetzt
Anmerkungen
Vi− enthält genau die Knoten in Ui , d.h. Vi− := Ui
Ei− enthält alle Kanten in Gi , die mindestens eine Ecke haben, die
zur Knotenmenge Vi− gehört
Steffen Lange
Approximationsalgorithmen
Kap. 7, Foliensatz 1
13 / 20
Kap. 7: Approximationsalgorithmen nichtkonstanter Güte
Minimale Knotenfärbungen
Approximationsalgorithmus GreedyNC (cont.)
es sollte offensichtlich sein, dass GreedyNC
eine Knotenfärbung c für einen gegebenen Graphen G bestimmt (eine
Zerlegung der Knotenmenge von G in unabhängige Mengen induziert
eine Knotenfärbung)
ein effizienter Algorithmus ist, da im schlimmsten Fall in jeder Runde
mit dem effizienten Algorithmus GreedyIC eine einelementige
unabhängige Menge bestimmt wird
Anmerkung
um die Approximationsgüte von GreedyNC abzuschätzen, benutzen
wir die uns bekannte untere Schranke für die Güte der mit GreedyIC
bestimmten unabhängigen Mengen
Steffen Lange
Approximationsalgorithmen
Kap. 7, Foliensatz 1
14 / 20
Kap. 7: Approximationsalgorithmen nichtkonstanter Güte
Minimale Knotenfärbungen
Approximationsalgorithmus GreedyNC (cont.)
Theorem
Sei G = (V , E ) ein Graph mit χ(G ) = k und c die von GreedyNC bei
Eingabe von G bestimmte Knotenfärbung. Dann gilt:
w (c) ≤
3·|V
| |V |
logk 9
· k.
Also hat GreedyNC eine Approximationsgüte δ(I ) ∈ O
|V |
log(|V |)
.
um diese Aussage zu beweisen, braucht man eine qualitative Idee und
ein klein wenig Mathematik
Steffen Lange
Approximationsalgorithmen
Kap. 7, Foliensatz 1
15 / 20
Kap. 7: Approximationsalgorithmen nichtkonstanter Güte
Minimale Knotenfärbungen
Begründung
wir verwenden folgende Bezeichnungen
t0 bezeichnet die Anzahl der Runden, in denen GreedyNC wenigstens
einen Knoten färbt
für jede Runde t bezeichnen wir mit nt die Anzahl der Knoten im
Teilgraphen Gt = (Vt , Et )
und benutzen, dass für die bestimmte unabhängige Menge Ut gilt
|Ut | ≥ logk
|Vt |
3
Anmerkung
es daran erinnert, dass t0 der Güte der mit GreedyNC bestimmten
Knotenfärbung c für den Graphen G = (V , E ) entspricht
beachte, dass χ(Gt ) ≤ k für alle t mit 1 ≤ t ≤ t0 gilt
beachte, dass aus k 0 ≤ k folgt, dass logk 0 (x) ≥ logk (x) gilt
Steffen Lange
Approximationsalgorithmen
Kap. 7, Foliensatz 1
16 / 20
Kap. 7: Approximationsalgorithmen nichtkonstanter Güte
Minimale Knotenfärbungen
Begründung (cont.)
um die Güte der von GreedyNC bestimmten Färbung c geeignet
abzuschätzen, ist folgende Vorüberlegung wichtig
sei s ∈
Q
+
und t ≤ t0 die aktuelle Runde von GreedyNC
wenn |Vt | ≥ s gilt, so muss |Ut | ≥ logk 3s gelten, d.h. es werden
mindestens logk 3s Knoten im Graphen Gt gefärbt
wenn |Vt | < s gilt, so benötigt man nur noch s Farben, um alle
Knoten im Graphen Gt zu färben
sei nun tm das minimale t ≤ t0 , so dass GreedyNC in Runde t einen
Graphen Gt mit |Vt | < s verarbeitet
dann gilt offensichtlich w (c) ≤ tm + s
Anmerkungen
die nicht zu Gtm gehörenden Knoten wurden vor Runde tm gefärbt
um die Knoten Gtm zu färben, genügen s weitere Runden
Steffen Lange
Approximationsalgorithmen
Kap. 7, Foliensatz 1
17 / 20
Kap. 7: Approximationsalgorithmen nichtkonstanter Güte
Minimale Knotenfärbungen
Begründung (cont.)
sei nun s ∈
Q∗ so gewählt wird, dass tm + s ≤ log3·|V | gilt
k
dann gilt w (c) ≤ tm + s ≤
w (c)
w (Opt(I ))
≤
logk
3·|V |
|V | ,
logk ( 9 )
3·|V
|
·w (Opt(I ))
|V |
9
wir behaupten nun, dass s0 :=
d.h. es gilt tm + s0 ≤
≤
und damit auch
3·|V
| logk
|V
| logk
|V |
9
|V |
9
|V |
9
eine geeignete Wahl für s ist,
3·|V
| logk
|V |
9
Anmerkungen
tm bezeichnet wieder das minimale t ≤ t0 mit |Vt | < s
beachte, dass w (Opt(I )) ≥ 1 gilt
Steffen Lange
Approximationsalgorithmen
Kap. 7, Foliensatz 1
18 / 20
Kap. 7: Approximationsalgorithmen nichtkonstanter Güte
Minimale Knotenfärbungen
Begründung (cont.)
um zu zeigen, dass unser s0 eine gute Wahl ist, spielt folgende
Beobachtung eine zentrale Rolle
1
2
es gilt |Ut | ≥
· logk
|V |
9
für alle t ≤ t0 und |Vt | ≥ s0
die sich unter Benutzung folgender Argumente recht einfach
verifizieren lässt
|Ut | ≥ logk
logk 3 ·
|Vt |
3
|V |
9
|V |
logk 9
(
|V |
9· 9
|V |
≥ logk
=
log
|V |
3·log
) k 3·logk ( |V9 | )
k ( 9q
≥ logk 3 · 13 · |V9 | = 12 · logk |V9 |
)
Anmerkungen
beachte, dass s0 =
beachte, dass
Steffen Lange
|V
| logk
x
logk (x)
≥
|V |
9
1
3
·
gilt
√
x für alle x ≥ 0 gilt
Approximationsalgorithmen
Kap. 7, Foliensatz 1
19 / 20
Kap. 7: Approximationsalgorithmen nichtkonstanter Güte
Minimale Knotenfärbungen
Begründung (cont.)
da in jeder Runde t mit |Vt | ≥ s0 mindestens
gestrichen werden, muss nun tm ≤
2·|V
| |V |
logk 9
1
2
· logk
|V |
9
Knoten
gelten
also erhalten wir wie gewünscht
tm + s0 ≤
2·|V |
|V |
logk ( 9 )
+
|V |
|V |
logk ( 9 )
=
3·|V |
|V |
logk ( 9 )
Anmerkungen
tm bezeichnet wieder das minimale t ≤ t0 mit |Vt | < s
|V
|V |
| sowie |V | ≤ 1 · log
beachte, dass s0 =
·
k
|V |
2
9
logk
Steffen Lange
9
Approximationsalgorithmen
2·|V
| logk
|V |
9
Kap. 7, Foliensatz 1
gilt
20 / 20
Herunterladen