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