Erinnerung (1/6) 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 (Klasse der) vollständigen Probleme in NP Vorlesungen zur Komplexitätstheorie: Weitere NP-vollständige Probleme (4) ■ 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 (4) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Vorlesungen zur Komplexitätstheorie 2 Erinnerung (2/6) 4 Konzepte der Komplexitätstheorie Die Klassen P und NP ■ NP-Vollständigkeit Hatten zu Anfang die NP-Vollständigkeit von ■ SAT (Erfüllbarkeitsproblem für KNF) und ■ CIRCUIT SAT (Schaltkreiserfüllbarkeit) ■ Weiter Charakterisierungen von NP nachgewiesen: ■ Weitere NP-vollständige Probleme (4) Cook‘sches Theorem: ■ NP und co-NP ■ Randomisierte Berechnungen ■ Polynomialzeithierarchie ■ Approximation ■ Polynomiale Schaltkreise ■ P vs. NP Klassen jenseits und innerhalb von NP Komplexitätstheorie | NP-vollständige Probleme (4) | Prof. Dr. Christoph Meinel | Sommersemester 2012 ■ SAT und CIRCUIT SAT sind NP-vollständig. Hatten Beweis in folgenden Schritten geführt: ■ SAT NP - durch Angabe eines Algorithmus ■ CIRCUIT SAT < SAT - durch Angabe einer Reduktion ■ für jedes A NP gilt - mit Hilfe der A < CIRCUIT SAT Berechnungstabellenmethode Komplexitätstheorie | NP-vollständige Probleme (4) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Erinnerung (3/6) 5 Erinnerung (5/6) 7 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: Hatten weiterhin die NP-Vollständigkeit einer Reihe von wichtigen Pfad-Problemen und Färbungsproblemen in Graphen sowie von Mengenproblemen nachgewiesen: Satz: Satz: ■ Die folgenden SAT-Varianten sind sämtlich NP-vollständig: ■ Die folgenden Graphprobleme 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 !) □ HAMILTON PATH □ MAX-2-SAT □ 3-COLORING □ NAE-SAT □ TRIPARTITE MATCHING □ TRAVELING SALESMAN TSP(D) Komplexitätstheorie | NP-vollständige Probleme (4) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Komplexitätstheorie | NP-vollständige Probleme (4) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Erinnerung (4/6) Erinnerung (6/6) 6 8 Hatten dann die NP-Vollständigkeit einer Reihe von wichtigen Graphproblemen nachgewiesen: Satz: ■ Die folgenden Graphprobleme sind sämtlich NP-vollständig: □ INDEPENDENT SET □ CLIQUE □ NODE COVER □ MAX CUT ( aber MIN CUT gehört zu P !) □ MAX BISECTION , MIN BISECTION Komplexitätstheorie | NP-vollständige Probleme (4) | Prof. Dr. Christoph Meinel | Sommersemester 2012 TRIPARTITE MATCHING hatte dabei die folgende Gestalt: TRIPARTITE MATCHING: ■ Eingabe: □ Drei Mengen M , W, H - Männer, Frauen, Häuser - mit #M = #W = #H = n und T MxWxH ■ Frage: □ Existieren in T n Tripel, so daß keine zwei Tripel eine gemeinsame Komponente haben - jeder Mann hat eine „eigene“ Frau und ein eigenes Haus ... Komplexitätstheorie | NP-vollständige Probleme (4) | Prof. Dr. Christoph Meinel | Sommersemester 2012 SET COVER (1/5) 9 SET COVER (3/5) 11 Wir wollen nun die NP-Vollständigkeit von einigen bekannten Set-Cover-Problemen nachweisen: EXACT COVER BY 3-SETS: ■ Eingabe: SET COVER: □ F = { S1 ,..., Sn } Familie von Teilmengen eines endlichen ■ Eingabe: Universums U mit #U = 3m und #Si = 3 , i = 1,… n □ F = { S1 ,..., Sn } Familie von Teilmengen eines endlichen ■ Frage: Universums U □ Gibt es m paarweise disjunkte Mengen □ k natürliche Zahl ■ Frage: □ Gibt es k Mengen Komplexitätstheorie | NP-vollständige Probleme (4) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Komplexitätstheorie | NP-vollständige Probleme (4) | Prof. Dr. Christoph Meinel | Sommersemester 2012 SET COVER (2/5) SET COVER (4/5) 10 12 SET PACKING: ■ Eingabe: □ F = { S1 ,..., Sn } Familie von Teilmengen eines endlichen Universums U □ K natürliche Zahl ■ Frage: □ Gibt es k paarweise disjunkte Mengen Satz: ■ Die drei Probleme SET COVER, SET PACKING und EXACT COVER BY 3-SETS sind NP-vollständig. Beweis: Können Probleme leicht in NP lösen. (1) Zeigen TRIPARTITE MATCHING < EXACT COVER BY 3-SETS Idee: TRIPARTITE MATCHING ist ein Spezialfall von EXACT COVER BY 3-SETS: ■ Menge F hat die folgenden Eigenschaften: □ U kann in drei gleichgroße Mengen M, W, H zerlegt werden, so daß jede Menge aus F jeweils ein Element von M, W, H enthält ... Komplexitätstheorie | NP-vollständige Probleme (4) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Komplexitätstheorie | NP-vollständige Probleme (4) | Prof. Dr. Christoph Meinel | Sommersemester 2012 SET COVER (5/5) INTEGER PROGRAMMING (2/4) 13 15 Satz: Satz: INTEGER PROGRAMMING ist NP-vollständig. ■ Die drei Probleme SET COVER, SET PACKING und EXACT COVER BY 3-SETS sind NP-vollständig. Beweis: Es läßt sich zeigen, daß INTERGER PROGRAMMING zu NP gehört. Beweis: Zeigen zum Nachweis der Vollständigkeit SET COVER < INTEGER PROGRAMMING: (2) Zeigen EXACT COVER BY 3-SETS < SET COVERING ■ Können SET COVER Problem als INTEGER PROGRAMMING Problem schreiben: Idee: EXACT COVER BY 3-SETS ist ein Spezialfall von SET COVERING mit □ Sei F = { S1 ,..., Sn } Familie von Teilmengen eines Universums k = m, #U = 3m, # Si = 3 für alle U = {u1 , ..., um } und k eine natürliche Zahl ■ Beschreiben Auswahl von Mengen durch Vektor xT = ( x1 , ..., xn ) (3) Zeigen analog EXACT COVER BY 3-SETS < SET PACKING Komplexitätstheorie | NP-vollständige Probleme (4) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Komplexitätstheorie | NP-vollständige Probleme (4) | Prof. Dr. Christoph Meinel | Sommersemester 2012 INTEGER PROGRAMMING (1/4) INTEGER PROGRAMMING (3/4) 14 16 INTEGER PROGRAMMING (ganzzahlige Optimierung): Beweisen: SET COVER < INTEGER PROGRAMMING ■ Bauen Matrix A auf aus den Bitvektoren der einzelnen Si ■ Eingabe: □ Ganzzahlige n x m Matrix A , zwei Vektoren und ein ganzzahliges k ■ Frage: □ Gibt es eine ganzzahlige Lösung, d.h. einen ganzzahligen n-Vektor x mit und setzen c = (1) = (1, ..., 1) und b = (1) = (1, ..., 1) Behauptung: (i) Ax > (b) (eigentlich - Ax < (-1) ) (ii) cx = x1 + ... + xn < k (iii) 0 < xi < 1 für alle i Komplexitätstheorie | NP-vollständige Probleme (4) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Komplexitätstheorie | NP-vollständige Probleme (4) | Prof. Dr. Christoph Meinel | Sommersemester 2012 INTEGER PROGRAMMING (4/4) 17 KNAPSACK (2/6) 19 Beweisen: SET COVER < INTEGER PROGRAMMING Entscheidungsvariante: Beispiel: KNAPSACK(D): ■ Eingabe: □ Ganze Zahlen W , k n Gegenstände Si mit ganzzahligem Gewicht wi und Wert vi ■ Frage: □ Auswahl von Gegenständen mit Komplexitätstheorie | NP-vollständige Probleme (4) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Komplexitätstheorie | NP-vollständige Probleme (4) | Prof. Dr. Christoph Meinel | Sommersemester 2012 KNAPSACK (1/6) KNAPSACK (3/6) 18 20 Ein berühmtes NP-vollständiges Problem ist das KNAPSACK-Problem: ■ KNAPSACK(D) ist NP-vollständig. KNAPSACK (Rucksackproblem): ■ Eingabe: Beweis: □ Ganze Zahlen W n Gegenstände Si mit ganzzahligem Gewicht wi und Wert vi ■ Frage: □ Auswahl maximalem Wert Satz: ■ Betrachten lediglich Spezialfall mit w i = vi für alle i und W = k : ■ Zahlentheoretisch Umformung: □ Können zu gegebenem ganzen k aus n ganzen Zahlen w1, ..., wn m Zahlen so auswählen, von Gegenständen mit Komplexitätstheorie | NP-vollständige Probleme (4) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Komplexitätstheorie | NP-vollständige Probleme (4) | Prof. Dr. Christoph Meinel | Sommersemester 2012 KNAPSACK (4/6) KNAPSACK (6/6) 21 23 Beweisen: KNAPSACK(D) ist NP-vollständig. Beweisen: EXACT COVER BY 3-SETS < KNAPSACK(D) : Zeigen: EXACT COVER BY 3-SETS < KNAPSACK(D) : Achtung: Es entsteht ein Übertragsproblem, z.B. ■ Sei Eingabe für EXACT COVER BY 3-SETS ■ Suchen Auswahl von m paarweise disjunkten Mengen Ausweg: Betrachten anstelle von Bitvektoren Vektoren mit Komponenten aus {0, 1, 2, ..., 3m} - also als (3m+1)-äre Zahlen … Komplexitätstheorie | NP-vollständige Probleme (4) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Komplexitätstheorie | NP-vollständige Probleme (4) | Prof. Dr. Christoph Meinel | Sommersemester 2012 KNAPSACK (5/6) BIN PACKING (1/10) 22 24 Beweisen: EXACT COVER BY 3-SETS < KNAPSACK(D) : ■ Repräsentieren durch den Bitvektoren Als letztes Beispiel eines NP-vollständigen Problems betrachten wir BIN PACKING BIN PACKING: ■ Eingabe: □ n Gegenstände mit Gewicht a1 , ..., an und ■ Interpretieren Bitvektoren als Binärzahlen bin( b(Si) ) ■ Dadurch mutiert SET COVER zur Addition von ganzen Zahlen … ■ Suchen Zahlen (Teilmengen) b Kisten mit Kapazität C ■ Frage: □ Können Gegenstände so auf die b Kisten verteilt werden, daß jede Kiste Gewicht C hat, oder mathematisch: □ Kann {a1 , ..., an } so in b Teilmengen K1 , ..., Kb zerlegt werden, daß Komplexitätstheorie | NP-vollständige Probleme (4) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Komplexitätstheorie | NP-vollständige Probleme (4) | Prof. Dr. Christoph Meinel | Sommersemester 2012 BIN PACKING (2/10) 25 BIN PACKING (4/10) 27 Satz: Zeigen: TRIPARTITE MATCHING < BIN PACKING ■ BIN PACKING ist NP-vollständig. ■ Legen jetzt Gewichte der einzelnen Gegenstände fest: Beweis: Zeigen TRIPARTITE MATCHING < BIN PACKING Sei M eine sehr große Zahl, z.B. M = 100 n ■ Sei Eingabe für TRIPARTITE MATCHING gegeben mit M = { m1 , ..., mn } , W = { w1 , ..., wn } , H = { h1 , ..., hn } , T = { t1 , ..., tm } MxWxH ■ Konstruieren daraus Eingabe für BIN PACKING mit n = 4m Gegenständen: □ Nehmen einen Gegenstand für jedes Tripel □ Nehmen einen Gegenstand für jedes Vorkommen eines Elementes aus M, W bzw. H in einem Tripel Komplexitätstheorie | NP-vollständige Probleme (4) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Komplexitätstheorie | NP-vollständige Probleme (4) | Prof. Dr. Christoph Meinel | Sommersemester 2012 BIN PACKING (3/10) BIN PACKING (5/10) 26 28 Zeigen TRIPARTITE MATCHING < BIN PACKING Konstruieren Eingabe für BIN PACKING mit n = 4m Gegenständen: ■ Bezeichnen Gegenstände, die mit Vorkommen eines Elementes e aus M bzw. W bzw. H in den Tripeln korrespondieren, mit e(1) , e(2) , ... e(s) , je nach dem, um das wievielte Vorkommen von e es sich handelt □ s ist maximale Anzahl der Vorkommen ■ Bezeichnen Gegenstände, die mit Tripeln korrespondieren durch tj , 1 < j < m ■ Legen jetzt Gewichte der einzelnen Gegenstände fest … Komplexitätstheorie | NP-vollständige Probleme (4) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Zeigen: TRIPARTITE MATCHING < BIN PACKING ■ Gewichte sind so konstruiert, daß erstes Vorkommen eines Elements in einem Tripel ein vom Rest verschiedenes Gewicht besitzt ... ■ Setzen Kapazität eine Kiste auf C = 40 M4 + 15 und Kistenanzahl auf b = m : □ Kapazitätsfestlegung erlaubt es gerade, in eine Kiste genau ein Tripel und die im Tripel vorkommenden Elemente aufzunehmen, wenn entweder: – ( mi(1), wi(1), hi(1) ) nur erste Vorkommen der Elemente enthält – ( mi(l), wi(m), hi(k) ) kein erstes Vorkommen eines Elements enthält Komplexitätstheorie | NP-vollständige Probleme (4) | Prof. Dr. Christoph Meinel | Sommersemester 2012 BIN PACKING (6/10) 29 BIN PACKING (8/10) 31 Zeigen TRIPARTITE MATCHING < BIN PACKING Behauptung: Eingabe enthält tripartites Matching Gegenstände liefern Lösung für Bin Packing Behauptung: Eingabe enthält tripartites Matching Gegenstände liefern Lösung für Bin Packing () () ■ Eine Kiste enthält also Tripel (mi , wj , hk) zusammen mit den ■ Eingabe sei Lösung für BIN PACKING Elemente mi , wj , hk ■ Gesamtgewicht aller Kisten ist mC, so daß jede Kisten genau Gewicht C besitzt ■ Bei allen Elementen muß es sich dabei um das erste Vorkommen mi(1), wj(1), hk(1) handeln oder um ein späteres Vorkommen ■ Jede Kiste muß 4 Gegenstände enthalten und es gilt: C mod M = 15 mi(l), wj(m), hk(n) ■ 15 läßt sich aus 4 Komponenten der Reste 8, 4, 2, 1 nur aufbauen als 8 + 4 + 2 + 1, d.h. jede Kisten enthält genau: ■ Wenn wir l = m = n = 1 setzen, haben wir ein Matching konstruiert □ ein Tripel ( Rest 8 ) □ je ein Element aus M, W, H ( Reste 4, 2, 1) Komplexitätstheorie | NP-vollständige Probleme (4) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Komplexitätstheorie | NP-vollständige Probleme (4) | Prof. Dr. Christoph Meinel | Sommersemester 2012 BIN PACKING (7/10) BIN PACKING (9/10) 30 32 Behauptung: Eingabe enthält tripartites Matching Gegenstände liefern Lösung für Bin Packing Behauptung: Eingabe enthält tripartites Matching Gegenstände liefern Lösung für Bin Packing () () ■ Fragen nun welches Tripel ( mi , wj , hk ) und welche Elemente mi‘ , wj‘ , hk‘ in einer Kisten enthalten sind: □ wegen C mod M2 = 15 kürzt sich beim Aufsummieren der Summand von M weg, d.h. i = i‘ □ wegen C mod M3 = 15 kürzt sich der Summand von M2 weg, d.h. j = j‘ □ wegen C mod M4 = 15 kürzt sich der Summand von M3 weg, d.h. k = k‘ Komplexitätstheorie | NP-vollständige Probleme (4) | Prof. Dr. Christoph Meinel | Sommersemester 2012 ■ Gehen von Eingabe für TRIPARTITE MATCHING aus, bei der Matching existiert ■ Nehmen Tripel aus Matching zusammen mit den Gegenständen, die dessen einzelnen Bestandteilen zugeordnet sind und packen diese zusammen in eine Kiste ■ Legen fest, daß sich in den Tripeln des Matching jeweils nur erste Vorkommen der Bestandteile befinden sollen ■ Erhalten gemäß Konstruktion und Gewichtszuweisungen ein Bin Packing … Komplexitätstheorie | NP-vollständige Probleme (4) | Prof. Dr. Christoph Meinel | Sommersemester 2012 BIN PACKING (10/10) 33 Behauptung: Eingabe enthält tripartites Matching Gegenstände lefern Lösung für Bin Packing Zeit- / Raumanalyse: ■ Die Gewichte, die den einzelnen Gegenständen zugewiesen werden, besitzen sämtlich polynomiale Größe O(n4) in Länge der Eingabe ■ Zwischenspeicherung kann deshalb in Logspace bewerkstelligt werden Komplexitätstheorie | NP-vollständige Probleme (4) | Prof. Dr. Christoph Meinel | Sommersemester 2012 Vorlesungen zur Komplexitätstheorie: Weitere NP-vollständige Probleme (4) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland