Erinnerung (1/5) 3 ■ Zur Aufklärung der Struktur der Komplexitätsklasse NP hatte wir mit Hilfe von Logspace-Reduktionen die Schwierigkeitsgrade von Probleme 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 (3) ■ 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 (3) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Vorlesungen zur Komplexitätstheorie 2 Erinnerung (2/5) 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 (3) ■ 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 (3) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Komplexitätstheorie | NP-vollständige Probleme (3) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Erinnerung (3/5) Erinnerung (5/5) 5 7 Cook‘sches Theorem: Hatten dann weiter die NP-Vollständigkeit einer Reihe von wichtigen Graphproblemen nachgewiesen: ■ SAT ist NP-vollständig. Satz: Hatten Beweis in folgenden Schritten geführt ■ SAT NP - ■ CIRCUIT SAT < SAT ■ für jedes A NP gilt - ■ Die folgenden Graphprobleme sind sämtlich NP-vollständig: durch Angabe eines Algorithmus □ INDEPENDENT SET □ CLIQUE durch Angabe einer Reduktion □ NODE COVER A CIRCUIT SAT mit Hilfe der Berechnungstabellenmethode □ MAX CUT (aber MIN CUT gehört zu P !) □ MAX BISECTION , MIN BISECTION Komplexitätstheorie | NP-vollständige Probleme (3) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Komplexitätstheorie | NP-vollständige Probleme (3) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Erinnerung (4/5) Wege-Probleme (1/6) 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 3-mal und jedes Literal höchsten 2-mal vorkommt (aber 2-SAT gehört zu P !) Wir wollen nun die NP-Vollständigkeit von einigen bekannten Wege-Problemen in Graphen nachweisen: HAMILTON PATH – Hamilton-Weg: ■ Eingabe: Ungerichteter Graph G = ( V, E ) ■ Frage: Existiert in G ein Hamilton-Weg, also ein Weg, der jeden Knoten genau einmal berührt ? □ MAX-2-SAT □ NAE-SAT Komplexitätstheorie | NP-vollständige Probleme (3) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Komplexitätstheorie | NP-vollständige Probleme (3) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Wege-Probleme (2/6) 9 Wege-Probleme (4/6) 11 Satz: Korollar: ■ HAMILTON PATH ist NP-vollständig. ■ TSP(D) ist NP-vollständig. Beweis: Beweis: Zeigen HAMILTON PATH < TSP(D) : ■ Es genügt zu zeigen: 3-SAT < HAMILTON PATH ■ Sei Graph G = ({1, 2, ... n}, E ) gegeben in Form einer Adjazenzmatrix A(G) ■ Konstruieren dazu Graph R(F) zu KNF F mit den ■ Konstruieren Eingabe R(G) = (V, C, L) für TSP(D) mit der Distanzmatrix C = ( cij ) □ Variablen x1 , ..., xn und den □ Klauseln C1 , ..., Cm mit drei Literalen, der einen Hamilton-Weg besitzt genau dann wenn F erfüllbar ist ■ Konstruktion ist recht aufwendig, können sie aus Zeitgründen hier nicht vorführen und L := n+1 = #V + 1 Komplexitätstheorie | NP-vollständige Probleme (3) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Komplexitätstheorie | NP-vollständige Probleme (3) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Wege-Probleme (3/6) Wege-Probleme (5/6) 10 12 Erinnerung: Beweisen: HAMILTON PATH < TSP(D) : TSP(D) - TRAVELING SALESMAN Problem: Behauptung: ■ Eingabe: □ n Knoten V = {1, 2, ..., n} und eine □ Distanzmatrix C = ( cij ) die die Abstände cij zwischen i und j angibt, und eine □ Gesamtlänge L ■ Frage: □ Existiert ein Rundweg in G über alle Knoten der Länge < L ? Korollar: ■ G besitzt Hamilton-Weg R(G) hat Rundweg der Länge < L () ■ Ein Hamilton-Weg hat gemäß Distanzmatrix C die Länge l = n-1 ■ Um Rundreise zu erhalten, fügen wir eine Kanten vom Endpunkt zum Anfangspunkt hinzu: Länge l = n oder n+1 d.h. es existiert eine Rundreise der Länger < n+1 ■ TSP(D) ist NP-vollständig. Komplexitätstheorie | NP-vollständige Probleme (3) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Komplexitätstheorie | NP-vollständige Probleme (3) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Wege-Probleme (6/6) 13 Färbungsprobleme (2/6) 15 Beweisen: HAMILTON PATH < TSP(D) : Satz: ■ 3-COLORING ist NP-vollständig. Behauptung: ■ G besitzt Hamilton-Weg R(G) hat Rundweg der Länge < L Beweis: Zeigen NAE-SAT < 3-COLERING () ■ Sei die 3-Klauselmenge F = {C1 , ..., Cm} über den Variablen x1 , ..., xn gegeben ■ Eine Rundreise in (V, C, L) besteht aus genau n Wegstrecken und kann bei vorgegebenen C nur dann Kosten < n+1 verursachen, wenn der Kantenzug in dem zugehörigen Graphen (bis auf eine Kante) einen Hamilton-Weg bildet ■ NAE-SAT fragt, ob eine erfüllende Belegung existiert, bei der nicht alle drei Literale einer Klausel gleichzeitig wahr sind ■ Konstruieren einen aus Dreiecken aufgebauten Graphen G = R(F) für den gilt: ■ Zeit- / Raumbedarf für die Reduktion: □ Konstruktion der Matrix C : O( n2 ) G = R(F) ist 3-färbbar F ist NAE-SAT erfüllbar □ C kann unmittelbar durch Umkodierung der Adjazenzmatrix A(G) in logarithmischem Raum erzeugt werden Komplexitätstheorie | NP-vollständige Probleme (3) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Komplexitätstheorie | NP-vollständige Probleme (3) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Färbungsprobleme (1/6) Färbungsprobleme (3/6) 14 16 Eine weitere Klasse von wichtigen Graphproblemen ist die Klasse der Färbungsprobleme: k-COLORING - k-Farbenproblem: ■ Eingabe: □ Ungerichteter Graph G = (V, E) und Beweisen: NAE-SAT < 3-COLORING Konstruktion des aus Dreiecken aufgebauten Graphen G = R(F): ■ Zeichnen für jede Variable xi ein Dreieck [a , xi , -xi] , wobei a ein gemeinsamer Knoten für alle Variablen / Dreiecke ist ■ Zeichnen für jede Klausel □ natürliche Zahl k von Farben ■ Frage: □ Existiert Färbung der Knoten von G mit k Farben, so daß keine zwei benachbarten (also durch Kante verbundene) Knoten die gleiche Farbe haben ? Komplexitätstheorie | NP-vollständige Probleme (3) | Prof. Dr. Christoph Meinel | Sommersemester 2012 ein Dreieck [ Ci,j1 , Ci,j2 , Ci,j3 ] ■ Fügen anschließend noch Kanten zwischen Cij und dem Komplement des j-ten Literals im entsprechenden „Variablendreieck“ hinzu Komplexitätstheorie | NP-vollständige Probleme (3) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Färbungsprobleme (4/6) 17 Färbungsprobleme (6/6) 19 Beweisen: NAE-SAT < 3-COLORING Beweisen: NAE-SAT < 3-COLORING Beispiel für Graphen G = R(F): Behauptung: ■ G = R(F) ist mit 3 Farben {0,1,2} färbbar F ist NAE-erfüllbar () ■ Starten mit erfüllender NAE-Belegung von F , färben a mit Farbe 2 und die Variablenknoten entsprechend der Belegung ■ Für die Färbung der Klauseldreiecke nehmen wir 2 gegensätzlich belegte Variable - existieren, da Belegung NAE - und färben zugehörige Knoten entsprechend ■ Erhalten 3-Färbung, wenn der dritte Knoten mit 2 gefärbt wird Offensichtlich ist die Konstruktion G = R(F) in Logspace ausführbar Komplexitätstheorie | NP-vollständige Probleme (3) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Komplexitätstheorie | NP-vollständige Probleme (3) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Färbungsprobleme (5/6) Matching (1/12) 18 20 Beweisen: NAE-SAT < 3-COLORING Weisen nun die NP-Vollständigkeit wichtiger Mengenprobleme nach: Behauptung: TRIPARTITE MATCHING: ■ G = R(F) ist mit 3 Farben {0,1,2} färbbar F ist NAE-erfüllbar () OBdA. Sei a mit Farbe 2 gefärbt ■ Jeweils eines der Literale xi und -xi ist mit 0 , das andere mit 1 ■ Eingabe: Drei Mengen M , W, H - Männer, Frauen, Häuser - mit #M = #W = #H = n und T MxWxH ■ Frage: gefärbt ■ Ist xi mit 1 gefärbt, wird xi true gesetzt, ist xi mit 0 gefärbt, wird xi false gesetzt Existieren in T n Tripel, so daß keine zwei Tripel eine gemeinsame Komponente haben - jeder Mann hat andere Frau und eigenes Haus ... Satz: ■ TRIPARTITE MATCHING ist NP-vollständig. ■ Besitzen alle Literale einer Klausel den gleichen Wert, so läßt sich das Klauseldreieck nicht färben Komplexitätstheorie | NP-vollständige Probleme (3) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Komplexitätstheorie | NP-vollständige Probleme (3) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Matching (2/12) 21 Matching (4/12) 23 Satz: Beweisen: 3-SAT < TRIPARTITE MATCHING ■ TRIPARTITE MATCHING ist NP-vollständig. Beweis: Zeigen 3-SAT < TRIPARTITE MATCHING Beispiel für Ti = ■ Sei F eine KNF über den Variablen x1 , ..., xn mit den Klauseln C1 , ..., Cm ■ Konstruieren disjunkte Mengen M , W, H mit □ #M= #W = #H = mn und □ T(F) M x W x H mit T(F) beinhaltet tripartites Matching F ist erfüllbar Komplexitätstheorie | NP-vollständige Probleme (3) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Komplexitätstheorie | NP-vollständige Probleme (3) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Matching (3/12) Matching (5/12) 22 24 Beweisen: 3-SAT < TRIPARTITE MATCHING Beweisen: 3-SAT < TRIPARTITE MATCHING Bauen T(F) gemäß F auf aus Tripeln der drei folgenden Klassen: Setzen nun: ■ Ti - Truth Setting: Hat xi in allen Klausen den gleichen Wert ? ■ Sj - Satisfaction Testing: Ist Klausel j erfüllt ? ■ G - Garbage Collection: Sorgt dafür, daß das Matching aufgeht Setzten Jedes Matching T* schließt genau m Tripel aus T i ein, entweder xi = 1 Komplexitätstheorie | NP-vollständige Probleme (3) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Komplexitätstheorie | NP-vollständige Probleme (3) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Matching (6/12) Matching (8/12) 25 27 Beweisen: 3-SAT < TRIPARTITE MATCHING Beweisen: 3-SAT < TRIPARTITE MATCHING ■ Insgesamt ergibt sich: Sj entspricht jeweils einer Klausel F und formt 3 Tripel mit und Jedes Matching T* enthält exakt ein Tripel aus S j , und zwar das zu einem uij (bzw. –uij ) für ein xi ( -xi ) das nicht in T* Ti vorkommt. Das ist genau dann der Fall, wenn die durch T* ermittelte Belegung gerade die Klauseln Cj erfüllt ■ M, W, H besitzen genau 2mn Elemente, ■ T hat 2nm + 3m + 2mn(mn-m) Tripel Komplexitätstheorie | NP-vollständige Probleme (3) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Komplexitätstheorie | NP-vollständige Probleme (3) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Matching (7/12) Matching (9/12) 26 28 Beweisen: 3-SAT < TRIPARTITE MATCHING Beweisen: 3-SAT < TRIPARTITE MATCHING Für G gilt: Behauptung: F ist erfüllbar T beinhaltet ein Matching () : Sei t ein erfüllende Belegung für F ■ Konstruieren nun ein Machting T* T ■ Hierbei müssen die g1k , g2k mit denjenigen uij (-uij) gematcht werden, die nicht in den Tripel von T` - G auftauchen und von denen es genau m(n-1) geben muß ■ T* - G sorgt dafür, daß die Bedingungen bzgl. der Wertebelegungen erfüllt werden können, und ■ G dient zur Erfüllung des Matchings Komplexitätstheorie | NP-vollständige Probleme (3) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Komplexitätstheorie | NP-vollständige Probleme (3) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Matching (10/12) Matching (12/12) 29 31 Konstruieren ein Machting T* T: Beweisen: 3-SAT < TRIPARTITE MATCHING ■ Ist Cj erfüllt, so ist für ein i xi oder -xi aus Cj erfüllt ■ Nehmen zu T* bzw. erfüllenden Belegung von xi in der Klausel Cj entsprechend der insgesamt n Tripel ■ Nehmen zu T* bzw. entsprechend der komplementären erfüllenden Belegung für xi = 0 bzw. xi = 1 Zeit- / Raumbedarf: ■ Konstruktion der Menge verläuft straightforward: □ zu Formel der Länge 3m sind 2nm + 3m + 2mn(mn - m) Tripel zu konstruieren, was in polynomialer Zeit möglich ist ■ Benötigen Zähler für jedes Tripelelement, d.h. □ Raum < O(log mn) , also Logspace insgesamt mn Tripel ■ Ergänzen Tripel aus G, so daß Matching erfüllt wird insgesamt mn-n Tripel Insgesamt gilt #T* = n + mn + (mn – n) = 2mn und T* ist das gesuchte Matching Komplexitätstheorie | NP-vollständige Probleme (3) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Komplexitätstheorie | NP-vollständige Probleme (3) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Matching (11/12) 30 Beweisen: 3-SAT < TRIPARTITE MATCHING Behauptung: C ist erfüllbar T beinhaltet ein Matching () : Sei T` ein Matching ■ Konstruieren erfüllende Belegung für C : Vorlesungen zur Komplexitätstheorie: Weitere NP-vollständige Probleme (3) Univ.-Prof. Dr. Christoph Meinel Nach Konstruktion des Matchings in Bezug auf die Sj erfüllt die Hasso-Plattner-Institut definierte Belegung alle Klauseln Cj und damit C Universität Potsdam, Deutschland Komplexitätstheorie | NP-vollständige Probleme (3) | Prof. Dr. Christoph Meinel | Sommersemester 2012