Vorlesungen zur Komplexitätstheorie: Weitere NP

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