Formale Sprachen und Komplexit¨ at
Sommersemester 2019
Komplexit¨ atstheorie, Teil I:
Laufzeitkomplexit¨ at, P und N P , N P -Vollst¨ andigkeit, Satz von Cook
Prof. Dr. David Sabel
LFE Theoretische Informatik
Letzte ¨Anderung der Folien: 17. Juli 2019
Inhalt
Einleitung: Was ist Komplexit¨ atstheorie?
Zeitkomplexit¨ at
Komplexit¨ atsklassen P und N P Das P -vs-N P -Problem
Polynomielle Reduktionen und N P -Vollst¨ andigkeit Satz von Cook: N P -Vollst¨ andigkeit von SAT
TCS | 11 Komplexit¨atstheorie I | SoSe 2019 2/42 Einleitung Zeitkomplexit¨at P N P N P-Vollst. SAT
Komplexit¨ atstheorie
Teilgebiet der Theoretischen Informatik
Grobes Thema: Komplexit¨ at von entscheidbaren Problemen Maße zum Messen des Ressourcenbedarfs von Algorithmen
Rechenzeit Platzbedarf . . .
Komplexit¨ at eines Problems = Komplexit¨ at des besten Algorithmus bez¨ uglich des Maßes
Ziel: Einordnung von Problemen in Komplexit¨ atsklassen
Komplexit¨ atstheorie: Teilbereiche
1
Nachweis von oberen Schranken:
Finde m¨ oglichst guten Algorithmus f¨ ur konkretes Problem Analysieren der Laufzeit- und Platzkomplexit¨ at
z.B. CYK-Algorithmus liefert obere Schranke O(|P | · n 3 ) f¨ ur das Wortproblem f¨ ur CFGs (mit n = Wortl¨ ange, P Produktionen der CFG)
2
Nachweis von unteren Schranken:
Zeige, dass es keinen besseren Algorithmus gibt.
Schwieriger, da man ¨ uber alle Algorithmen argumentieren muss.
Oft ist Ω(n) (n = Gr¨ oße der Eingabe) eine untere Schranke f¨ ur die Laufzeit, da man die Eingabe lesen muss.
3
Auswirkung der Maschinenmodelle auf den Ressourcenbedarf, insbesondere Determinismus vs. Nichtdeterminismus
Wichtige ungel¨ oste Frage: Das P vs. N P -Problem
Wir besch¨ aftigen uns in diesem Abschnitt hiermit.
Zeitkomplexit¨ at: Annahmen und Festlegungen
Wir betrachten nur entscheidbare Sprachen
Deswegen keine Einschr¨ ankung: TMs, die auf jeder Eingabe anhalten:
DTMs: Wir nehmen an, dass es
” Verwerfe“-Zust¨ ande gibt, f¨ ur die die TM keine Nachfolgekonfiguration besitzen.
NTMs: Haben solche Zust¨ ande von Haus aus Mehrband- vs. Einband-TMs:
Wir nehmen Mehrband-TMs, passen zu
” normalen“ Rechnern.
Kein ” Vergeuden“ von Rechenzeit, nur um die Eingaben zu suchen.
Unterschied: n-Schritte auf Mehrband-TM k¨ onnen in
O(n 2 ) Schritten auf Einband-TM ausgef¨ uhrt werden Unterschied macht sich in Komplexit¨ atsklassen P und N P nicht bemerkbar (s. sp¨ ater)
TCS | 11 Komplexit¨atstheorie I | SoSe 2019 5/42 Einleitung Zeitkomplexit¨at P N P N P-Vollst. SAT
Deterministische Laufzeit
Definition (time M )
Sei M eine stets anhaltende DTM mit Startzustand z 0 . F¨ ur Eingabe w definieren wir
time M (w) := i, wenn z 0 w ` i M uzw und
z ist Endzustand oder Verwerfe-Zustand.
Definition (Klasse TIME (f(n)))
F¨ ur eine Funktion f : N → N sei die Klasse TIME (f(n)) genau die Menge der Sprachen, f¨ ur die es eine deterministische, stets anhaltende, Mehrband-TM M gibt, mit L(M ) = L und time M (w) ≤ f (|w|) f¨ ur alle w ∈ Σ ∗
Sprache ist daher in TIME (f (n)), wenn sie von einer DTM f¨ ur jede Eingabe der L¨ ange n in ≤ f(n) Schritten entschieden wird.
TCS | 11 Komplexit¨atstheorie I | SoSe 2019 6/42 Einleitung Zeitkomplexit¨at P N P N P-Vollst. SAT
Die Klasse P
Definition (Polynom)
Ein Polynom ist eine Funktion p : N → N der Form:
p(n) =
k
X
i=0
a i · n i = a k n k + a k−1 n k−1 + · · · + a 1 n + a 0
mit a i ∈ N und k ∈ N .
Definition (Komplexit¨ atsklasse P ) Die Klasse P ist definiert als
P = [
p Polynom
TIME (p(n))
Nochmal: Zugeh¨ origkeit zu P
Formale Sprache L ist in Klasse P enthalten, wenn:
Es gibt stets anhaltende DTM M und ein Polynom p mit:
L = L(M)
∀w ∈ Σ ∗ : time M (w) ≤ p(|w|)
Polynomielle Komplexit¨ at
Nachweis der polynomiellen Komplexit¨ at:
Zeige, dass die Komplexit¨ at O(n k ) f¨ ur Konstante k ist.
Beispiele: Algorithmus mit Laufzeit
n log n hat polynomielle Komplexit¨ at, da n log n ∈ O(n 2 ) 2 n hat keine polynomielle Komplexit¨ at
n log n hat keine polynomielle Komplexit¨ at Sprechweisen:
Algorithmus ist effizient = Algorithmus hat polynomielle Komplexit¨ at
Analog: Problem ist effizient l¨ osbar = Problem in P
TCS | 11 Komplexit¨atstheorie I | SoSe 2019 9/42 Einleitung Zeitkomplexit¨at P N P N P-Vollst. SAT
Polynomielle Komplexit¨ at: Andere Modelle
Sei M eine DTM mit time M (w) ≤ f (|w|).
Analyse unserer ¨ Aquivalenzbeweise zeigt:
TMs k¨ onnen durch GOTO-Programme simuliert werden, konstant viele Schritte, um einen TM-Schritt zu simulieren GOTO in WHILE: Anzahl der Durchl¨ aufe durch die einzige WHILE-Schleife nicht gr¨ oßer als f (|w|)
WHILE evtl. sogar durch LOOP:
y := f (|w|); LOOP y DO . . . END, wenn f LOOP-berechenbar
Wenn f selbst LOOP-berechenbar ist, dann sind auch Funktionen mit Laufzeitkomplexit¨ at f(n) LOOP-berechenbar.
Daher TIME (2 n ) oder sogar TIME (2 2
2...2
| {z }
n-mal
) noch in der Klasse der LOOP-berechenbaren Funktionen.
TCS | 11 Komplexit¨atstheorie I | SoSe 2019 10/42 Einleitung Zeitkomplexit¨at P N P N P-Vollst. SAT
Kostenmaße
Konsequenz der vorherigen Aussagen:
I.a. asymptotisch kein Unterschied, ob Turingmaschine, WHILE-Programm oder GOTO-Programm
Vorsicht: Falle!
In x i := x j d¨ urfen die Zahlen nicht zu groß werden (bei uniformen Kostenmaß)
Uniformes Kostenmaß:
Ausf¨ uhrung von x i := x j in konstanter Zeit (1 Schritt) Logarithmisches Kostenmaß:
Ausf¨ uhrung von x i := x j in Anzahl der Bits (| log x j |-Schritte) Turingmaschine muss so viele Bits kopieren!
Daher bei großen Zahlen logarithmisches Kostenmaß verwenden.
Beispiel
WHILE-Programm
x 0 := 2;
WHILE x 1 6= 0 DO x 0 := x 0 ∗ x 0 ; x 1 := x 1 − 1;
END
berechnet 2 2
x1in x 0 .
Uniformes Kostenmaß: Laufzeit O(x 1 )
Turingmaschine: mindestens 2 x
1Schritte alleine um das Ergebnis auf das Band zu schreiben.
Hier also: Logarithmisches Kostenmaß verwenden!
Unser Vorgehen: logarithmisches Kostenmaß wenn notwendig,
sonst uniformes Kostenmaß
Nichtdeterminismus
Auf f¨ ur NTMs nehmen wir an, dass sie auf allen Berechnungspfaden anhalten.
Beachte: Ein Wort wird nicht akzeptiert, wenn auf allen Berechnungspfaden verworfen wird
Definition (ntime M )
Sei M eine Mehrband-NTM, die f¨ ur jede Eingabe anh¨ alt. Dann definieren wir die Laufzeit von M als
ntime M (w) = max{i | z 0 w ` i M uzw und uzw 6` . . .}
Beachte: Sch¨ oning verwendet eine andere Definition (mit
Minimum), es macht f¨ ur die Definition der Klasse N P aber keinen Unterschied.
TCS | 11 Komplexit¨atstheorie I | SoSe 2019 13/42 Einleitung Zeitkomplexit¨at P N P N P-Vollst. SAT
NTIME und N P
Definition
F¨ ur eine Funktion f : N → N bezeichne NTIME (f (n)) die Klasse aller Sprachen L, f¨ ur die es eine nichtdeterministische
Mehrband-TM M gibt mit L(M) = L und f¨ ur alle w ∈ Σ ∗ gilt ntime M (w) ≤ f (|w|).
Definition
Die Klasse N P ist definiert als N P = [
p Polynom
NTIME (p(n))
TCS | 11 Komplexit¨atstheorie I | SoSe 2019 14/42 Einleitung Zeitkomplexit¨at P N P N P-Vollst. SAT
P ⊆ N P
Lemma
Es gilt TIME (f (n)) ⊆ NTIME (f (n)) und damit auch P ⊆ N P . Beweis:
DTM als NTM auffassen
ergibt NTM mit einem m¨ oglichen Berechnungspfad.
time M (w) = ntime M (w)
L ∈ TIME (f (n)) = ⇒ L ∈ NTIME (f (n)) P ⊆ N P
P -vs.-N P
Die Frage P = N P oder P 6= N P ist ungel¨ ost!
Das P-vs-N P-Problem ist eines der sieben sogenannten
Millennium-Probleme, die vom Clay Mathematics Institute im Jahr
2000 als Liste ungel¨ oster Probleme der Mathematik herausgegeben
wurde und f¨ ur dessen L¨ osung ein Preisgeld von einer Million US
Dollar ausgelobt wurde.
P-vs.-N P (2)
Wesentlicher Grund, der f¨ ur P 6= N P spricht:
Man m¨ usste f¨ ur P = N P einen Polynomialzeitalgorithmus finden, f¨ ur ein Problem, f¨ ur das bisher nur (deterministische) Exponentialzeitalgorithmen bekannt sind. (*)
Viele haben gesucht, keiner hat einen solchen Algorithmus gefunden.
(*) Begr¨ undung: Folgt sp¨ ater
TCS | 11 Komplexit¨atstheorie I | SoSe 2019 17/42 Einleitung Zeitkomplexit¨at P N P N P-Vollst. SAT
Lage der Komplexit¨ atsklasse (Schema)
alle Sprachen semi-entscheidbar (Typ 0)
entscheidbare Sprachen LOOP-berechenbar
N P P
Dabei unklar, ob N P = P
TCS | 11 Komplexit¨atstheorie I | SoSe 2019 18/42 Einleitung Zeitkomplexit¨at P N P N P-Vollst. SAT
Polynomialzeit-Reduktion
Definition (Polynomialzeit-Reduktion (einer Sprache auf eine andere)) Sei L 1 ⊆ Σ ∗ 1 und L 2 ⊆ Σ ∗ 2 Sprachen. Dann sagen wir L 1 ist auf L 2 polynomiell reduzierbar (geschrieben L 1 ≤ p L 2 ), falls es eine totale und in deterministischer Polynomialzeit berechenbare Funktion f : Σ ∗ 1 → Σ ∗ 2 gibt, sodass f¨ ur alle w ∈ Σ ∗ 1 gilt: w ∈ L 1 ⇐⇒ f (w) ∈ L 2 .
Analogie zu Reduktionen in der Berechenbarkeitstheorie L 1 ≤ L 2 : Zusatz hier: Polynomialzeit!
N¨ achste Analogie:
Berechenbarkeitstheorie: Komplexit¨ atstheorie:
L 1 ≤ L 2 und L 2 (semi-) entscheidbar L 1 ≤ p L 2 und L 2 ∈ (N )P
= ⇒ L 1 (semi-) entscheidbar = ⇒ L 1 ∈ (N )P
Polynomialzeit-Reduktion (Eigenschaften)
Lemma
Falls L 1 ≤ p L 2 und L 2 ∈ P, dann gilt L 1 ∈ P. Ebenso gilt: Falls L 1 ≤ p L 2 und L 2 ∈ N P , dann gilt L 1 ∈ N P.
Beweis:
Sei L 1 ≤ p L 2 und f in Polynomialzeit berechenbar
Sei M f die DTM, die f in Polynomialzeit durch p beschr. berechnet.
Sei L 2 ∈ P, L(M 2 ) = L 2 , wobei Schritte von M 2 ≤ q(|w|) L(M f ; M 2 ) = L 1 , M f ; M 2 h¨ alt stets in Polynomialzeit:
|f (w)| ≤ |w| + p(|w|)
(da M f nicht mehr in p(|w|)-Schritten schreiben kann) M f ; M 2 h¨ ochstens r(|w|) := p(|w|) + q(|w| + p(|w|)) Schritte Es gilt L 1 ∈ P.
F¨ ur N P analog.
Polynomialzeit-Reduktion (Eigenschaften) (2)
Lemma
Die Relation ≤ p ist transitiv, d.h. wenn L 1 ≤ p L 2 und L 2 ≤ p L 3 , dann gilt auch L 1 ≤ p L 3
Analog zum vorherigen Beweis:
Komposition von zwei Polynomen bleibt Polynom.
TCS | 11 Komplexit¨atstheorie I | SoSe 2019 21/42 Einleitung Zeitkomplexit¨at P N P N P-Vollst. SAT
N P -Vollst¨ andigkeit
Definition (N P -Vollst¨ andigkeit)
Eine Sprache L 0 heißt N P-vollst¨ andig, wenn gilt
1
L 0 ∈ N P und
2
L 0 ist N P-hart (manchmal auch N P-schwer genannt):
F¨ ur alle L ∈ N P gilt L ≤ p L 0
N P-vollst¨ andige Probleme sind die schwierigsten Probleme in N P:
N P-H¨ arte besagt, dass man mit dem N P-vollst¨ andigen Problem alle anderen Probleme aus N P (in zus¨ atzlicher deterministischer Polynomialzeit) l¨ osen kann
TCS | 11 Komplexit¨atstheorie I | SoSe 2019 22/42 Einleitung Zeitkomplexit¨at P N P N P-Vollst. SAT
N P -Vollst¨ andigkeit beweisen
Nachweis der N P-Vollst¨ andigkeit von L
Zugeh¨ origkeit zu N P: Gebe polynomiell Laufzeit-beschr¨ ankte NTM an, die L entscheidet
N P-H¨ arte: Statt jedes mal neu zu beweisen, dass alle Probleme aus N P auf L polynomiell reduzierbar, w¨ ahle ein N P-hartes Problem L 0 und zeige L 0 ≤ p L.
Dann folgt L ist N P -hart:
Da L 0 N P-hart gilt L 0 ≤ p L 0 f¨ ur alle L ∈ N P und damit L 0 ≤ p L 0 ≤ p L und mit Transitivit¨ at von ≤ p :
L 0 ≤ p L f¨ ur alle L 0 ∈ N P .
Komplett analog zum Vorgehen wie bei der Unentscheidbarkeit, wesentlicher Unterschied: Polynomialzeit-Reduktion
Satz
Sei L ein N P-vollst¨ andiges Problem. Dann gilt L ∈ P ⇐⇒ P = N P.
Beweis:
Sei L N P-vollst¨ andig und L ∈ P Aus N P-H¨ arte von L folgt:
F¨ ur alle L 0 ∈ N P: L 0 ≤ p L und damit L 0 ∈ P.
Da dies f¨ ur alle L 0 ∈ N P gilt, folgt P = N P .
Also: Es reicht aus f¨ ur ein N P -vollst¨ andiges Problem
nachzuweisen, dass es in P bzw. nicht in P liegt, um die
P-vs-N P-Frage ein f¨ ur allemal beantworten.
Vermutete Lage der Probleme
N P
P N P-vollst.
Es ist bekannt (Ladner 1975):
Unter der Annahme P 6= N P gibt es Probleme in N P gibt, die nicht in P liegen und nicht N P -vollst¨ andig sind.
M¨ oglicher Kandidat:
Graph-Isomorphismus-Problem. Weder ein polynomieller Algo- rithmus noch dessen N P -Vollst¨ andigkeit bekannt.
TCS | 11 Komplexit¨atstheorie I | SoSe 2019 25/42 Einleitung Zeitkomplexit¨at P N P N P-Vollst. SAT
SAT-Problem
Wir brauchen ein erstes Problem, dessen N P-Vollst¨ andigkeit wir per Hand nachweisen m¨ ussen.
Daf¨ ur nehmen wir das SAT-Problem.
Definition (SAT-Problem)
Das Erf¨ ullbarkeitsproblem der Aussagenlogik (kurz SAT) ist:
gegeben: Eine Aussagenlogische Formel F
gefragt: Ist F erf¨ ullbar, d.h. gibt es eine erf¨ ullende Belegung der Variablen mit den Wahrheitswerten 0 und 1, sodass F den Wert 1 erh¨ alt.
Als formale Sprache:
SAT = {code(F ) ∈ Σ ∗ | F ist erf¨ ullbare Formel der Aussagenlogik}
TCS | 11 Komplexit¨atstheorie I | SoSe 2019 26/42 Einleitung Zeitkomplexit¨at P N P N P-Vollst. SAT
SAT ∈ N P
Lemma SAT ∈ N P Beweis:
code(F ) Eingabe einer NTM M
M berechnet, welche Variablen in F vorkommen Sei dies {x 1 , . . . , x n }.
M verwendet Nichtdeterminismus, um Belegung I : {x 1 , . . . , x n } → {0, 1} zu
” raten“
Jede der 2 n n.d. Berechnungen berechnet Wert von I(F ) Akzeptanz bei 1, sonst verwerfen.
Da jede Belegung ¨ uberpr¨ uft wird, gilt M akzeptiert eine Formel F g.d.w. F ∈ SAT.
Jeder Berechnungspfad von M l¨ auft in Polynomialzeit in
|code(F )|, da die Anzahl der Variablen durch die Eingabegr¨ oße beschr¨ ankt ist.
N P = Polynomiell verifizierbar
Nachweis, dass Sprache in N P-liegt geht oft so wie bei SAT
Verwende Nichtdeterminismus um potentielle L¨ osung zu raten
Zeige, dass eine L¨ osung in Polynomialzeit verifiziert werden
kann.
Hilfssatz f¨ ur den N P -H¨ arte Beweis von SAT
Lemma
F¨ ur aussagenlogische Variablen {x 1 , . . . , x n } gibt es eine aussagenlogische Formel exactlyOne(x 1 , . . . , x n ) sodass
I (exactlyOne(x 1 , . . . , x n )) = 1 g.d.w. I genau eine der Variablen x i auf 1 setzt und alle anderen auf 0.
Dabei ist die Gr¨ oße der Formel exactlyOne(x 1 , . . . , x n ) in O(n 2 ).
Beweis:
exactlyOne(x 1 , . . . , x n ) := (x 1 ∨ . . . ∨ x n ) ∧ ^
1≤i<j≤n
¬(x i ∧ x j )
(x 1 ∨ . . . ∨ x n ) sichert atLeastOne(x 1 , . . . , x n ) zu V
1≤i<j≤n ¬(x i ∧ x j ) sichert atMostOne(x 1 , . . . , x n ) zu Gr¨ oße O(n 2 )
TCS | 11 Komplexit¨atstheorie I | SoSe 2019 29/42 Einleitung Zeitkomplexit¨at P N P N P-Vollst. SAT
N P -H¨ arte von SAT: Ideen
Wir m¨ ussen zeigen:
L ≤ p SAT f¨ ur alle L ∈ N P
Da L ∈ N P, gibt es polynomiell zeitbeschr¨ ankte NTM M , die L akzeptiert.
Erstelle Formel F , sodass F erf¨ ullbar g.d.w. M akzeptiert Da Laufzeit polynomiell beschr¨ ankt, beschr¨ ankt dies auch die Gr¨ oße der Formel und wir haben ≤ p
TCS | 11 Komplexit¨atstheorie I | SoSe 2019 30/42 Einleitung Zeitkomplexit¨at P N P N P-Vollst. SAT
SAT ist N P -hart (1)
Lemma
SAT ist N P-hart.
Beweis: Wir m¨ ussen zeigen: L ≤ p SAT Sei L ∈ N P beliebig.
Sei M die NTM mit L(M ) = L und ntime M (w) ≤ p(|w|).
Sei w eine Eingabe f¨ ur M .
Ziel: Konstruiere aussagenlogische Formel F , sodass gilt w ∈ L ⇐⇒ F ist erf¨ ullbar
Dabei muss F in Polynomialzeit konstruierbar sein.
D.h. wir geben eine in Polynomialzeit berechenbare Funktion f (w) an, sodass w ∈ L ⇐⇒ f(w) ∈ SAT.
SAT ist N P -hart (2)
Eingabe: w = a
1· · · a
n∈ Σ
∗Bandalphabet: Γ = {b
1, . . . , b
l} Zust¨ ande: Z = {z
0, . . . , z
k} Startzustand: z
0Aussagenlogische Variablen in der Formel F : Variable Index-Bereich Bedeutung State t,z t = 0, 1, . . . , p(n)
z = z 0 , . . . , z k
State t,z = 1 g.d.w.
nach t Schritten ist M im Zustand z.
Pos t,i t = 0, 1, . . . , p(n) i = −p(n), . . . , p(n)
Pos t,z = 1 g.d.w. nach t Schritten ist der Schreib-Lesekopf auf Position i Tape t,i,b
t = 0, 1, . . . , p(n) i = −p(n), . . . , p(n) b = b 1 , . . . , b l
Tape t,i,b = 1 g.d.w. nach t Schritten steht in Position i das Zeichen b Bandpositionen: Position 0 am Anfang
Bereiche reichen aus, da die TM nicht mehr als p(n) Schritte macht
SAT ist N P -hart (3)
Aufbau der Formel F :
F = Rand ∧ Anfang ∧ Transition ∧ Ende Rand: Randbedingungen
Anfang: Anfangsbedingungen
Transition: Bedingungen f¨ ur den Zustands¨ ubergang Ende: Endbedingung
TCS | 11 Komplexit¨atstheorie I | SoSe 2019 33/42 Einleitung Zeitkomplexit¨at P N P N P-Vollst. SAT
SAT ist N P -hart (4)
Randbedingungen:
Zu jedem Zeitpunkt t:
. . . ist M in genau einem Zustand z:
V
t∈{0,...,p(n)} exactlyOne (State t,z
0, . . . , State t,z
k) . . . ist der Kopf von M in genau einer Position auf dem Band:
V
t∈{0,...,p(n)} exactlyOne(Pos t,−p(n) , . . . , Pos t,p(n) ) . . . befindet sich in jeder Bandzelle genau ein Symbol aus Γ:
V
t∈{0,...,p(n)}
V
i∈{−p(n),...,p(n)} exactlyOne(Tape t,i,b
1
, . . . , Tape t,i,b
l
) Daher:
Rand := V
t∈{0,...,p(n)}
exactlyOne(State t,z
0, . . . , State t,z
k)
∧exactlyOne(Pos t,−p(n) , . . . , Pos t,p(n) )
∧ V
i∈{−p(n),...,p(n)}
exactlyOne(Tape t,i,b
1
, . . . , Tape t,i,b
l
)
TCS | 11 Komplexit¨atstheorie I | SoSe 2019 34/42 Einleitung Zeitkomplexit¨at P N P N P-Vollst. SAT
SAT ist N P -hart (5)
Anfangsbedingungen:
Fixieren die Bedingungen zum Zeitpunkt t = 0:
M ist im Startzustand: State 0,z
0Der Schreib-Lesekopf ist auf Position 0: Pos 0,0
Die Eingabe w = a 1 · · · a n steht auf dem Band, und alle anderen Zellen enthalten das Blank-Symbol.
( ^
i∈{0,...,n−1}
Tape 0,i,a
i+1
) ∧ ( ^
i∈{−p(n),...,−1}
Tape 0,i,2 ) ∧ ( ^
i∈{n,...,p(n)}
Tape 0,i,2 ).
Daher:
Anfang := State 0,z
0∧ Pos 0,0
∧( V
i∈{0,...,n−1}
Tape 0,i,a
i+1) ∧ ( V
i∈{−p(n),...,−1}
Tape 0,i,2 ) ∧ ( V
i∈{n,...,p(n)}
Tape 0,i,2 )
SAT ist N P -hart (6)
Transitionsbedingungen:
F¨ ur ¨ Ubergang von t zu t + 1: Zustand, Bandinhalt, Position ¨ andern.
Sei dir(N ) = 0, dir(L) = −1, dir(R) = 1.
^
t∈{0,...,p(n)−1}, z∈Z,
i∈{−p(n)+1,...,p(n)−1}, b∈Γ
State t,z ∧ Pos t,i ∧ Tape t,i,b
= ⇒ W
(z
0,b
0,y)∈δ(z,b)
State t+1,z
0∧ Pos t+1,i+dir(y) ∧ Tape t+1,i,b
0
Zellen auf denen der Kopf nicht steht, bleiben unver¨ andert.
^
t∈{0,...,p(n)−1}, i∈{−p(n),...,p(n)},
b∈Γ
¬Pos t,i ∧ Tape t,i,b
= ⇒ Tape t+1,i,b
SAT ist N P -hart (7)
Transitionsbedingungen:
Ergibt zusammen:
Transition :=
V
t∈{0,...,p(n)−1}, z∈Z,
i∈{−p(n)+1,...,p(n)−1}, b∈Γ
State t,z ∧ Pos t,i ∧ Tape t,i,b
= ⇒ W
(z
0,b
0,y)∈δ(z,b)
State t+1,z
0∧ Pos t+1,i+dir(y) ∧ Tape t+1,i,b
0
∧ V
t∈{0,...,p(n)−1}, i∈{−p(n),...,p(n)},
b∈Γ
¬Pos t,i ∧ Tape t,i,b
= ⇒ Tape t+1,i,b
TCS | 11 Komplexit¨atstheorie I | SoSe 2019 37/42 Einleitung Zeitkomplexit¨at P N P N P-Vollst. SAT
SAT ist N P -hart (8)
Endbedingung: Ein akzeptierender Zustand wird erreicht:
Ende := _
z∈E,t∈{0,...,p(n)}
State t,z
TCS | 11 Komplexit¨atstheorie I | SoSe 2019 38/42 Einleitung Zeitkomplexit¨at P N P N P-Vollst. SAT
SAT ist N P -hart (9)
F = V
t∈{0,...,p(n)}
exactlyOne(State t,z
0, . . . , State t,z
k)
∧exactlyOne(Pos t,−p(n) , . . . , Pos t,p(n) )
∧ V
i∈{−p(n),...,p(n)}
exactlyOne(Tape t,i,b
1, . . . , Tape t,i,b
l
)
∧State 0,z
0∧ Pos 0,0 ∧ ( V
i∈{0,...,n−1}
Tape 0,i,a
i+1) ∧ ( V
i∈{−p(n),...,−1}
Tape 0,i,2 ) ∧ ( V
i∈{n,...,p(n)}
Tape 0,i,2 )
∧ V
t∈{0,...,p(n)−1}, z∈Z, i∈{−p(n)+1,...,p(n)−1},
b∈Γ
State t,z ∧ Pos t,i ∧ Tape t,i,b
= ⇒ W
(z
0,b
0,y)∈δ(z,b)
State t+1,z
0∧ Pos t+1,i+dir(y) ∧ Tape t+1,i,b
0∧ V
t∈{0,...,p(n)−1}, i∈{−p(n),...,p(n)},
b∈Γ
¬Pos t,i ∧ Tape t,i,b
= ⇒ Tape t+1,i,b
∧ W
State t,z
SAT ist N P -hart (10)
Wenn w ∈ L, dann z 0 w ` r M uz e v mit z e ∈ E und r ≤ p(n).
Lauf liefert Belegung I der Variablen von F , sodass I(F ) = 1 In Rand belege die besuchten Zust¨ ande, Positionen und Bandinhalte mit 1. Falls die Folge nach t e < p(n) Schritten endet, so setze die Variablen f¨ ur t > t e auf die Werte f¨ ur den Zeitpunkt t e .
In Anfang liefert die Belegung f¨ ur die dort vorkommenden Variablen. Diese passen zur Anfangskonfiguration.
F¨ ur Transition setze I(State t,z ) = 1, I(Pos t,i ) = 1, Tape t,i,b entsprechend der besuchten Zust¨ ande und alle anderen auf 0.
Das macht I(Transition) = 1 und Variable State t,z
ef¨ ur z e ∈ E wird dadurch auf 1 gesetzt.
Daher I (F ) = 1
SAT ist N P -hart (11)
Umgekehrt: Wenn es eine erf¨ ullende Belegung I gibt mit I(F ) = 1, dann kann daraus ein akzeptierender Lauf f¨ ur die TM auf Eingabe w konstruiert werden.
Damit gilt w ∈ L ⇐⇒ F ist erf¨ ullbar.
F kann in (deterministischer) Polynomialzeit berechnet werden:
Gr¨ oße von F : (Anzahl an Variablenvorkommen):
Subformel Gr¨ oße Rand: O(p(n) 3 ) Anfang: O(p(n)) Transition: O(p(n) 2 ) Ende: O(p(n))
F O(p(n) 3 )
TCS | 11 Komplexit¨atstheorie I | SoSe 2019 41/42 Einleitung Zeitkomplexit¨at P N P N P-Vollst. SAT
Satz von Cook
Insgesamt haben wir damit gezeigt:
Satz von Cook
Das Erf¨ ullbarkeitsproblem der Aussagenlogik ist N P -vollst¨ andig.
TCS | 11 Komplexit¨atstheorie I | SoSe 2019 42/42 Einleitung Zeitkomplexit¨at P N P N P-Vollst. SAT