Prof. Dr. Stefan Edelkamp, Hochschule Darmstadt, 22.5.2017 Übungen Komplexitätstheorie Blatt 4 Instanzen NP-Probleme a) Färben Sie das linke Bild mit 4 Farben (keine 2 benachbarten Flächen haben die gleiche Farbe). b) Kreis: Zeichnen Sie in dem mittleren Graph zwei kantendisjunkte hamiltonische Kreise ein. c) Zeichnen Sie in dem rechten Graphen ein maximales VertexCover ein, d.h., eine Knotenmenge C, so dass jede Kante des Graphen, zu mindestens einem Knoten aus C benachbart ist. NP Zugehörigkeit. Liegen die folgende Probleme in NP (bei “Nein” kurze Begründung)? a) SORT, das Sortieren einer Menge. b) 4-COLOR, das Färben der Knoten eines planaren Graphens mit 4 Farben. c) SHORTESTPATH, das Problem des kürzesten Weges (Gegeben ein mit Längen beschrifteter Graph, Knoten s und t und eine Zahl k, gibt es einen Pfad von s nach t mit Länge <= k). d) CFG REGULARITY, das Regularitätsproblem für kontextfreie Grammatiken (Gegeben eine kontextfreie Grammatik G über dem Alphabet Σ, ist L(G) eine reguläre Sprache). Lineare Reduktion Sei SORT das Sortierproblem für natürliche Zahlen. Betrachten Sie das Problem Nachfolger (SUCC): Gegeben eine Menge A = a_1,...,a_n und eine Zahl k, gibt es in der Menge k aufeinanderfolgende Zahlen. Beispielsweise ist M = {4, 1, 3, 9, 8, 5} für k = 3 lösbar. a) Welche Lösung hat das Beispielproblem? b) Zeigen Sie: Das Nachfolgerproblem lässt sich linear auf das Sortierproblem reduzieren, d.h., mit einem Unterprogramm für SORT hat SUCC lineare Laufzeit (Pseudocode reicht). c) Es gilt: SORT ist nicht in linearer Zeit lösbar. Angenommen SORT lässt sich in linearer Zeit auf X reduzieren, was heißt dass für X? Approximationsalgorithmen. Sahni hat 1975 den folgenden Approximationsalgorithmus Ak für KP angegeben. Eingabe: g1,...,gn (Gewichte), a1,...,an (Nutzenwerte), G (Packungsgrenze) 1. Sortiere die n Objekte nach Nutzenrate ai/gi 2. Zu jeder Teilmenge I aus {1,...,n} mit |I|<=k, nimm zuerst die durch I bestimmten Objekte, und fülle den Rucksack mit den verbliebenen Objekten auf. Die Objekte mit größere Nutzenrate haben dabei höhere Priorität. Ausgabe: Rucksack mit größten Nutzen für alle I. Beispiel n = 8, Gewichte gi: 1,11,21,23,33,43,45,55 Nutzen pi : 11,21,31,33,43,53,55,65. G = 110. A0 nimmt die ersten 5 Objekte auf mit Gewicht 89 und Nutzen 139. a) Was ist wenn A0 das Gewicht G genau trifft? b) Berechnen Sie den Nutzen von A1. c) Berechnen Sie den (in diesem Fall optimalen) Nutzen von A2. d) Welche worst-case Laufzeit hat der Algorithmus Ak ? e) Sahni zeigt: Ak hat die Approximationsgüte von 1 + 1/k. Wie nennt man eine solche “Serie” von Algorithmen?