Weitere NP-vollständige Probleme (2)

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