Erinnerung (1/4) 3 Zur Aufklärung der Struktur der Komplexitätsklasse NP hatte wir mit Hilfe von Logspace-Reduktionen die Schwierigkeitsgrade von Problemen in NP charakterisiert und verglichen ■ Von besonderem Interesse waren dabei „schwerste“ Probleme, also die NP-vollständigen Probleme in NP Vorlesungen zur Komplexitätstheorie: Weitere NP-vollständige Probleme (2) ■ Erinnerung: □ A NP heißt NP-vollständig, wenn für alle A‘ NP gilt Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Komplexitätstheorie | NP-vollständige Probleme (2) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Vorlesungen zur Komplexitätstheorie 2 Erinnerung (2/4) 4 Konzepte der Komplexitätstheorie Die Klassen P und NP ■ NP-Vollständigkeit Hatten zuerst die NP-Vollständigkeit von folgendem Problem nachgewiesen: SAT - Erfüllbarkeitsproblem (für KNF): ■ Weiter Charakterisierungen von NP ■ Eingabe: Boolescher Ausdruck in KNF (konjunktive Normalform) ■ Weitere NP-vollständige Probleme (2) ■ Frage: Existiert eine erfüllende Belegung der Booleschen Variablen ? ■ NP und co-NP ■ Randomisierte Berechnungen ■ Polynomialzeithierarchie CIRCUIT SAT - Schaltkreiserfüllbarkeit: ■ Eingabe: Boolescher Schaltkreis über variablen Eingaben ■ Frage: Gibt es eine erfüllende Belegung für die Eingaben des Schaltkreises ? ■ Approximation ■ Polynomiale Schaltkreise ■ P vs. NP mit Klassen jenseits und innerhalb von NP Komplexitätstheorie | NP-vollständige Probleme (2) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Komplexitätstheorie | NP-vollständige Probleme (2) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Erinnerung (3/4) INDEPENDENT SET Problem (1/8) 5 7 Cook‘sches Theorem: SAT ist NP-vollständig. Wollen nun die NP-Vollständigkeit einiger wichtiger Graphprobleme nachweisen: Hatten den Beweis in folgenden Schritten geführt NP - durch Angabe eines Algorithmus Wir betrachten ungerichtete Graphen G=(V,E) , d.h. Kantenrelation E ist symmetrisch und ohne triviale Schleifen ■ CIRCUIT SAT < SAT - durch Angabe einer Reduktion Definition: ■ SAT ■ für jedes A ■ I NP gilt A < CIRCUIT SAT mit Hilfe der Berechnungstabellenmethode V heißt Independent Set, falls für alle i,j ( i, j ) I gilt: E INDEPENDENT SET Problem: ■ Eingabe: Ungerichteter Graph G = ( V, E ) und k ■ Frage: IN Existiert in G eine Independent Set I mit #I = k ? Komplexitätstheorie | NP-vollständige Probleme (2) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Komplexitätstheorie | NP-vollständige Probleme (2) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Erinnerung (4/4) INDEPENDENT SET Problem (2/8) 6 8 Zur Bestimmung der „Grenze“ zwischen P und NP - falls es die überhaupt gibt - hatten wir verschiedene vereinfachte Varianten des NP-vollständigen Problems SAT untersucht und gezeigt: Satz: ■ Die folgenden SAT-Varianten sind sämtlich NP-vollständig: □ 3-SAT , selbst wenn in der KNF jede Variable nur 3-mal und jedes Literal höchsten 2-mal vorkommt □ 2-3-SAT □ MAX-2-SAT □ NAE-SAT ■ Die SAT-Variante 2-SAT ist P-vollständig Satz: ■ INDEPENDENT SET Problem ist NP-vollständig. Beweis: Verfolgen im Beweis die folgende Idee: ■ Besitzt ein Graph ein „Dreieck“, so kann höchstens ein Knoten des Dreiecks zu einer Independent Set gehören ... ■ Betrachten zur Vereinfachung eingeschränkte Klasse von Graphen, die sich bei Weglassung einigen Kanten in disjunkte Dreiecke zerlegen lassen ■ Besitz G maximal m disjunkte Dreiecke, dann ex. keine Independent Set mit k > m und Existenz einer Independent Set der Größe m hängt ab von den restlichen Kanten … ■ Reduzieren 3-SAT auf diese spezielle Graphklasse … Komplexitätstheorie | NP-vollständige Probleme (2) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Komplexitätstheorie | NP-vollständige Probleme (2) | Prof. Dr. Christoph Meinel | Sommersemester 2012 INDEPENDENT SET Problem (3/8) 9 INDEPENDENT SET Problem (5/8) 11 Beweisen: INDEPENDENT SET Problem ist NP-vollständig. Beweisen: INDEPENDENT SET Problem ist NP-vollständig ■ Beispiel: ■ Sei F eine 3-SAT-Formel mit den Klauseln C1 , ... , Cm mit wobei Literale bezeichnen ■ Konstruieren Instanz von INDEPENDENT SET R(F) = (G, k) mit □ k=m □ G = ( V, E ) Komplexitätstheorie | NP-vollständige Probleme (2) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Komplexitätstheorie | NP-vollständige Probleme (2) | Prof. Dr. Christoph Meinel | Sommersemester 2012 INDEPENDENT SET Problem (4/8) INDEPENDENT SET Problem (6/8) 10 12 Beweisen: INDEPENDENT SET Problem ist NP-vollständig. ■ Konstruieren Instanz von INDEPENDENT SET R(F) = (G, k) mit □ k=m □ G = ( V, E ) mit – V = { vij : i = 1, ..., m und j = 1, 2, 3} und – E Beweisen: INDEPENDENT SET Problem ist NP-vollständig Zeigen: R(F) hat Independent Set der Größe m F ist erfüllbar () ■ Sei I Independent Set der Größe m ■ I enthält genau einen Knoten aus jedem Dreieck und I enthält keine gegensätzlichen Literale, da die durch Kanten verbunden sind ■ Erhalten erfüllende Belegung, wenn wir alle Literale aus I auf true setzen, da I Knoten aus jedem Dreieck enthält ■ Die erste Klammermenge definiert m Dreiecke, die zweite verbindet die verschiedenen Dreiecke, falls die Knoten zu gegensätzlichen Literalen gehören Komplexitätstheorie | NP-vollständige Probleme (2) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Komplexitätstheorie | NP-vollständige Probleme (2) | Prof. Dr. Christoph Meinel | Sommersemester 2012 INDEPENDENT SET Problem (7/8) 13 CLIQUE und NODE COVER (1/3) 15 Beweisen: INDEPENDENT SET Problem ist NP-vollständig. Definition: ■ C Zeigen: R(F) hat Independent Set der Größe m F ist erfüllbar V heißt Clique in G, falls für alle i, j C gilt (i, j) E () ■ Existiere für F eine erfüllende Belegung CLIQUE: ■ Wählen aus jeder Klausel ein true-Literal ■ Eingabe: Ungerichteter Graph G = (V, E) und k ■ Die zugehörigen Knoten aus jedem Dreieck bilden ein Independent Set der Größe m ■ Frage: ℕ Existiert in G eine Clique der Größe k ? Komplexitätstheorie | NP-vollständige Probleme (2) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Komplexitätstheorie | NP-vollständige Probleme (2) | Prof. Dr. Christoph Meinel | Sommersemester 2012 INDEPENDENT SET Problem (8/8) CLIQUE und NODE COVER (2/3) 14 16 NP-Vollständigkeit von Independent Set bleibt erhalten, wenn lediglich Graphen vom Grad 4 betrachtet werden: Korollar: ■ INDEPENDENT SET Problem für Graphen vom Grad 4 ist NP-vollständig. Beweis: ■ Letzter Beweis funktioniert auch, wenn in der Klauselmenge F jedes Literal höchstens 2-mal auftritt (vgl. 2-3-SAT) Definition: ■ D V heißt Node Cover (Knotenüberdeckung) in G, falls für alle (i, j) E gilt i D oder j D NODE COVER: ■ Eingabe: Ungerichteter Graph G = (V, E) und k ■ Frage: IN Existiert in G ein Node Cover der Größe k ? ■ Konstruierter Graph hat Grad 4: □ Von jedem Knoten gibt es zwei Kanten innerhalb eines Dreiecks und □ höchstens zwei Kanten zu gegensätzlichen Literalen … Komplexitätstheorie | NP-vollständige Probleme (2) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Komplexitätstheorie | NP-vollständige Probleme (2) | Prof. Dr. Christoph Meinel | Sommersemester 2012 CLIQUE und NODE COVER (3/3) 17 Schnitt-Probleme (2/12) 19 Korollar: Satz: ■ MAX CUT ist NP-vollständig. (1) CLIQUE ist NP-vollständig. (2) NODE COVER ist NP-vollständig. Beweis: Beweis: Zeigen: NAE-SAT < MAX CUT (1) Können CLIQUE in INDEPENDENT SET verwandeln, indem wir anstelle von G = (V, E) den Graphen H = (V, ( V2 - (E { (v,v) | v V}) ) betrachten ... Seien C1 , ... , Cm die Klauseln von F und x1 , ... , xn die darin auftretenden Variablen ■ Konstruieren Graph G = R(F) und setzen k = 5m : □ Knoten von G = R(F) : (2) Ist I ein Independent Set, so ist V - I ein Node Cover ... 2n Knoten x1 , ... , xn , -x1 , ... , -xn Komplexitätstheorie | NP-vollständige Probleme (2) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Komplexitätstheorie | NP-vollständige Probleme (2) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Schnitt-Probleme (1/12) Schnitt-Probleme (3/12) 18 20 Definition: Zeigen: NAE-SAT < MAX CUT ■ Sei G = ( V, E ) ein ungerichteter Graph. Ein Cut bzw. ein Schnitt von G ist eine disjunkte Zerlegung ( S, V - S ) von V. Die Größe des Cuts ist die Zahl der Kanten zwischen S und V - S ■ Kanten von G = R(F) : □ Ist Ci = (a, b, c) , dann nehmen wir die Kanten des Dreiecks [a,b,c] □ Enthält Ci nur zwei verschiedene Variablen, wird anstelle der MAX CUT: ■ Eingabe: Ungerichteter Graph G = ( V, E ) - erlauben hier Mehrfachkanten! – und k ℕ ■ Frage: ■ Konstruieren Graph G = R(F) und setzen k = 5m : Existiert ein Cut der Größe > k ? Komplexitätstheorie | NP-vollständige Probleme (2) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Dreieckskanten eine Doppelkante zwischen den verschiedenen Variablen hinzugenommen □ Nehmen weiter für jede Variable xi ni Kopien der Kante ( xi , -xi ) hinzu, wobei ni die Anzahl der Vorkommen der xi oder -xi in den Klauseln ist Komplexitätstheorie | NP-vollständige Probleme (2) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Schnitt-Probleme (4/12) 21 Schnitt-Probleme (6/12) 23 Behauptung: ■ F ist NAE-erfüllbar R(F) besitzt Cut der Größe > k = 5m () ■ Setzen die Literale aus S auf true, die Literale aus V - S auf false ■ Gesamtzahl der Kanten im Cut, die gegensätzliche Literale verbinden, ist 3m (= Gesamtzahl der Literale in den m Klauseln) ■ 2m Kanten kommen von Dreiecken, die zu einer Klausel korrespondieren ■ Da jedes Dreieck höchstens 2 Kanten zum Cut beitragen kann, muß jedes Dreieck durch den Cut geschnitten werden, d.h. in jeder Klausel ist der Wahrheitswert wenigstens eines Literals true und wenigstens eines Literales false ■ Belegung ist erfüllende NAE-SAT-Belegung Beweisen: NAE-SAT < MAX CUT Beispiel für konstruierten Graph G = R(F): Komplexitätstheorie | NP-vollständige Probleme (2) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Komplexitätstheorie | NP-vollständige Probleme (2) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Schnitt-Probleme (5/12) Schnitt-Probleme (7/12) 22 24 Behauptung: ■ F ist NAE-SAT-erfüllbar R(F) besitzt Cut der Größe > k = 5m Behauptung: ■ F ist NAE-erfüllbar R(F) besitzt Cut der Größe > k = 5m () () Besitze R(F) einen Cut (S, V-S) der Größe > 5m Können jede erfüllende Belegung von NAE-SAT leicht in einen Cut der Größe > 5m überführen … ■ Können davon ausgehen, daß die beiden Literale einer Variable auf verschiedenen Seiten des Cuts vorkommen: □ Annahme: Es existiert i , so daß xi und -xi auf gleicher Seite des Cut vorkommen – Jeder dieses beiden Knoten liefert < ni Kanten zum Cut bei – Ziehen wir einen der beiden Knoten auf die andere Seite des Cuts, kann sich dessen Größe nur vergrößern (xi und -xi verbinden = ni Kanten) Komplexitätstheorie | NP-vollständige Probleme (2) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Komplexitätstheorie | NP-vollständige Probleme (2) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Schnitt-Probleme (8/12) Schnitt-Probleme (10/12) 25 27 Können dual zum MAX CUT das Problem MIN CUT betrachten: Satz: ■ MAX BISECTION ist NP-vollständig. MIN CUT: ■ Eingabe: Ungerichteter Graph G = ( V, E ) - erlauben wieder Mehrfachkanten ! und k ℕ ■ Frage: Beweis: ■ Zeigen MAX CUT < MAX BISECTION: □ Fügen zum vorgegebenen Graphen G = (V, E) genau #V vollständig isolierte Knoten hinzu Existiert in G ein Cut der Größe < k ? Satz: □ Können nun jeden Cut von G durch geeignete Umverteilung der neuen isolierten Knoten in eine Bisection verwandeln ... ■ MIN CUT gehört zu P Bemerkung: ■ Größe eines minimalen Cuts, der s, t V separiert, entspricht der Größe eines maximalen Flusses von s nach t ( MAX FLOW ) ... Komplexitätstheorie | NP-vollständige Probleme (2) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Komplexitätstheorie | NP-vollständige Probleme (2) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Schnitt-Probleme (9/12) Schnitt-Probleme (11/12) 26 28 MAX BISECTION: ■ Eingabe: Ungerichteter Graph G = ( V, E ) und k ■ Frage: IN Existiert in G ein Cut (S , V-S) mit #S = #( V-S ) „Bisection“ der Größe > k? Ist MAX BISECTION schwerer oder einfacher als MAX CUT ? Im Falle der Bisection sind das Maximierungs- und das Minimierungsproblem gleich schwer: MIN BISECTION: ■ Eingabe: Ungerichteter Graph G = (V, E) und k ■ Frage: IN Existiert in G eine Bisection der Größe < k ? ■ MAX BISECTION könnte sowohl einfacher sein als MAX CUT als auch schwerer, je nachdem, ob die Gleichheitsbedingung als Einschränkung oder als zusätzliche Bedingung gesehen wird … Komplexitätstheorie | NP-vollständige Probleme (2) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Komplexitätstheorie | NP-vollständige Probleme (2) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Schnitt-Probleme (12/12) 29 Satz: ■ MIN BISECTION ist NP-vollständig. Beweis: ■ MAX BISECTION < MIN BISECTION : □ G = ( V, E ) mit #V = 2n hat eine Bisection der Größe > k □ H = ( V, V2 - E ) hat eine Bisection der Größe < n2 - k Komplexitätstheorie | NP-vollständige Probleme (2) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Vorlesungen zur Komplexitätstheorie Weitere NP-vollständige Probleme (2) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland