0.1 Approximationsalgorithmen konstanter Güte

Werbung
0.1
Approximationsalgorithmen konstanter Güte
Vierfarbensatz:
Jeder planare Graph lässt sich mit vier Farben färben. Dieses Problem stammt eigentlich vom Färben
von Karten.
1967 von Appel und Haken gelöst (zuvor war dieses Problem 100 Jahre lang ungelöst).
•
Identizieren endlich viele unvermeidbare Teilstrukturen, von denen jeder planare Graph G mindestens eine besitzen muss (400 Seiten Beweis)
•
All diese Teilstrukturen sind reduzierbar (1936 Fälle, die mit einem Computerprogramm getestet
wurden):
Teilstrukturen können aus G entfernt werden: G'. Falls G' 4-färbbar ist, dann ist auch G
4-färbbar
Damit wird gezeigt, dass es kein kleinstes Gegenbeispiel geben kann und somit gar kein
Gegenbeispiel
•
Dies liefert einen Polynomzeitalgorithmus, der planare Graphen 4-färbt:
Eingabe: Planarer Graph G, endlich viele Teilstrukturen.
Prüfe ob Teilstrukturen in G vorhanden sind
Falls ja: Streiche Teilstruktur und 4-färbe
O(nk ∗ k)
O(n4 )
Die Laufzeit dieses Algorithmus ist
sprüngliche Arbeit liefert jedoch
wobei k die gröÿe der gröÿten Teilstruktur ist. Die ur-
Dieser Algorithmus wurde 1997 von Robertson et al. verbessert/vereinfacht auf 633Fälle und eine Lauf-
2
zeit vonO(n ).
Damit haben wir für planare Graphen:
•
2-Färbbarkeit:
∈P
•
3-Färbbarkeit: NP-schwer, bzw. NP-vollständig
•
4-Färbbarkeit: trivial - geht immer
Was uns einen Approximations-Algorithmus für minimale Färbung planarer Graphen liefert:
•
Teste ob der Graph G 2-färbbar. Falls ja: 2-färbe G
•
sonst 4-färbe G
Satz 1.
Für die (minimale) Färbung eines planaren Graphen gibt es einen Polynomzeit-Approximations-
Algorithmus mit konstanter additiver Güte <=1
Gibt es denn Probleme, die man nicht mit konstanter additiver Güte approximieren kann?
VIELLEICHT! Da wir nicht wissen, ob
Bsp.: MAXCLIQUE: Geg.: Graph
P = NP!
G = (V, E),
nde: gröÿte Clique in G
Dieses Problem ist NP-schwer, da das zugehörige Entscheidungsproblem (CLIQUE) NP-vollständig ist.
Satz 2.
Falls
P 6= N P , dann existiert kein Approximations-Algorithmus mit konstanter additiver Güte
für MAXCLIQUE.
1
Beweis: Idee: den Graph aufblasen, so dass
c≤1
wird:
G = (V, E) planarer Graph, m ∈ N
mG = (V 0 , E 0 ) besteht aus m "Kopien"von G: Gi = (Vi , Ei ), i = 1, . . . , m
Jeder Knoten in Gi wird mit jedem Knoten in Gj verbunden, füri 6= j .
i
i
i
i
D.h.: sei V = v1 , . . . , vn , E = e1 , . . . , el dann ist Vi = v1 , . . . , vn , Ei = e1 , . . . , el
S
S
E 0 = i=m
i=1 Ei i6=j Vi xVj
Sei
Behauptung: gröÿte Clique
und
V0 =
Si=m
i=1
Vi
und
= OP T (mG) = m ∗ OP T (G)
Beweis:
≤:
l = OP T (mG), C zugehörige Clique
V1 , . . . , V m
T
=⇒ ∃Vi : |C V1 | ≥ ml
=⇒ Gi hat Clique der Gröÿe ≥ ml
=⇒ G hat Clique der Gröÿe ≥ ml , da Gi
=⇒ OP T (G) ≥ ml
=⇒ m ∗ OP T (G) ≥ l
Sei
C verteilt sich auf
Kopie von G ist
≥:
k = OP T (G)”, C zugehörige Clique
=⇒ ∃C1S, . . . ,S
Cm entsprechende Cliquen in G1 , . . . , Gm
=⇒ C1 · · · Cm ist Clique der Gröÿe m ∗ k in mG
=⇒ OP T (mG) ≥ m ∗ k
Sei
Angenommen also, dass ein Poly-Zeit-Approximations-Algorithmus A mit konstanter Güte
existiert.
Dann löst folgender Algorithmus MAXCLIQUE in Poly-Zeit:
Eingabe:
G = (V, E)
G0 = (V 0 , E 0 )
•
konstruiere
•
wende A auf G' an. Dies liefert Cliquengröÿe l (maximal mit Abstand c)
•
gebe aus:
l
(c+1) als
OP T (G)
Dies geht oensichtlich in Poly-Zeit, da:
• O(n2 + n ∗ m)
•
Poly-Zeit nach Vorraussetzung
•
konstante Zeit
Warum ist dieser Algorithmus nun korrekt?
In Schritt 2. wird eine Clique der Gröÿe
l ≥ OP T ((c + 1)G)˘c
geliefert.
Beh.
=⇒ (c + 1) ∗ OP T (G)˘c
l
c
=⇒ (c+1)
≥ OP T (G)˘ (c+1)
= OP T (G)
Auÿerdem ist noch zu zeigen, dass:
Beh.
l ≥ OP T ((c + 1)G) =⇒ l ≥ (c + 1) ∗ OP T (G) =⇒
=⇒ P = N P
2
l
(c+1)
≥ OP T (G)
c ∈ N
0.2
Approximation mit multiplikativer Güte
konstanter Faktor
(1) Minimale Knotenüberdeckung
G = (V, E)
Geg.:
Berechne: minimale Anzahl von Knoten, die alle Kanten überdecken (min. 1 Endpunkt gehört zu
dieser Knotenmenge)
Dieses Problem ist NP-schwer, da das zugehörige Entscheidungsproblem NP-vollständig ist
Approximations-Algorithmus (Greedy):
s := ∅
solange Graph nicht leer ist (d.h. Noch Kanten vorhanden sind):
• u, v
beliebige Kante
• s := s
•
S
u, v
entferne Kante
u, v
und alle zu u und v inzidenten Kanten
Dieser Algorithmus hat multiplikative Güte von 2
Beweis: Für jede Kante
u, v
muss jede überdeckende Knotenmenge min. einer der Endpunkte enthal-
ten. Algorithmus nimmt für einige der Kanten beide Endpunkte auf
=⇒
Faktor 2.
(2) (2) TSP mit Dreiecksungleichung
Uns bereits bekannt: Baumheuristik: Faktor 2, Christodes: Faktor 1.5
Anmerkung: Es gibt Probleme, zu denen Approximations-Algorithmen mit nicht konstanter multiplikativer Güte existieren (z.B.:
√
logn, n
oder
n
logn )
PTAS (Polynomial Time Approximation Scheme)
Q A | > 0,
Für ein Optimierungsproblem ist eine Schar von Algorithmen
A polynomielle Laufzeit und
(1 − ) für Optimierungsprobleme.
besitzen. Auÿerdem hat
Minimierungs- und
löst
O(p(n))
(1 + ) für
die alle die Laufzeit
mit multiplikativer Güte
Beispiel.: Optimierungsproblem aus HA I: SUBSETSUM
Hierfür existiert sogar ein FPTAS (fullyPTAS). Dies bedeutet, dass die Abhängigkeit von
polynomiell ist
=⇒ ∃
Polynom p in n Variablen, so dass Laufzeit von
A ≤ p( 1 , n)
z.B.:
1
•
Laufzeit
2( ) ∗ n2
wäre ein PTAS, aber kein FPTAS
•
Laufzeit
( 1 )3 ∗ n5
wäre ein FPTAS
3
ist.
auch
Herunterladen