Weitere NP-vollständige Probleme (4)

Werbung
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
Herunterladen