Berechenbarkeit und Komplexit¨at Vorlesung 15
Prof. Dr. Wolfgang Thomas Lehrstuhl Informatik 7
RWTH Aachen
5. Januar 2015
Problem COLOR( k )
Erinnerung: COLOR(3)
Gegeben: Ungerichteter GraphG = (V,E)
Frage: Kann man mit drei Farben die Knoten so f¨arben, dass durch eine Kante verbundene Knoten verschiedene Farben tragen?
Allgemeiner Problem COLOR(k)
Gegeben: Ungerichteter Graph G = (V,E)
Frage: Kann man mit k Farben die Knoten so f¨arben, dass durch eine Kante verbundene Knoten jeweils verschiedene Farben tragen?
(Ist dies m¨oglich, heißt der Graph k-f¨arbbar).
Kodierung durch SpracheLk ={code(G)|G istk-f¨arbbar}
Weiteres Beispiel: CLIQUE
Problem
CLIQUE Gegeben: Ungerichteter Graph G = (V,E) , Zahl k in Bin¨ardarstellung
Frage: Gibt es eine Teilmenge V0⊆V , die eine Clique bildet, d.h.
f¨ur die gilt: Sind x,y ∈V0, x 6=y , so gilt(x,y)∈E ? (Der durch V0 induzierte Graph ist also vollst¨andig.)
Probieralgorithmus: Gehe alle m¨oglichenV0 mit|V0|=k durch und pr¨ufe jeweils, ob eine Clique vorliegt.
Ist|V|=n, so ist die Anzahl derV0 mitk Knoten:
n·(n−1)·(n−2)·. . .(n−k+ 1), also exponentiell ink
NTM
Wie kann man die Probieralgorithmen durch ein allgemeines Berechnungsmodell erfassen?
Wir f¨uhren dazu nichtdeterministische Turingmaschinen (NTM) ein.
Format:M = (Q,Σ,Γ,q0,¯q,∆)
wobei bis auf ∆ alle Komponenten wie bei TM definiert sind und ∆⊆(Q\ {¯q})×Γ×Q×Γ× {L,R,N}
(p,a,p′,a′,d)∈∆ besagt:
im Zustandp mit aauf dem Arbeitsfeld ist es erlaubt, a′ zu drucken, das Arbeitsfeld umd zu verschieben und in Zustand p′ zu gehen.
F¨ur KonfigurationenK =uqv,K′ =u′q′v′ schreiben wirK ⊢K′, fallsM in einem Schritt vonK nach K′ ¨ubergehen kann.
Akzeptieren durch NTM
Eine Berechnung (Rechenweg) f¨ur die Eingabew ist eine Folge K0, . . . ,Kℓ mitK0=q0w,Ki ⊢Ki+1 f¨uri < ℓ undKℓ eine Endkonfiguration, d.h. von der Formuqv¯ .
Erinnerung:Kℓ heißt akzeptierend, wenn das Arbeitsfeld das Symbol 1 tr¨agt.
M akzeptiertw, falls es einen Rechenweg von q0w in eine akzeptierende Endkonfiguration gibt.
L(M) ist die Menge der durch M akzeptierten W¨orter.
Man kann zeigen: Die durch NTM akzeptierten Sprachen sind die rekursiv aufz¨ahlbaren Sprachen.
Definition der Laufzeit
SeiM eine NTM. Die Laufzeit von M auf einer Eingabex ∈L(M) ist definiert als
TM(x) := L¨ange des k¨urzesten akzeptierenden Rechenweges vonM aufx .
F¨urx 6∈L(M) definieren wir TM(x) = 0.
Die worst case LaufzeittM(n) f¨ur M auf Eingaben der L¨ange n∈Nist definiert durch
tM(n) := max{TM(x) |x∈Σn} .
Definition der Klasse NP
Definition (Komplexit¨atsklasse NP)
NPist die Klasse der Entscheidungsprobleme, die durch eine NTM M erkannt werden, deren worst case Laufzeit tM(n) polynomiell beschr¨ankt ist.
NP steht dabei f¨urnichtdeterministisch polynomiell.
Beispiel f¨ur ein Problem aus NP
Satz
CLIQUE∈NP.
Beweis:Wir beschreiben eine NTM M mitL(M) = CLIQUE:
1 Syntaktisch inkorrekte Eingaben werden verworfen.
2 M
”r¨at“ einen 0-1-String y der L¨ange |V|.
3 Sei C ={i ∈V|yi = 1} ⊆V.
4 M akzeptiert, falls C ausk Knoten besteht und jedes Knotenpaar aus C durch eine Kante verbunden ist.
Korrektheit:Es gibt genau dann einen akzeptierenden Rechenweg, wennG eine k-Clique enth¨alt.
Laufzeit:Alle Schritte haben polynomielle Laufzeit.
Etwas mehr Detail
Wir denken uns den Graphen ¨uberV ={1, . . . ,n} kodiert durch seine Adjazenzmatrix, zeilenweise notiert, und anschließendk in Bin¨ardarstellung:
c11. . .c1n#c21. . .c2n#. . .#cn1. . .cnn##bin(k) mitcij ∈ {0,1}.
Das “Raten vonC kann so erfolgen:
Die NTM druckt das Wort #n|vor dem Input und geht auf das erste # in Zustand p.
Sie erzeugt durch ¨Uberdrucken dern Symbole # mit 0 bzw 1 nichtdeterministisch alle Bitw¨ortery der L¨ange n, mit Hilfe folgender Transitionen
(p,#,p,0,R),(p,#,p,1,R),(p,|,p0,|R)
Das Worty=y1. . .yn definiert dann C ={i ∈V |yi = 1}
Alternative Charakterisierung der Klasse NP
Satz
Eine Sprache L⊆Σ∗ ist genau dann in NP, wenn es einen
Polynomialzeitalgorithmus V (einen sogenanntenVerifizierer) und ein Polynom p mit der folgenden Eigenschaft gibt:
x ∈L ⇔ ∃y ∈ {0,1}∗,|y| ≤p(|x|) :V akzeptiert y#x.