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