Komplexitätstheorie - Universität Stuttgart

Werbung
Komplexitätstheorie
Volker Diekert
Universität Stuttgart
http://www.informatik.uni-stuttgart.de/fmi/ti/restricted/ss11/KT/
Sommersemester 2011
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
1 / 258
Teil 1: Grundlagen
Im Folgenden behandeln wir einige Grundlagen:
◮
Turingmaschinen (nicht-deterministisch, deterministisch)
◮
Konfigurationen
◮
Berechnungen,...
◮
Turingmaschinen können auf viele verschiedene äquivalente Weisen
definiert werden.
◮
Wir könnten Turingmaschinen auch durch andere äquivalente
Rechenmodelle ersetzen (z.B. Registermaschinen, Übung).
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
2 / 258
Turingmaschinen: Definition
Definition
Eine nichtdeterministische Turingmaschine mit k-Arbeitsbändern ist ein
Tupel M = (Q, Σ, Γ, δ, q0 , F , b)
◮
Q : endliche Menge der Zustände
◮
q0 ∈ Q : Startzustand
◮
F ⊆ Q : Menge der Endzustände
◮
Γ : endliches Bandalphabet
◮
Σ ( Γ : endliches Eingabealphabet
◮
b ∈ Γ \ Σ : Blanksymbol
◮
δ ⊆ Q × (Σ ∪ {b}) × Γk × Q × Γk × {L, R, N}k+1 : Übergangsrelation.
L (R, N): bewege Kopf nach links (rechts, Neutral, also gar nicht)
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
3 / 258
Turingmaschinen: Definition
Bei einer deterministischen k-Band Turingmaschine M ist δ eine partiell
definierte Funktion δ : Q × (Σ ∪ {b}) × Γk → Q × Γk × {L, R, N}k+1 .
Soll M eine Funktion berechnen, so hat M zusätzlich ein Ausgabealphabet
Σ′ und für δ gilt:
δ : Q × (Σ ∪ {b}) × Γk → Q × Γk × {L, R, N}k+1 × (Σ′ ∪ {λ})
(λ ist das leere Wort).
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
4 / 258
Turingmaschinen: Konfigurationen
Definition
Eine Konfiguration α der Turingmaschine M bei Eingabe w ∈ Σ∗ ist ein
Tupel α = (q, u0 , v0 , u1 , v1 , . . . , uk , vk ), mit:
◮
◮
◮
q ∈ Q : aktueller Zustand der Turingmaschine
u0 v0 = w b, v0 6= λ: Der Lesekopf für das Eingabeband liest gerade
das erste Symbol von v0 .
∀i ∈ {1, . . . , k} : ui ∈ Γ∗ , vi ∈ Γ+ :
Das i -te Arbeitsband hat den Inhalt ui vi bb · · · und der i -te
Schreib/Lesekopf liest gerade das erste Symbol von vi .
Die Länge |α| von α ist |α| = max { |ui vi | | 1 ≤ i ≤ k }.
Für eine Einband-TM (ohne explizite Arbeitsbänder) schreiben wir
Konfigurationen häufig als Wörter:
uqv ∈ Γ∗ QΓ+
es gilt dann: |uqv | = Wortlänge von uv
Die TM ist dann im Zustand q und liest das erste Zeichen von v .
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
5 / 258
Turingmaschinen: Startkonfiguration, akzeptierende
Konfigurationen, . . .
1. Für die Eingabe w ∈ Σ∗ ist Start(w ) = (q0 , λ, w b, λ, b, . . . , λ, b) die
zu w gehördende Startkonfiguration.
Beachte: | Start(w )| = 1.
2. Für ein d ∈ δ und Konfigurationen α, β schreiben wir α ⊢d β, falls die
“Anweisung” d auf die Konfiguration α anwendbar ist, und die
Konfiguration β ergibt.
[
3. Es sei ⊢M =
⊢d .
d∈δ
4. Mit Accept bezeichnen wir die Menge der akzeptierenden
Konfigurationen (aktueller Zustand ist aus F ⊆ Q).
5. Beachte: α ⊢M β ⇒ |α| − |β| ∈ {−1, 0, 1}
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
6 / 258
Turingmaschinen: Berechnungen, Protokolle
1. Eine Rechnung von M bei Eingabe w ist eine Folge von
Konfigurationen α0 , α1 , . . . , αm mit
◮
◮
Start(w ) = α0
∀1 ≤ i ≤ m : αi −1 ⊢M αi
Die Berechnung ist erfolgreich, falls αm ∈ Accept.
2. Das Protokoll dieser Rechnung ist die Folge d0 d1 . . . dm−1 ∈ δ∗ mit
αi ⊢di αi +1
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
7 / 258
Turingmaschinen: akzeptierte Menge, Zeit- und Platzbedarf
1. Der Zeitbedarf (bzw. Speicherbedarf) der Berechnung α0 , α1 , . . . , αm
ist m (bzw. max{|αi | | 0 ≤ i ≤ m}).
2. M hat bei Eingabe w den Zeitbedarf (bzw. Speicherbedarf) N ∈ N,
falls jede Berechnung von M bei Eingabe w Zeitbedarf (bzw.
Speicherbedarf) ≤ N hat.
3. L(M) = {w ∈ Σ∗ | ∃ erfolgreiche Berechnung von M bei Eingabe w }
ist die von M akzeptierte Menge.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
8 / 258
Komplexitätsklassen
Seien t : N → N und s : N → N monoton wachsende Funktionen.
DTIME(t) = {L ⊆ Σ∗ | es existiert deterministische Turingmaschine M mit L = L(M), die auf allen Eingaben
der Länge n Zeitbedarf max{t(n), n + 1} hat.}
NTIME(t) = {L ⊆ Σ∗ | es existiert nichtdeterministische Turingmaschine M mit L = L(M), die auf allen Eingaben der Länge n Zeitbedarf max{t(n), n + 1}
hat.}
DSPACE(s) = {L ⊆ Σ∗ | es existiert deterministische Turingmaschine M mit L = L(M), die auf allen Eingaben
der Länge n Speicherbedarf s(n) hat.}
NSPACE(s) = {L ⊆ Σ∗ | es existiert nichtdeterministische Turingmaschine M mit L = L(M), die auf allen Eingaben der Länge n Speicherbedarf s(n) hat.}
Für eine Komplexitätsklasse C ist CoC = {L | Σ∗ \ L ∈ C} die Menge der
Komplemente der in C enthaltenen Sprachen.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
9 / 258
Komplexitätsklassen
Wir werden die Klassen DTIME(t) und NTIME(t) nur für Funktionen
t(n) mit ∀n ∈ N : t(n) ≥ n betrachten.
Dies erlaubt, die gesamte Eingabe zu lesen, da wir tatsächlich immer n + 1
Schritte erlauben.
Wir werden die Klassen DSPACE(s) und NSPACE(s) nur für Funktionen
s(n) ∈ Ω(log(n)).
Dies erlaubt, eine Position i ∈ {1, . . . , n} im Eingabestring auf einem
Arbeitsband abzuspeichern.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
10 / 258
Wichtige Komplexitätsklassen
Gebräuchlichen Abkürzungen:
L = DSPACE(log(n))
(1)
NL = NSPACE(log(n))
[
P =
DTIME(nk )
(2)
(3)
NP =
(4)
k≥1
[
NTIME(nk )
k≥1
PSPACE =
[
k≥1
DSPACE(nk ) =
[
NSPACE(nk )
(5)
k≥1
Die Gleichung = in (5) ist als Satz von Savitch bekannt (kommt noch).
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
11 / 258
Beziehungen zwischen Komplexitätsklassen
PSPACE = IP
?
6=
NSPACE(n) = CoNSPACE(n)
? (1. LBA Problem)
DSPACE(n)
6=
S
S
k
k
k≥1 DSPACE(log (n)) =
k≥1 NSPACE(log (n))
NP
?
NP ∩ CoNP
?
P
?
NL
?
L
6=
Es gibt noch viele weitere Komplexitätsklassen: Besuchen Sie doch den
complexity zoo (http://qwiki.caltech.edu/wiki/Complexity Zoo)
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
12 / 258
Beispiele
◮
◮
◮
◮
{an b n c n | n ≥ 1} ∈ L
{w $w R | w ∈ Σ∗ }, {ww R | w ∈ Σ∗ } ∈ L
{w $w | w ∈ Σ∗ }, {ww | w ∈ Σ∗ } ∈ L
Die Menge PRIM = {p ∈ 1{0, 1}∗ | p ist Binärcodierung einer
Primzahl } ist in P.
Agrawal, Kayal und Saxena haben 2002 gezeigt, dass PRIM ∈ P gilt,
vorher war nur PRIM ∈ NP ∩ CoNP bekannt.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
13 / 258
Varianten algorithmischer Probleme
Beispiel 1: Traveling Salesman Problem (TSP)
Ein Reisender will eine gegebene Anzahl von Städten besuchen, ohne dabei
an einem Ort zweimal vorbeizukommen, und er will dabei den kürzesten
Weg nehmen. Das Wegenetz kann als gerichteter Graph und die
Wegstrecken als Gewichte auf den Kanten des Graphen aufgefasst werden.
Die Knoten stellen die Städte dar.
Sei G = (V , E , γ : E → N) ein gerichteter Graph mit Knotenmenge
V = {1, ..., n}, Kantenmenge E ⊆ V × V und den Kantengewichten
γ(e) > 0 für alle e ∈ E .
Ein Rundweg W ist gegeben durch eine Folge W = (x0 , . . . , xn ), x0 = xn ,
xi 6= xj für 1 ≤ i < j ≤ n und (xi −1 , xi ) ∈ E für 1 ≤ i ≤ n.
Die Kosten γ(W ) des Rundweges W
Pnsind durch die Summe der
Kantengewichte gegeben: γ(W ) = i =1 γ(xi −1 , xi ).
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
14 / 258
Varianten algorithmischer Probleme
(A) Entscheidungsvariante:
Eingabe: G = (V , E , γ : E → N) und ein k ≥ 0.
Frage: Existiert ein Rundweg mit Kosten ≤ k? D.h., existiert ein Weg der
alle Knoten genau einmal besucht und dessen Kosten höchstens k sind?
(B) Berechnungsvariante:
Eingabe: G = (V , E , γ : E → N) und ein k ≥ 0.
Ziel: Falls ein Rundweg W mit γ(W ) ≤ k existiert, berechne ein solches
W.
(C) Optimierungsproblem:
Eingabe: G = (V , E , γ : E → N).
Ziel: Berechne einen kostenoptimalen Rundweg, falls ein Rundweg
existiert.
In allen drei Varianten
ist die Eingabegröße (bis auf einen konstanten
P
Faktor) |V | + e∈E log(γ(e))(+ log(k)).
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
15 / 258
Varianten algorithmischer Probleme
Aus praktischer Sicht ist Variante (C) (Optimierungsproblem) am
wichtigsten.
Aber: (A) in Polynomialzeit lösbar
=⇒
(C) in Polynomialzeit lösbar.
Beweis:
1. Schritt:
Überprüfe, ob überhaupt ein Rundweg existiert:
P
Rufe hierzu (A) mit kmax = e∈E γ(e) auf.
Beachte: Es existiert ein Rundweg genau dann, wenn ein Rundweg mit
Kosten ≤ kmax existiert.
Im Folgenden nehmen wir an, dass ein Rundweg existiert.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
16 / 258
Varianten algorithmischer Probleme
2. Schritt:
Berechne kopt = min{γ(W ) | W ist ein Rundweg} mittels binärer Suche:
FUNCTION kopt
kmin := 1 (oder alternativ kmin := |V |)
while kmin < kmax do
min
⌉
kmitte := kmin + ⌈ kmax −k
2
if ∃ Rundweg W mit γ(W ) ≤ kmitte then kmax := kmitte
else kmin := kmitte + 1
endif
endwhile
return kmin
ENDFUNC
Beachte: Die Anzahl der Durchläufe P
durch die while-Schleife
ist
P
beschränkt durch log2 (kmax ) = log2 ( e∈E γ(e)) ≤ e∈E log(γ(e)).
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
17 / 258
Varianten algorithmischer Probleme
3. Schritt:
Berechne optimalen Rundweg wie folgt:
FUNCTION optimaler Rundweg
Sei e1 , e2 , . . . , em beliebige Auflistung von E
G0 := G
for i := 1 to m do
if ∃ Rundweg W in Gi −1 \ {ei } mit γ(W ) ≤ kopt then
Gi := Gi −1 \ {ei }
else
Gi := Gi −1
endif
endfor
return Gm
ENDFUNC
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
18 / 258
Varianten algorithmischer Probleme
Behauptung: Für alle i ∈ {0, . . . , m} gilt:
1. In Gi existiert ein Rundweg W mit γ(W ) = kopt .
2. Jeder Rundweg W in Gi mit γ(W ) = kopt benutzt alle Kanten aus
{e1 , . . . , ei } ∩ E [Gi ] (E [Gi ] = Menge der Kanten von Gi ).
Beweis:
1. Folgt sofort durch Induktion über i .
2. Angenommen es gibt einen Rundweg W in Gi mit γ(W ) = kopt sowie
eine Kante ej (1 ≤ j ≤ i ) mit:
◮ e gehört zum Graphen G
j
i
◮ e gehört nicht zum Weg W
j
W ist auch ein Rundweg in Gj−1 . ⇒
W ist ein Rundweg in Gj−1 \ {ej }. ⇒
ej gehört nicht zu Gj und damit nicht zu Gi . Widerspruch
Konsequenz: Gm hat einen Rundweg W mit γ(W ) = kopt und jede Kante
von Gm gehört zu W .
⇒ Gm = W
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
19 / 258
Varianten algorithmischer Probleme
Beispiel 2: Vertex Cover (VC)
Sei G = (V , E ) ein ungerichteter Graph (d.h. E ⊆ V2 ).
Eine Teilmenge C ⊆ V ist eine Knotenüberdeckung von G falls für jede
Kante {u, v } ∈ E gilt: {u, v } ∩ C 6= ∅
(A) Entscheidungsvariante:
Eingabe: G = (V , E ) und ein k ≥ 0.
Frage: Hat G Knotenüberdeckung C mit |C | ≤ k?
(B) Berechnungsvariante:
Eingabe: G = (V , E ) und ein k ≥ 0.
Ziel: Falls eine Knotenüberdeckung C mit |C | ≤ k existiert, berechne ein
solches C .
(C) Optimierungsproblem:
Eingabe: G = (V , E ).
Ziel: Berechne eine möglichst kleine Knotenüberdeckung von G .
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
20 / 258
Varianten algorithmischer Probleme
Wieder gilt: (A) in Polynomialzeit lösbar =⇒ (C) in Polynomialzeit
lösbar.
Zeigen Sie dies als Übung.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
21 / 258
Das Grapherreichbarkeitsproblem
Das Grapherreichbarkeitsproblem (GAP — für graph accessibility problem)
ist ein zentrales Entscheidungsproblem in der Komplexitätstheorie:
INPUT: Ein gerichteter Graph G = (V , E ) und zwei Knoten s, t ∈ V .
FRAGE: Existiert in G ein Pfad von s nach t?
GAP gehört zur Klasse P: GAP kann in Zeit O(|V |) mittels Breitensuche
gelöst werden. (Die einfachste Dijkstra-Variante)
Verschärfung: GAP gehört zur Klasse NL (wir zeigen noch NL ⊆ P):
FUNCTION Grapherreichbarkeit
var v := s
while v 6= t do
wähle einen Knoten w ∈ V mit (v , w ) ∈ E
v := w
endwhile
return Es gibt einen Pfad von s nach t.“
”
ENDFUNC
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
22 / 258
Das Grapherreichbarkeitsproblem
Dieser nichtdeterministische Algorithmus kann leicht auf einer
nichtdeterministischen Turingmaschine implementiert werden.
Warum benötigt obiger Algorithmus nur logarithmischen Platz?
◮
◮
Zu jedem Zeitpunkt muss sich der Algorithmus nur einen Knoten
v ∈ V merken.
Wenn es n Knoten gibt, so können die Knoten mit den Zahlen 1, . . . , n
identifiziert werden. Die Variable v benötigt somit log2 (n) viele Bits.
Bemerkungen:
◮
◮
Aus dem Satz von Savitch (kommt noch) wird folgen:
GAP ∈ DSPACE(log2 (n)).
Omer Reingold konnte 2004 zeigen: Das Grapherreichbarkeitsproblem
für ungerichtete Graphen (UGAP) gehört zur Klasse L, siehe
http://www.wisdom.weizmann.ac.il/∼reingold/publications/sl.ps
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
23 / 258
Teil 2: Beziehungen zwischen den Komplexitätsklassen
Die Beweise für die Beziehungen in diesem Abschnitt finden sich in
Standardlehrbüchern (z. B. Hopcroft, Ullman; Introduction to Automata
Theory, Languages and Computation, Addison Wesley 1979).
Wir werden Beweise hierSnur andeuten.
S
Setze DTIME(O(f )) = c∈N DTIME(c · f ) = g ∈O(f ) DTIME(g ) und
analog für NTIME, DSPACE, NSPACE.
Theorem
Sei f : N → N.
1. Sei X ∈ {D, N}, dann gilt XSPACE(O(f )) = XSPACE1-Band (f ).
2. ∃ε > 0 ∀n : f (n) ≥ (1 + ε)n
=⇒
DTIME(O(f )) = DTIME(f ).
3. NTIME(O(f )) = NTIME(f ).
4. DTIME(n) 6= DTIME(O(n)).
Der Punkt 1 kombiniert Bandreduktion mit Bandkompression.
Die Punkte 2 und 3 bezeichnet man als Zeitkompression.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
24 / 258
Der Satz von Hennie und Stearns (1966)
Der Satz von Hennie und Stearns ist ein Bandreduktionssatz für
Zeitkomplexitätsklassen.
Theorem
Sei k ≥ 1 und gelte ∃ε > 0 ∀n : f (n) ≥ (1 + ε)n. Dann gilt:
DTIMEk-Band (f ) ⊆ DTIME2-Band (f · log(f )).
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
25 / 258
DTIME(f ) ⊆ NTIME(f ) ⊆ DSPACE(f )
Theorem
DTIME(f ) ⊆ NTIME(f ) ⊆ DSPACE(f ) (wobei f (n) ≥ n).
Beweis: Zu zeigen ist nur NTIME(f ) ⊆ DSPACE(f ).
Sei M = (Q, Σ, Γ, δ, q0 , F , b) eine nichtdeterministische
f (n)-zeitbeschränkte Turingmaschine.
Für Eingabe w ∈ Σ∗ der Länge n können wir uns alle Rechnungen von M
als einen Berechnungsbaum T (M, w ) wie folgt vorstellen:
◮
Wurzel von T (M, w ) = Start(w ).
◮
Konfiguration β ist Kind von Konfiguration α
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
⇐⇒
α ⊢M β.
SS 2011
26 / 258
DTIME(f ) ⊆ NTIME(f ) ⊆ DSPACE(f )
T (M, w ) wird mit Tiefensuche auf eine akzeptierende Konfiguration hin
durchsucht.
Dabei merkt man sich nur die aktuelle Konfiguration und das Protokoll
P ∈ δ∗ mit dem diese Konfiguration von der Wurzel Start(w ) erreicht wird.
Beachte:
◮
Jede Konfiguration in T (M, w ) benötigt Platz f (n).
◮
Ein Protokoll für eine bei Start(w ) beginnende Berechnung hat Länge
f (n) und kann somit in Platz O(f (n)) gespeichert werden.
Gesamter Platzbedarf: O(f ) + O(f ) = O(f ).
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
27 / 258
DSPACE(f ) ⊆ NSPACE(f ) ⊆ DTIME(2O(f ) )
Theorem
DSPACE(f ) ⊆ NSPACE(f ) ⊆ DTIME(2O(f ) ) (wobei f (n) ≥ log(n)).
Beweis: Zu zeigen ist nur NSPACE(f ) ⊆ DTIME(2O(f ) ).
Sei M eine f (n)-platzbeschränkte nichtdeterministische Turingmaschine
und w ∈ Σ∗ eine Eingabe der Länge n.
Es gibt eine Konstante c > 0, die nur von M abhängt so, dass die Anzahl
der von Start(w ) erreichbaren Konfigurationen durch c f (n) beschränkt ist.
Hier ist ∀n : f (n) ∈ Ω(log(n)) wichtig. Warum?
Beachte, dass c f ∈ 2O(f ) gilt.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
28 / 258
DSPACE(f ) ⊆ NSPACE(f ) ⊆ DTIME(2O(f ) )
Berechne die Menge R der von Start(w ) aus erreichbaren Konfigurationen
(mit einem Markierungs- oder Flutalgorithmus):
FUNCTION Menge-der-erreichbaren-Konfigurationen
var R := {Start(w )}
while ∃ Konfigurationen α, β : α ∈ R ∧ β 6∈ R ∧ α ⊢M β do
R := R ∪ {β}
endwhile
if Accept ∩ R 6= ∅ then return M akzeptiert w
ENDFUNC
Zeitbedarf:
◮ R enthält maximal c f (n) Konfigurationen der Länge ≤ f (n).
◮ Der Test ∃ Konfigurationen α, β : α ∈ R ∧ β 6∈ R ∧ α ⊢M β kann
somit in Zeit O(c f (n) · c f (n) · f (n)) = O(c 2f (n) · f (n)) implementiert
werden.
◮ Gesamter Zeitbedarf: O(c 3f (n) · f (n)) ⊆ 2O(f )
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
29 / 258
Folgerungen
◮
◮
◮
L ⊆ NL ⊆ DTIME(2O(log(n)) ) = P
CS = LBA = NSPACE(n) ⊆ DTIME(2O(n) )
Hierbei bezeichnet CS die Klasse der kontextsensitiven und LBA die
Klasse der durch linear beschränkte Automaten akzeptierten
Sprachen.
2
DSPACE(n2 ) ⊆ DTIME(2O(n ) )
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
30 / 258
Der Satz von Savitch (1970)
Theorem
Sei s ∈ Ω(log(n)). Dann gilt NSPACE(s) ⊆ DSPACE(s 2 ).
Wir beweisen den Satz von Savitch unter der Annahme, dass die Funktion
s platzkonstruierbar ist:
◮
Eine Funktion f : N → N mit f ∈ Ω(log(n)) heißt platzkonstruierbar,
falls es eine deterministische Turingmaschine gibt, die bei Eingabe an
genau f (n) Felder auf den Arbeitsbändern markiert, dann hält und bei
der Berechnung diesen Platz nicht verlässt.
◮
Eine Funktion f : N → N mit f ∈ Ω(n) heißt zeitkonstruierbar, falls es
eine deterministische Turingmaschine gibt, die bei Eingabe an (d.h. n
ist unär kodiert) nach genau f (n) Schritten hält.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
31 / 258
Beweis des Satz von Savitch
Beweis:
Sei M eine s-platzbeschränkte nichtdeterministische Turingmaschine und
w eine Eingabe für M.
Sei Conf(M, w ) die Menge aller Konfigurationen α mit:
◮ Auf dem Eingabeband steht die Eingabe w .
◮ |α| ≤ s(|w |).
O.B.d.A. enthalte Accept nur eine einzige Konfiguration αf .
Für α, β ∈ Conf(M, w ) und i ≥ 0 definieren wir:
Reach(α, β, i )
⇐⇒
∃k ≤ 2i : α ⊢kM β
Aus der Beschreibung von M können wir explizit eine Konstante c
gewinnen, so dass für alle Eingaben w gilt:
w ∈ L(M)
⇐⇒
Volker Diekert (Universität Stuttgart)
Reach(Start(w ), αf , c · s(|w |)).
Komplexitätstheorie
SS 2011
32 / 258
Beweis des Satz von Savitch
Unser Ziel ist, das Prädikat Reach(α, β, i ) für α, β ∈ Conf(M, w ) und
0 ≤ i ≤ c · s(|w |) in Platz O(s 2 ) auf einer deterministischen Maschine zu
berechnen.
Für i > 0 verwenden wir folgendes Rekursionschemata:
Reach(α, β, i )
⇐⇒
∃γ ∈ Conf(M, w ) : Reach(α, γ, i − 1) ∧
Reach(γ, β, i − 1).
Umsetzung durch einen deterministischen Algorithmus:
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
33 / 258
Beweis des Satz von Savitch
FUNCTION Reach(α, β, i )
var b := false
if i = 0 then
b := [(α = β) ∨ (α ⊢M β)]
else
forall γ ∈ Conf(M, w ) do
if not b and Reach(α, γ, i − 1) then
b := Reach(γ, β, i − 1)
endif
endfor
endif
return b
ENDFUNC
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
34 / 258
Beweis des Satz von Savitch
Behauptung: Ein Aufruf von Reach(α, β, i ) benötigt Platz
O((i + 1)s(|w |)).
Wir beweisen die Behauptung durch Induktion über i ≥ 0:
i = 0: Die Bedingung [(α = β) ∨ (α ⊢M β)] kann offensichtlich in Platz
O(s(|w |)) überprüft werden.
i > 0: Der 1. Aufruf Reach(α, γ, i − 1) benötigt nach Induktion Platz
O(i · s(|w |)). Das gleiche gilt für den 2. Aufruf Reach(γ, β, i − 1).
Beachte: Beim 2. Aufruf Reach(γ, β, i − 1) kann der Platz, der beim 1.
Aufruf Reach(α, γ, i − 1) benötigt wurde, wiederverwendet werden.
Zusätzlich wird noch Speicherplatz s(|w |) für die Konfiguration γ
benötigt. Dies beweist die Behauptung.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
35 / 258
Beweis des Satz von Savitch
Um w ∈ L(M) zu entscheiden, rufen wir Reach(Start(w ), αf , c · s(|w |))
auf.
Beachte: Wir können s(|w |) berechnen, da s nach Annahme
platzkonstruierbar ist.
Gesamter Platzbedarf: O(c · s(|w |) · s(|w |)) = O(s(|w |)2 ).
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
36 / 258
Bemerkungen zum Satz von Savitch
Der Satz von Savitch besagt, dass eine nichtdeterministische
platzbeschränkte Turingmaschine unter quadratischem Mehraufwand
deterministisch simuliert werden kann. Diese platzeffiziente Simulation
wird durch einen extremen Mehraufwand an Rechenzeit realisiert.
Übung: Wieviel Zeit benötigt der Algorithmus im obigen Beweis, um
w ∈ L(M) zu entscheiden?
Um sich von der Forderung der Platzkonstruierbarkeit von s zu befreien,
zeige man mit dem Ansatz von Savitch, dass sich der tatsächliche
Platzbedarf einer s-platzbeschränkten nichtdeterministischen
Turingmaschine in DSPACE(s 2 ) berechnen lässt.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
37 / 258
Folgerungen aus dem Satz von Savitch
Theorem
GAP gehört zu DSPACE(log2 (n)).
Folgt unmittelbar aus GAP ∈ NL und dem Satz von Savitch.
Theorem
Folgt aus
S
S
k
k
k≥1 DSPACE(n ) =
k≥1 NSPACE(n )
NSPACE(nk ) ⊆ DSPACE(n2k )
PSPACE =
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
38 / 258
Hierarchiesätze
Hierarchiesätze
Platzhierarchiesatz
Seien s1 , s2 : N → N Funktionen, s1 ∈
/ Ω(s2 ), s2 ∈ Ω(log(n)) und s2 sei
platzkonstruierbar. Dann gilt DSPACE(s2 ) \ DSPACE(s1 ) 6= ∅.
Bemerkungen: DSPACE(s2 (n)) = DSPACE(O(s2 (n))), daher gilt ohne
Einschränkung s2 (n) > 2 log2 n für alle n.
◮
◮
s1 ∈
/ Ω(s2 ) bedeutet ∀ε > 0 ∃ unendlich
2 viele n mit s1 (n) < ε · s2 (n).
n , falls n gerade
,
Seien etwa s1 (n) = n und s2 (n) =
log n, sonst
dann gilt: s2 ∈
/ Ω(s1 ), s1 ∈
/ Ω(s2 ).
Aus dem Platzhierarchiesatz folgt etwa:
L ( DSPACE(log2 (n)) ( DSPACE(n)
⊆ NSPACE(n) ( DSPACE(n2,1 ) ( PSPACE
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
39 / 258
Hierarchiesätze
Beweis des Platzhierarchiesatzes
Der Beweis des Platzhierarchiesatzes ist ähnlich zum Beweis für die
Unentscheidbarkeit des Halteproblems: Diagonalisierung
Wähle zunächst irgendeine eine berechenbare binäre Kodierung von
deterministischen Turingmaschinen. D.h., wähle eine berechenbare
Funktion x 7→ Mx so, dass zu jeder Turingmaschine M ein x ∈ {0, 1}∗ mit
L(M) = L(Mx ) existiert.
Jedes Wort x ∈ {0, 1}∗ soll als Kodierung einer Turingmaschine Mx
interpretiert werden können (für nicht “wohlgeformtes” x kodiert x eine
Turingmaschine, die nichts akzeptiert).
Wichtige Konvention: Für alle x ∈ {0, 1}∗ und k ∈ N gelte Mx = M0k x ,
d.h., x und 0k x kodieren identische Maschinen: insbesondere gilt
L(Mx ) = L(M0k x ).
Folgerung: Jede Turingmaschine hat eine Kodierung in fast allen Längen.
Ziel: Konstruktion einer Maschine M mit
L(M) ∈ DSPACE(s2 ) \ DSPACE(s1 ).
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
40 / 258
Hierarchiesätze
Beweis des Platzhierarchiesatzes
Wir starten mit einer s2 (n)-platzbeschränkten Maschine M ′ . Sie arbeitet
für eine Eingabe y der Länge n = |y | wie folgt:
1. Markiere Platz s2 (n) auf den Arbeitsbändern. (Beachte, dass s2
platzkonstruierbar ist).
2. Sobald im Folgenden der markierte Platz verlassen wird, stoppt M ′
(in einem nicht-akzeptierenden Zustand).
Damit ist M ′ automatisch s2 -platzbeschränkt und unabhängig von der
weiteren Konstruktion gilt L(M ′ ) ∈ DSPACE(s2 )
3. Schreibe y = 0k x, wobei x keine führende Null habe und simuliere die
Maschine My = Mx auf der Eingabe y . (Hier arbeitet M ′ wie eine
universelle Turingmaschine).
4. M ′ akzeptiert die Eingabe y , falls Mx die Eingabe y akzeptiert, und
dabei der markierte Platz nicht verlassen wird.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
41 / 258
Hierarchiesätze
Da (deterministische) Platzklassen unter Komplement abgeschlossen sind,
finden wir effektiv eine Maschine M mit
L(M) = {0, 1}∗ \ L(M ′ ) ∈ DSPACE(s2 ).
Behauptung: L(M) ∈
/ DSPACE(s1 )
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
42 / 258
Hierarchiesätze
Beweis des Platzhierarchiesatzes
Beweis durch Widerspruch: Angenommen, es gilt L(M) ∈ DSPACE(s1 ).
Es gibt dann eine s1 -platzbeschränkte deterministische 1-Band
Turingmaschine Mx mit L(Mx ) = L(M).
Mit Bandkompression kann die Simulation von Mx durch eine universelle
Turing-Maschine auf einer Eingabe der Länge n in Platz k · s1 (n) + log2 (n)
durchführt werden, wobei k nur von Mx abhängt.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
43 / 258
Hierarchiesätze
Beweis des Platzhierarchiesatzes
Da s1 ∈
/ Ω(s2 ) und s2 (n) > 2 log2 (n) existiert ein n ≥ |x| mit
ks1 (n) + log2 (n) ≤ s2 (n).
Betrachte y ∈ 0∗ x mit |y | = n, also y = 0n−|x| x. Während der Simulation
von Mx = My auf der Eingabe y (der Länge n) wird also der im 1.Schritt
von der Maschine M ′ markierte Platz nicht verlassen.
Also:
y ∈ L(M)
⇐⇒
y∈
/ L(M ′ ) d.h., M ′ akzeptiert y nicht.
⇐⇒
Mx akzeptiert y nicht
⇐⇒
⇐⇒
Volker Diekert (Universität Stuttgart)
My akzeptiert y = 0n−|x| x nicht
y 6∈ L(Mx ) = L(M) Widerspruch!
Komplexitätstheorie
SS 2011
44 / 258
Hierarchiesätze
Zeithierarchiesatz
Gemäß der Technik von Hennie und Stearns ist die Simulation von beliebig
vielen Bändern zeiteffizient auf zwei Bändern möglich.
Analog zum Platzhierarchiesatz ergibt sich der deterministische
Zeithierarchiesatz.
Deterministischer Zeithierarchiesatz (ohne Beweis)
Seien t1 , t2 : N → N Funktionen, t1 · log(t1 ) ∈
/ Ω(t2 ), t2 ∈ Ω(n log(n)) und
t2 sei zeitkonstruierbar. Dann gilt DTIME(t2 ) \ DTIME(t1 ) 6= ∅.
Als Folgerung hieraus ergibt sich:
DTIME(O(n)) ( DTIME(O(n2 )) ( P
( DTIME(O(2n )) ( DTIME(O((2 + ε)n ))
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
45 / 258
Hierarchiesätze
Der Lückensatz von Borodin (1972)
Bei den oben erwähnten Hierarchiesätzen haben wir stets eine
Konstruierbarkeitsvoraussetzung mitgeführt. Dies lässt sich nach dem
folgenden Lückensatz nicht umgehen.
Lückensatz von Borodin
Sei r eine totale, berechenbare Funktion, r (n) ≥ n für alle n. Dann
existiert effektiv eine totale, berechenbare Funktion s : N → N mit der
Eigenschaft s(n) ≥ n + 1 für alle n und DTIME(s) = DTIME(r ◦ s).
Bemerkungen:
◮
◮
Die Komposition r ◦ s ist definiert durch r ◦ s(n) = r (s(n)).
Dass die totale, berechenbare Funktion s : N → N effektiv existiert,
bedeutet, dass man aus einer Turingmaschine, die r berechnet, eine
Turingmaschine, die s berechnet, konstruieren kann.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
46 / 258
Hierarchiesätze
Beweis des Satzes von Borodin
Sei M1 , M2 , . . . eine Aufzählung aller deterministischen Turingmaschinen.
Sei tk (n) ∈ N ∪ {∞} der tatsächliche maximale Zeitbedarf einer Rechnung
von Mk auf einer Eingabe der Länge kleiner oder gleich n.
Betrachte nun die Menge
Nn = {tk (n)|1 ≤ k ≤ n} ⊆ N ∪ {∞}.
Diese Menge ist endlich, also existiert für jedes n eine Zahl s(n) mit
Nn ∩ [s(n), r (s(n))] = ∅.
Ein s(n), welches diese Bedingung erfüllt, wäre
s(n) = max{tk (n) | 1 ≤ k ≤ n, tk (n) < ∞}.
Dieser Wert wird jedoch i.A. zu groß (und auch nicht berechenbar) sein.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
47 / 258
Hierarchiesätze
Beweis des Satzes von Borodin
Einen passenden und berechenbaren Wert s(n) finden wir bei Eingabe n
wie folgt:
FUNCTION s(n)
s := n + 1
repeat
s := s + 1
until ∀k ≤ n : [tk (n) < s or tk (n) > r (s)]
return s
ENDFUNC
Bemerkung: Die Funktion s ist berechenbar und wächst monoton.
Im allgemeinen kann s jedoch nicht zeitkonstruierbar sein.
Behauptung: DTIME(s) = DTIME(r ◦ s)
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
48 / 258
Hierarchiesätze
Beweis des Satzes von Borodin
Beweis der Behauptung:
Da r (n) ≥ n für alle n, ist DTIME(s) ⊆ DTIME(r ◦ s) klar.
Sei nun L ∈ DTIME(r ◦ s).
Sei Mk eine (r ◦ s)-zeitbeschränkte deterministische Turingmaschine mit
L = L(Mk ).
Dann gilt: ∀n : tk (n) ≤ r (s(n)).
Für alle n ≥ k gilt daher nach Berechnung von s: tk (n) < s(n).
Damit gilt tk (n) ≤ s(n) für fast alle n, und schließlich L ∈ DTIME(s).
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
49 / 258
Der Satz von Immerman und Szelepcsényi: NSPACE(n) = CoNSPACE(n)
Der Satz von Immerman und Szelepcsényi (1987)
Die Klassen DTIME(f ) und DSPACE(f ) sind unter Komplement
abgeschlossen. Ob dies auch für Klassen NSPACE(f ) gilt, war für lange
Zeit offen.
Bereits 1964 stellte Kuroda die Frage, ob die Familie der kontextsensitiven
Sprachen unter Komplementbildung abgeschlossen ist (2. LBA-Problem).
Äquivalent: NSPACE(n) = CoNSPACE(n)?
Nach über 20 Jahren wurde diese Frage unabhängig von R. Szelepcsényi
und N. Immerman beantwortet:
Satz von Immerman und Szelepcsényi
Sei f ∈ Ω(log(n)). Dann gilt NSPACE(f ) = CoNSPACE(f )
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
50 / 258
Der Satz von Immerman und Szelepcsényi: NSPACE(n) = CoNSPACE(n)
Beweis des Satzes von Immerman und Szelepcsényi
Beweismethode: Induktives Zählen
Sei M eine nichtdeterministische f -platzbeschränkte Turingmaschine und
w ∈ Σ∗ ein Eingabewort der Länge n.
Ziel: Überprüfe nichtdeterministisch in Platz O(f (n)), ob w 6∈ L(M) gilt.
Sei eine längenlexikographische Ordnung auf der Menge aller
Konfigurationen.
Sei α0 die kleinste Konfiguration bzgl. , |α0 | ∈ O(1).
O.B.d.A. ist α0 die einzige akzeptierende Konfiguration.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
51 / 258
Der Satz von Immerman und Szelepcsényi: NSPACE(n) = CoNSPACE(n)
Beweis des Satzes von Immerman und Szelepcsényi
Sei k ≥ 0:
R(k) = {α | ∃i ≤ k : Start(w ) ⊢iM α}
r (k) = |R(k)|
(Anzahl der von Start(w ) in ≤ k Schritten
erreichbaren Konfigurationen)
r (∗) = max{r (k) | k ≥ 0}
(Anzahl der von Start(w ) erreichbaren Konfigurationen)
Beachte: Es gibt eine nur von M abhängige Konstante c mit
r (k) ≤ r (∗) ≤ c f (n)+log(n) ∈ 2O(f (n)) .
Da f nicht platzkonstruierbar sein muss, benötigen wir noch den Wert
m(k) = max{|α| | α ∈ R(k)}.
Wir berechnen r (∗) in Platz O(f (n)). Unser Algorithmus wird ohne
Ergebnis abbrechen, falls w ∈ L(M). Falls w ∈
/ L(M), wird der korrekte
Wert r (∗) ausgegeben.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
52 / 258
Der Satz von Immerman und Szelepcsényi: NSPACE(n) = CoNSPACE(n)
Beweis des Satzes von Immerman und Szelepcsényi
Berechnung von r (∗) unter der Annahme, dass r (k + 1) aus r = r (k)
mittels Funktion berechne-r(k + 1, r ) in Platz O(f (n)) berechnet werden
kann:
FUNCTION r (∗)
r ′ := k := 0;
r := 1 (∗ speichert r (k) ∗)
while r 6= r ′ do
r ′ := r ;
r := berechne-r(k + 1, r ′ );
k := k + 1;
endwhile
return r
ENDFUNC
Platzbedarf: Wegen r (∗) ∈ 2O(f (n)) wird zur Speicherung von k, r , und r ′
Platz O(f (n)) benötigt.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
53 / 258
Der Satz von Immerman und Szelepcsényi: NSPACE(n) = CoNSPACE(n)
Beweis des Satzes von Immerman und Szelepcsényi
Die Berechnung der Funktion berechne-r(k + 1, r ) erfolgt in drei Schritten.
1. Schritt: Berechne m(k) aus r = r (k) mittels Funktion berechne-m(k, r )
FUNCTION berechne-m(k, r )
α := α0 ; m := |α0 |
repeat r times
berechne ein beliebiges α′ ∈ R(k)
if α′ α then
FEHLER“ ⇒ Programmabbruch
”
else
α := α′
m := |α′ | (∗ = max{m, |α′ |} aufgr. der Ordnung ∗)
endif
endrepeat
return m
ENDFUNC
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
54 / 258
Der Satz von Immerman und Szelepcsényi: NSPACE(n) = CoNSPACE(n)
Beweis des Satzes von Immerman und Szelepcsényi
Beachte: Angenommen α0 ist in k Schritten von Start(w ) aus erreichbar,
w gehört also zu L(M).
Dann muss dieses Programmstück mit Fehler“ abbrechen.
”
Es stehen nämlich in R(k) nicht genügend Konfigurationen zur Verfügung,
die alle echt größer als α0 sind. Damit lässt sich m(k) nicht berechnen und
dies führt zum Abbruch der Berechnung von r (∗) (falls w ∈ L(M)).
Platzbedarf: Wir müssen speichern:
◮
◮
◮
◮
Konfigurationen α, α′ mit |α|, |α′ | ≤ f (n).
m ≤ f (n)
Binärzähler bis k (um beliebiges α′ ∈ R(k) nichtdeterministisch zu
generieren)
Binärzähler bis r = r (k) (für repeat r times).
Hierfür ist Platz O(f (n))ausreichend.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
55 / 258
Der Satz von Immerman und Szelepcsényi: NSPACE(n) = CoNSPACE(n)
Beweis des Satzes von Immerman und Szelepcsényi
2. Schritt: Sei β eine beliebige Konfiguration. Die folgende Prozedur
Reach(r , k + 1, β) testet nichtdeterministisch mit Hilfe des Werts
r = r (k), ob β ∈ R(k + 1) gilt.
FUNCTION Reach(r , k + 1, β)
α := α0
repeat r times
berechne ein beliebiges α′ ∈ R(k)
if α′ = β oder α′ ⊢M β then return true (∗ d.h. β ∈ R(k + 1) ∗)
elseif α′ α then FEHLER“ ⇒ Programmabbruch
”
else α := α′
endif
endrepeat
return false (∗ d.h. β ∈
/ R(k + 1) ∗)
ENDFUNC
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
56 / 258
Der Satz von Immerman und Szelepcsényi: NSPACE(n) = CoNSPACE(n)
Beweis des Satzes von Immerman und Szelepcsényi
Beachte:
◮
Falls dieser Algorithmus nicht mit FEHLER“ abbricht, wird eine
”
korrekte Antwort ausgegeben.
Ist der korrekte Wert r (k) bekannt, so hat der Algorithmus die
Chance, nicht mit FEHLER“ abzubrechen.
”
Platzbedarf: Wir müssen speichern:
◮
◮
◮
◮
Konfigurationen α, α′ mit |α|, |α′ | ≤ f (n).
Binärzähler bis k (um beliebiges α′ ∈ R(k) nichtdeterministisch zu
generieren)
Binärzähler bis r = r (k) (für repeat r times).
Hierfür ist Platz O(f (n))ausreichend.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
57 / 258
Der Satz von Immerman und Szelepcsényi: NSPACE(n) = CoNSPACE(n)
Beweis des Satzes von Immerman und Szelepcsényi
3. Schritt: Berechne r (k + 1) mittels der Funktion berechne-r(k + 1, r )
aus r = r (k).
FUNCTION berechne-r(k + 1, r )
r ′ := 0 (∗ ist am Ende r (k + 1) ∗)
m := berechne-m(k, r )
forall Konfigurationen β mit |β| ≤ m(k) + 1 do
if Reach(r , k + 1, β) then
r ′ := r ′ + 1
endif
endforall
return r ′
ENDFUNC
Wir betrachten nur Konfigurationen β mit |β| ≤ m(k) + 1, da
m(k + 1) ≤ m(k) + 1.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
58 / 258
Der Satz von Immerman und Szelepcsényi: NSPACE(n) = CoNSPACE(n)
Beweis des Satzes von Immerman und Szelepcsényi
Eine erfolgreiche Berechnung von r (∗) ist genau dann möglich, wenn
w∈
/ L(M).
Man beachte dazu: Wenn w ∈ L(M), so bricht jede Rechnung mit einer
Fehlermeldung, ab, da die Funktion m(k), sobald sie die akzeptierende
Konfiguration α0 in R(k) vorfindet, nicht mehr erfolgreich durchlaufen
werden kann.
Sowie also der Wert r (∗) berechnet wurde, kann w als zum Komplement
von L(M) gehörig akzeptiert werden.
Analyse des Platzbedarfs: Aus den vorherigen Platzbetrachtungen folgt,
dass der gesamte Algorithmus mit Platz O(f (n)) auskommt.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
59 / 258
Die Translationstechnik
Die Translationstechnik
Der Translationssatzes erlaubt, aus einer Inklusion zwischen kleinen
Komplexitätsklassen eine Inklusion zwischen großen Klassen abzuleiten.
Idee: Ausstopfen (Padding) von Sprachen.
Sei
◮
◮
◮
L ⊆ Σ∗ eine Sprache,
f : N → N eine Funktion mit ∀n ≥ 0 : f (n) ≥ n, und
$∈
/ Σ ein neues Symbol.
Definiere die Sprache
Padf (L) = {w $f (|w |)−|w | | w ∈ L} ⊆ (Σ ∪ {$})∗ .
Beachte: jedem Wort aus L der Länge n ein Wort aus w $∗ der Länge f (n)
zugeordnet.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
60 / 258
Die Translationstechnik
Der Translationssatz für Zeitklassen
Translationssatz für Zeitklassen
Seien g und f zeitkonstrierbare Funktionen mit ∀n ≥ 0 : f (n), g (n) ≥ n.
Für L ⊆ Σ∗ gilt dann:
1. Padf (L) ∈ DTIME(O(g )) ⇐⇒ L ∈ DTIME(O(g ◦ f )),
2. Padf (L) ∈ NTIME(O(g )) ⇐⇒ L ∈ NTIME(O(g ◦ f )).
Beweis: Der Beweis wird für DTIME geführt; der Beweis für NTIME
verläuft analog.
⇒“: Sei Padf (L) ∈ DTIME(O(g )) und w ∈ Σ∗ eine Eingabe, |w | = n.
”
Wir entscheiden w ∈ L in Zeit O(g (f (n))) wie folgt:
1. Berechne das Wort w $f (|w |)−|w | in der Zeit f (|w |).
2. Teste in Zeit O(g (f (|w |))), ob w $f (|w |)−|w | ∈ Padf (L) gilt.
Nach Definition gilt
w $f (|w |)−|w | ∈ Padf (L) ⇐⇒ w ∈ L.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
61 / 258
Die Translationstechnik
Beweis des Translationssatzes
⇐“: Sei L ∈ DTIME(O(g ◦ f )) und sei x ∈ (Σ ∪ {$})∗ eine Eingabe
”
der Länge m.
Wir testen in Zeit O(g (m)), ob x ∈ Padf (L) gilt, wie folgt:
1. Teste in Zeit m ≤ g (m) ob x ∈ w $∗ für ein w ∈ Σ∗ gilt.
Sei x = w $m−n mit w ∈ Σ∗ , |w | = n.
2. Teste, ob in Zeit m ≤ g (m) ob f (n) = m gilt.
Hierfür berechnen wir f (n) unär, stoppen aber die Berechnung nach
m Schritten.
Sei x = w $f (n)−n .
3. Teste in Zeit O(g (f (n))) = O(g (m)), ob w ∈ L gilt.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
62 / 258
Die Translationstechnik
Der Translationssatz für Platzklassen
Translationssatz für Platzklassen (ohne Beweis)
Sei g ∈ Ω(log(n)), f (n) ≥ n für alle n ≥ 0. Auf eine unäre Eingabe 1n sei
der binär codierte Wert von f (n) in DSPACE(g ◦ f ) berechenbar. Für
L ⊆ Σ∗ gilt dann:
1. L ∈ DSPACE(g ◦ f ) ⇐⇒ Padf (L) ∈ DSPACE(g ),
2. L ∈ NSPACE(g ◦ f ) ⇐⇒ Padf (L) ∈ NSPACE(g ).
Konsequenz: Der Zusammenfall einer Hierarchie von Komplexitätsklassen
ist am ehesten weit oben zu erwarten. Wollen wir Separationsresultate
zeigen, so bestehen hierfür die besten Aussichten am unteren Ende einer
Hierarchie.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
63 / 258
Die Translationstechnik
Folgerungen aus dem Translationssatz für Platzklassen
Korollar aus Translationssatz für Platzklassen
DSPACE(n) 6= NSPACE(n) =⇒ L 6= NL.
Beweis: Angenommen L = NL.
Sei L ∈ NSPACE(n).
Dann gilt Padexp (L) ∈ NSPACE(log(n)) = NL = L = DSPACE(log(n)).
Aus dem Translationssatz für Platzklassen ergibt sich
L ∈ DSPACE(exp ◦ log) = DSPACE(n).
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
64 / 258
Die Translationstechnik
Folgerungen aus den Translationssätzen
Mit Hilfe der Translationstechnik lässt sich in einigen Fällen die
Verschiedenheit von Komplexitätsklassen nachweisen:
Korollar
P 6= DSPACE(n).
Beweis: Wählen Sprache L ∈ DSPACE(n2 ) \ DSPACE(n) (existiert nach
Platzhierarchiesatz) und die Padding–Funktion f (n) = n2 .
Dann gilt Padf (L) ∈ DSPACE(n).
Wäre nun DSPACE(n) = P, so wäre Padf (L) ∈ DTIME(nk ) für ein
k ≥ 1 und L ∈ DTIME(O(n2k )) ⊆ P = DSPACE(n).
Dies ist ein Widerspruch.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
65 / 258
Die Translationstechnik
Folgerungen aus den Translationssätzen
Bemerkung:
◮
Insbesondere gilt, dass P nicht gleich der Sprachklasse der
deterministisch kontextsensitiven Sprachen ist.
◮
Sowohl DSPACE(log(n)) = P, DSPACE(n) ⊂ P oder
P ⊂ DSPACE(n) sind nach heutigem Wissen möglich.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
66 / 258
Die Translationstechnik
Teil 3: Reduktionen und vollständige Probleme
Seien L ⊆ Σ∗ und L′ ⊆ Σ′ ∗ zwei Entscheidungs-Probleme.
Eine Reduktion von L auf L′ ist eine totale berechenbare Abbildung
f : Σ∗ → Σ′ ∗ mit: x ∈ L ⇐⇒ f (x) ∈ L′ .
Angenommen, wir kennen bereits einen Algorithmus zur Lösung von L′ .
Dann können wir die Frage x ∈ L wie folgt entscheiden:
1. Berechne den Wert f (x) ∈ Σ′ ∗
2. Entscheide mittels des Algorithmus für L′ ob f (x) ∈ L′ gilt.
x
-
Mf
f (x)
-
ML′
- ja
- nein
ML
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
67 / 258
Die Translationstechnik
Polynomialzeitreduktionen
Eine Reduktion f : Σ∗ → Σ′ ∗ von L auf L′ ist eine
Polynomialzeitreduktion, falls sich f durch eine deterministische
polynomialzeitbeschränkte Turingmaschine berechnen lässt.
Proposition
L′ ∈ P und ∃ Polynomialzeitreduktion von L auf L′
=⇒
L ∈ P.
Beweis: Angenommen L′ gehört zu DTIME(nk ) und f kann in Zeit nℓ
berechnet werden.
Für ein Eingabe x ∈ Σ∗ der Länge n kann f (x) in Zeit nℓ berechnet
werden.
Damit muss |f (x)| ≤ nℓ gelten, und es kann in Zeit (nℓ )k = nk·ℓ
entschieden werden, ob f (x) ∈ L′ (d.h. x ∈ L) gilt.
Gesamter Zeitbedarf: nℓ + nk·ℓ
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
68 / 258
Die Translationstechnik
Beispiel für Polynomialzeitreduktion
Sei G = (A, B, E ) ein bipartiter Graph, d.h., A ∩ B = ∅ und E ⊆ A × B.
Ein Matching M ist eine Teilmenge M ⊆ E , so dass keine zwei Kanten aus
M einen gemeinsamen Endknoten haben.
Wir zeigen, wie das Problem, ein Matching maximaler Größe zu
berechnen, sehr effizient auf die Berechnung eines Maximalflusses in einem
Netzwerk reduziert werden kann.
Ein Netzwerk ist ein Tupel N = (V , E , s, t, c), wobei:
◮ (V , E ) ein gerichteter Graph ist (d.h. E ⊆ V × V )
◮ s ∈ V ist die Quelle, t ∈ V ist die Senke, s 6= t,
◮ c : E → N ordnet jeder Kante e eine Kapazität c(e) > 0 zu.
Ein Fluß F ist eine Abbildung F : E → N mit:
P
P
◮ ∀v ∈ V \ {s, t} :
(x,v )∈E F (x, v ) =
(v ,y )∈E F (v , y )
(Flußerhaltung)
◮ ∀e ∈ E : F (e) ≤ c(e).
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
69 / 258
Die Translationstechnik
Beispiel für Polynomialzeitreduktion
Ein Fluß maximaler Größe kann in polynomialer Zeit mittlels des
Max-Flow=Min-Cut-Theorems von Ford-Fulkerson (wird hier nicht
behandelt) werden.
Die Reduktion von Maximum Matching auf Max-Flow startet mit einem
bipartiten Graphen G = (A, B, E ).
Konstruiere ein Netzwerk N = (V , E ′ , s, t, c) wie folgt:
◮
◮
◮
V = A ∪ B ∪ {s, t} (wobei s und t neue Knoten sind)
E ′ = E ∪ {(s, a) | a ∈ A} ∪ {(b, t) | b ∈ B}
c(x, y ) = 1 für alle (x, y ) ∈ E ′
Sei F : E ′ → N ein Fluß maximaler Größe in N.
Dann ist M = {e ∈ E | F (e) = 1} ein Matching maximaler Größe in G .
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
70 / 258
Die Translationstechnik
Beispiel für Polynomialzeitreduktion
Sei G = (A, B, E ) ein bipartiter Graph:
A
Volker Diekert (Universität Stuttgart)
B
Komplexitätstheorie
SS 2011
71 / 258
Die Translationstechnik
Beispiel für Polynomialzeitreduktion
Füge eine Quelle s und eine Senke t an:
A
B
s
Volker Diekert (Universität Stuttgart)
t
Komplexitätstheorie
SS 2011
72 / 258
Die Translationstechnik
Beispiel für Polynomialzeitreduktion
Berechne einen maximalen Fluß:
A
B
s
Volker Diekert (Universität Stuttgart)
t
Komplexitätstheorie
SS 2011
73 / 258
Die Translationstechnik
Beispiel für Polynomialzeitreduktion
Hieraus ergibt sich die Lösung des Matchingproblems:
A
Volker Diekert (Universität Stuttgart)
B
Komplexitätstheorie
SS 2011
74 / 258
Reduktionen
Reduktionen in logarithmischen Platz
Viele praktisch wichtige Reduktionen lassen sich in logarithmischem Platz
berechnen. ⇒ Logspace-Reduktionen
Definition Logspace-Transducer
Ein logarithmisch platzbeschränkter Transduktor (Logspace-Transducer)
ist eine deterministische Turingmaschine M mit
◮
einem Eingabeband, von dem nur gelesen werden kann,
◮
einem logarithmisch in der Eingabelänge platzbeschränkten
Arbeitsband, und
◮
einem separaten Ausgabeband, auf das nur geschrieben werden kann.
In jedem Rechenschritt von M wird
◮
◮
entweder ein neues Zeichen auf das Ausgabeband geschrieben und der
Schreibkopf wandert ein Feld nach rechts, oder
es wird kein neues Zeichen auf das Ausgabeband geschrieben und der
Schreibkopf bewegt sich nicht.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
75 / 258
Reduktionen
Reduktionen in logarithmischen Platz
Definition
1. Eine Abbildung f : Σ∗ → Σ′ ∗ heißt logspace berechenbar, falls gilt:
∃ Logspace-Transducer M ∀x ∈ Σ∗ :
M hält bei Eingabe x an mit f (x) ∈ Σ′ ∗ auf dem Ausgabeband
2. Ein Problem L ⊆ Σ∗ heißt logspace reduzierbar auf L′ ⊆ Σ′ ∗ , falls es
eine logspace berechenbare Abbildung f : Σ∗ → Σ′ ∗ gibt mit
∀x ∈ Σ∗ : x ∈ L ⇐⇒ f (x) ∈ L′ .
′
Kurzschreibweise: L ≤log
m L.
Der untere Index m steht hier für many-one, dies bedeutet, dass
mehrere Worte aus Σ∗ auf das selbe Wort in Σ′ ∗ abgebildet werden
können.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
76 / 258
Reduktionen
Reduktionen in logarithmischen Platz
Bemerkungen:
◮
◮
◮
Logspace-Reduktionen lassen sich auch auf Klassen unterhalb von P
anwenden und erlaubt eine feinere Einteilung als unter Verwendung
von Polynomialzeitreduktionen.
Jede logspace berechenbare Abbildung f : Σ∗ → Σ′ ∗ ist in
polynomialer Zeit berechenbar.
Insbesondere: ∃k ≥ 0 ∀x ∈ Σ∗ : |f (x)| ≤ |x|k .
Logspace-Reduktionen und Polynomialzeitreduktionen sind genau
dann gleichmächtig, wenn L = P gilt.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
77 / 258
Reduktionen
≤log
m ist transitiv
Proposition: ≤log
m ist transitiv
log ′′
′
L ≤log
m L ≤m L
=⇒
′′
L ≤log
m L
Beachte: Die analoge Aussage für Polynomialzeitreduktionen ist trivial.
Bei der Hintereinanderausführung von Logspace-Reduktionen f : Σ∗ → Σ′ ∗
und g : Σ′ ∗ → Σ′′ ∗ gibt es jedoch ein Problem:
◮
◮
◮
Für Eingabe w ∈ Σ∗ mit |w | = n gilt |f (w )| ≤ nk (k Konstante).
Die Anwendung von g auf f (w ) erfordert damit Platz
O(log(nk )) = O(log(n)).
Aber: In logarithmischen Platz kann f (w ) nicht auf das Arbeitsband
geschrieben werden.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
78 / 258
Reduktionen
≤log
m ist transitiv
Beweis der Proposition:
Wir berechnen g (f (w )) in Platz O(log(|w |) wie folgt:
◮
◮
Starte den Logspace-Transducer zur Berechnung von g (ohne f (w )
vorher zu berechnen).
Wenn während der Berechnung von g das i −te Bit von f (w ) benötigt
wird, wird der Logspace-Transducer zur Berechnung von f (w ) neu
gestartet, bis schließlich das i -te Bit von f (w ) ausgegeben ist.
Dabei werden die Bits 1, . . . , i − 1 von f (w ) nicht ausgegeben.
◮
Hierzu wird ein Binärzähler jedesmal, wenn der Logspace-Transducer
für f ein Ausgabebit produziert, hochgezählt.
Beachte: Binärzähler benötigt Platz O(log(|f (w )|) = O(log(|w |)
Beispiel: Sei f (n) = nk . Dann ist f logspace berechenbar.
Also gilt mit Hilfe der Reduktion w 7→ w $|w |
∗
Umgekehrt gilt Padf (L) ≤log
m L für L 6= Σ .
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
k −|w |
, dass L ≤log
m Padf (L).
SS 2011
79 / 258
Vollständige Probleme
Vollständige Probleme
Definition
1. Sei C eine Komplexitätsklasse.
Ein Problem L ⊆ Σ∗ heißt schwierig für C oder kurz C-schwierig
(bzgl. logspace-Reduktionen), falls gilt: ∀K ∈ C : K ≤log
m L.
2. Sei C eine Komplexitätsklasse. Ein Problem L ⊆ Σ∗ heißt
C-vollständig (bzgl. logspace-Reduktionen), falls L schwierig für C ist
und zusätzlich L ∈ C gilt.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
80 / 258
Vollständige Probleme
GAP ist NL-vollständig
Wir geben ein erstes Beispiel:
Theorem
Das Grapherreichbarkeitsproblem GAP ist NL-vollständig.
Beweis:
GAP ∈ NL wurde bereits gezeigt.
Sei L ∈ NL, sei M eine nichtdeterministische logspace-platzbeschränkte
Turingmaschine mit L = L(M).
Wir definieren eine Reduktion f wie folgt: Für w ∈ Σ∗ sei f (w ) = (G , s, t)
mit:
◮ G = (V , E ) ist der gerichtete Graph mit:
V = {α | α ist Konfig. von M bei Eingabe w , |α| ≤ log(|w |)}
◮
◮
E = {(α, β) | α, β ∈ V , α ⊢M β}
s = Start(w )
t = die (o.B.d.A) eindeutige akzeptierende Konfiguration von M.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
81 / 258
Vollständige Probleme
GAP ist NL-vollständig
Offensichtlich gilt:
w ∈ L(M) ⇐⇒ in G gibt es einen gerichteten Pfad von s nach t.
f kann offensichtlich in logarithmischen Platz berechnet werden.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
82 / 258
Vollständige Probleme
2-SAT ist NL-vollständig
2-SAT ist NL-vollständig
Theorem
Das Problem 2-SAT = 2-KNF ∩ SAT ist NL-vollständig.
Aufgrund des Satzes von Szelepcsényi-Immermann genügt es, die
NL-Vollständigkeit von 2−NSAT = {Φ ∈ 2-KNF : Φ 6∈ SAT } zu zeigen.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
83 / 258
Vollständige Probleme
2-SAT ist NL-vollständig
NL-Schwierigkeit
◮
2−NSAT ist NL-schwierig:
Sei GAP das Grapherreichbarkeitsproblem. Wir zeigen
GAP ≤log
m 2−NSAT. Sei G = (V , E ) ein gerichteter Graph und
s, t ∈ V . Aus jedem Knoten u machen wir eine Variable gleichen
Namens und aus jeder Kante (u, v ) ∈ E eine Implikation u ⇒ v , also
die Klausel ¬u ∨ v . Desweiteren fügen wir die Klauseln s und ¬t
hinzu.
Offensichtlich ist die so konstruierte Formel unerfüllbar, wenn in G ein
Weg von s nach t existiert.
Ist ein solcher Weg nicht vorhanden, so können alle Variablen, deren
zugehörige Knoten von s aus erreichbar sind, zu wahr und alle
übrigen zu falsch gesetzt werden. Dies definiert eine die Formel
erfüllende Belegung.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
84 / 258
Vollständige Probleme
2-SAT ist NL-vollständig
2−NSAT liegt in NL
Gegeben sei eine 2-KNF-Formel Φ in den Variablen x1 , . . . , xn .
Wir konstruieren einen Graphen mit Knotenmenge
V = {x1 , . . . , xn , x1 , . . . , xn }.
Jede Klausel α ∨ β lesen wir als Implikation und führen daher zwei Kanten
α → β und β → α ein.
α ∨ β ⇔ (α ⇒ β) ∧ (β ⇒ α)
∗
Behauptung: Es gibt genau dann einen Knoten x und Pfade x −→ x sowie
∗
x −→ x, wenn Φ unerfüllbar ist.
Somit kann die Nichterfüllbarkeit von Φ mit Hilfe des NL-Algorithmus für
Grapherreichbarkeit überprüft werden.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
85 / 258
Vollständige Probleme
2-SAT ist NL-vollständig
Beweis der Behauptung
,,⇒” ist einfach: Die Klauseln, welche zu den Kanten gehören, die die
Pfade bilden, ergeben die Implikationen x ⇒ ¬x und ¬x ⇒ x. Wir können
also weder x noch ¬x auf wahr setzen.
,,⇐”: Nun nehmen wir an, dass für jede Variable x höchstens einer der
∗
∗
Pfade x −→ x oder x −→ x existiert.
Wir können annehmen, dass genau einer dieser Pfade existiert:
∗
∗
Denn existiert weder x −→ x noch x −→ x, so füge die Kante x → x
hinzu. (D.h., C = x ∨ x = x)
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
86 / 258
Vollständige Probleme
2-SAT ist NL-vollständig
Beweis der Behauptung
∗
Angenommen, wir hätten durch Hinzunahme von x −→ x einen Kreis mit
α und α erzeugt.
Dann benutzt dieser Kreis die Kante x → x, also erhalten wir eines der
∗
folgender Bilder, wobei −→ alte Kanten bezeichnet.
∗
∗
∗
∗
α −→ x → x −→ α −→ α −→ x
∗
∗
∗
∗
α −→ x → x −→ α −→ x → x −→ α
∗
Damit hatte der ursprüngliche Graph einen Pfad x −→ x, im Widerspruch
zur Annahme. Durch Wiederholung der Hinzunahme von Kanten erreichen
∗
wir, dass schließlich immer genau einer dieser Pfade existiert: x −→ x oder
∗
x −→ x.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
87 / 258
Vollständige Probleme
2-SAT ist NL-vollständig
2-SAT ist NL-vollständig
∗
∗
Wir setzen jetzt x zu wahr, falls x −→ x und zu falsch, wenn x −→ x.
Diese Belegung ist erfüllend: Wir betrachten eine beliebige Klausel
C = α ∨ β und nehmen an, dass β = falsch gilt (sonst ist C ohnehin
schon erfüllt). Dann gibt es nach der Konstruktion der Belegung einen
∗
Weg β −→ β. Außerdem gibt es wegen der Klausel C die Kanten α → β
und β → α. Wir erhalten somit den Weg
∗
α → β −→ β → α.
Damit gilt α = wahr. Also ist die Klausel erfüllt.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
88 / 258
Vollständige Probleme
2-SAT ist NL-vollständig
Teil 4: NP-Vollständigkeit
Theorem
Falls es eine NP-vollständige Sprache gibt, so auch eine in NTIME(n):
∃L : L ist NP-vollständig ⇒ ∃L̃ ∈ NTIME(n) : L̃ ist NP-vollständig.
Beweis: Sei L ein NP-vollständiges Problem.
Es existiert eine Konstante k > 0 mit L ∈ NTIME(nk ).
Aus dem Translationssatz für Zeitklassen folgt Padnk (L) ∈ NTIME(n).
Sei nun L′ ∈ NP beliebig.
log
⇒ L′ ≤log
m L ≤m Padnk (L)
log
′
Da ≤log
m transitiv ist, folgt L ≤m Padnk (L).
⇒ Padp(n) (L) ist NP-vollständig.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
89 / 258
Vollständige Probleme
2-SAT ist NL-vollständig
Das generische NP-vollständige Problem
Sei hw , Mi eine Codierung eines Wortes w ∈ Σ∗ und einer
nichtdeterministischen Turingmaschine M.
LGen = {hw , Mi $m |w ∈ Σ∗ , M nichtdeterministische Turingmaschine,
m ∈ N, M hat bei Eingabe w eine akzeptierende
Berechnung der Länge ≤ m}
Theorem
LGen ist NP-vollständig.
Beweis:
LGen ∈ NP:
Für eine Eingabe hw , Mi $m simuliere M bei Eingabe w
nichtdeterministisch für maximal m Schritte.
Dies ist ein nichtdeterministischer Polynomialzeitalgorithmus für LGen .
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
90 / 258
Vollständige Probleme
2-SAT ist NL-vollständig
Das generische NP-vollständige Problem
LGen ist NP-schwierig:
Sei L ∈ NP beliebig und M eine nk -zeitbeschränkte nichtdeterministische
Turingmaschine mit L = L(M) (k ist eine Konstante).
Die Reduktion von L auf LGen berechnet nun in logarithmischem Platz auf
eine Eingabe w ∈ Σ∗ die Ausgabe
k
f (w ) = w , M $n .
Es gilt: w ∈ L(M) ⇐⇒ f (w ) ∈ LGen .
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
91 / 258
Vollständige Probleme
2-SAT ist NL-vollständig
Der Satz von Cook und Levin
Sei Σ0 = {¬, ∧, ∨, ⇒, ⇔, 0, 1, (, ), x}.
Sei A ⊆ Σ∗0 die Menge aller aussagenlogischen Formeln über der
Variablenmenge V = x1{0, 1}∗ .
A ⊆ Σ∗0 ist deterministisch kontextfrei und gehört damit zu DTIME(n).
Sei SAT = {F ∈ A | F ist erfüllbar}.
(Eine aussagenlogische Formel F ist erfüllbar, wenn es eine Belegung
B : Var(F ) → {true, false} der in F vorkommenden Variablen mit
Wahrheitswerten gibt, unter der sich F zu true auswertet.)
Satz von Cook (und Levin)
SAT ist NP-vollständig.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
92 / 258
Vollständige Probleme
2-SAT ist NL-vollständig
Beweis des Satzes von Cook
(A) SAT ∈ NP: Für ein F ∈ Σ∗0 überprüfen wir “F ∈ SAT” wie folgt:
1. Teste in Zeit O(|F |) ob F ∈ A gilt.
2. Falls “JA”, rate eine Belegung B : Var(F ) → {true, false}.
3. Akzeptiere, falls F sich unter der Belegung B zu true auswertet.
(B) SAT ist NP-schwierig.
Sei L ∈ NP.
Zu w ∈ Σ∗ konstruieren wir eine Formel f (w ) mit
w ∈L
⇐⇒ f (w ) erfüllbar .
Die Abbildung f wird logspace berechenbar sein.
Sei M = (Q, Σ, Γ, δ, q0 , F , b) eine p(n)-zeitbeschränkte
nichtdeterministische Turingmaschine mit L = L(M)
(p(n) ist ein Polynom).
Sei w = w1 w2 · · · wn ∈ Σ eine Eingabe der Länge n.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
93 / 258
Vollständige Probleme
2-SAT ist NL-vollständig
Beweis des Satzes von Cook
Wir stellen o.B.d.A. folgende Forderungen an M:
1. M hat nur ein Band, auf dem die Eingabe zu Beginn steht, und auf
das geschrieben werden darf.
2. F = {qf }, d.h. es gibt nur einen Endzustand.
3. Bei Eingabe w ∈ Σ∗ macht M mindestens p(n) Schritte und nach
p(n) Schritten sind wir genau dann im Endzustand, wenn w von M
akzeptiert wird.
4. Nach p(n) Schritten ist der Schreib-Lesekopf wieder auf der
Ausgangsposition.
5. (q, a, q ′ , a′ , D), (q, b, p ′ , b ′ , D ′ ) ∈ δ =⇒ a = b, a′ = b ′ , D = D ′
Nur hinsichtlich des Folgezustand q ′ haben wir also eine
nichtdeterministische Wahl.
Idee: Definiere Zustandsmenge und Transitionsrelation wie folgt um:
Die neue Transitionsrelation ist
Q ′ = {(q[a, a′ , D] | q ∈ Q, a, a′ ∈ Γ, D ∈ {→, ←, N}}
δ′ = {(q[a, a′ , D], a, q ′ [b, b ′ , D ′ ], a′ , D) | (q, a, q ′ , a′ , D) ∈ δ,
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
94 / 258
Vollständige Probleme
2-SAT ist NL-vollständig
Beweis des Satzes von Cook
Aus Punkt (1) folgt, dass jede von der Startkonfiguration erreichbare
Konfiguration durch ein Wort aus
Conf = {buqv b | q ∈ Q; u, v ∈ Γ∗ ; |uv | = p(n)}
beschrieben werden.
Die Startkonfiguration ist bq0 w bp(n)+1−n .
Wegen Punkt (2) und (4) sind die akzeptierenden Konfigurationen
diejenigen aus bqf Γp(n) b.
Notation: Für ein α ∈ Conf schreiben wir
α = α[−1]α[0] · · · α[p(n)]α[p(n) + 1]
wobei α[−1] = b, α[0], . . . , α[p(n)] ∈ Q ∪ Γ, α[p(n) + 1] = b.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
95 / 258
Vollständige Probleme
2-SAT ist NL-vollständig
Beweis des Satzes von Cook
Definiere die Menge der 4-Tupel
∆ = {(a, b, c, b) | a, b, c ∈ Γ}
∪ {(c, b, q, p), (b, q, a, b), (q, a, d, a′ ) | (q, a, p, a′ , ←) ∈ δ, c, b, d ∈ Γ}
∪ {(c, b, q, b), (b, q, a, p), (q, a, d, a′ ) | (q, a, p, a′ , N) ∈ δ, c, b, d ∈ Γ}
∪ {(c, b, q, b), (b, q, a, a′ ), (q, a, d, p) | (q, a, p, a′ , →) ∈ δ, c, b, d ∈ Γ}
Wegen Punkt (5) gilt dann für alle α, α′ ∈ b(Q ∪ Γ)∗ b mit |α| = |α′ |:
α, α′ ∈ Conf und α ⊢M α′
⇐⇒
α ∈ Conf und ∀i ∈ {0, . . . , p(n)} : (α[i − 1], α[i ], α[i + 1], α′ [i ]) ∈ ∆.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
96 / 258
Vollständige Probleme
2-SAT ist NL-vollständig
Beweis des Satzes von Cook
Beispiel:
Falls (q, a, p, a′ , ←) ∈ δ ist folgende lokale Bandänderung für alle b ∈ Γ
möglich:
Position
i−1
i
i+1
α
=
···
···
b
q
a
···
···
α′
=
···
···
p
b
a′
···
···
Falls (q, a, p, a′ , →) ∈ δ ist folgende lokale Bandänderung für alle b ∈ Γ
möglich:
Position
α = ···
α′
=
···
Volker Diekert (Universität Stuttgart)
···
···
i−1
b
i
q
i+1
a
b
a′
p
Komplexitätstheorie
···
···
···
···
SS 2011
97 / 258
Vollständige Probleme
2-SAT ist NL-vollständig
Beweis des Satzes von Cook
Eine Rechnung von M können wir nun als Matrix beschreiben:
α0
α1
= b
= b
α0,0
α1,0
α0,1
α1,1
..
.
...
...
αp(n) = b αp(n),0 αp(n),1 . . .
α0,p(n)
α1,p(n)
b
b
αp(n),p(n) b
Für jedes Tripel (a, i , t) (a ∈ Q ∪ Γ, −1 ≤ i ≤ p(n) + 1, 0 ≤ t ≤ p(n)) sei
x(a, i , t) aussagenlogische Variable.
Interpretation: x(a, i , t) = true genau dann, wenn zum Zeitpunkt t das
i -te Zeichen der aktuellen Konfiguration ein a ist.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
98 / 258
Vollständige Probleme
2-SAT ist NL-vollständig
Beweis des Satzes von Cook
An Position −1 (bzw. p(n) + 1) steht immer b:
^ G (n) =
x(b, −1, t) ∧ x(b, p(n) + 1, t)
0≤t≤p(n)
Für jedes Paar (i , t) ist genau eine Variable x(a, i , t) wahr (zu jedem
Zeitpunkt kann auf einem Bandfeld nur ein Zeichen stehen):
X (n) =
^
0≤t≤p(n)
−1≤i ≤p(n)+1
Volker Diekert (Universität Stuttgart)


_ a∈Q∪Γ
x(a, i , t) ∧
Komplexitätstheorie
^
b6=a

¬x(b, i , t) 
SS 2011
99 / 258
Vollständige Probleme
2-SAT ist NL-vollständig
Beweis des Satzes von Cook
Zum Zeitpunkt t = 0 ist die Konfiguration gleich bq0 w bp(n)+1−n

S(w ) = x(q0 , 0, 0) ∧
n
^
i =1
p(n)
x(wi , i , 0) ∧
^
i =n+1

x(b, i , 0)
Die Berechnung respektiert die lokale Relation ∆:
D(n) =
^
_
0≤i ≤p(n) (a,b,c,d)∈∆
0≤t<p(n)
Volker Diekert (Universität Stuttgart)
x(a, i − 1, t) ∧ x(b, i , t) ∧
x(c, i + 1, t) ∧ x(d, i , t + 1)
Komplexitätstheorie
SS 2011
!
100 / 258
Vollständige Probleme
2-SAT ist NL-vollständig
Beweis des Satzes von Cook
Sei schließlich
R(w ) = G (n) ∧ X (n) ∧ S(w ) ∧ D(n).
Es ergibt sich eine natürliche Bijektion zwischen der Menge der R(w )
erfüllenden Belegungen und der Menge derjenigen Rechnungen von M auf
die Eingabe w , die aus p(n) Rechenschritten bestehen.
Der Wert der Variablen x(qf , 0, p(n)) einer erfüllenden Belegung gibt an,
ob die entsprechende Rechnung erfolgreich war.
Für f (w ) = R(w ) ∧ x(qf , 0, p(n)) gilt somit:
f (w ) erfüllbar
⇐⇒
w ∈ L.
Zahl der Variablen von f (w ) ∈ O(p(n)2 )
Länge von f (w ) ∈ O(p(n)2 log p(n))
Der Faktor log p(n) ist notwendig, da zum Aufschreiben der Indizes
log p(n) viele Bits benötigt werden.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
101 / 258
Vollständige Probleme
2-SAT ist NL-vollständig
Weitere NP-vollständige Probleme: (1) SAT ∩ KNF
Definition: Literale, KNF
Ein Literal x̃ ist eine aussagenlogische Variable oder die Negation einer
aussagenlogischen Variablen.
Statt ¬x schreiben wir auch x. Außerdem sei x = x.
Sei KNF (bzw. DNF) die Menge der aussagenlogischen Ausdrücke in
konjunktiver Normalform (bzw. disjunktiver Normalform):
DNF = {F | F ist Disjunktion von Konjunktionen von Literalen}
KNF = {F | F ist Konjunktion von Disjunktionen von Literalen}
Fakt: Jede aussagenlogische Formel F gibt es äquivalente Formeln
DNF(F ) ∈ DNF und KNF(F ) ∈ KNF.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
102 / 258
Vollständige Probleme
2-SAT ist NL-vollständig
Weitere NP-vollständige Probleme: (1) SAT ∩ KNF
Beispiel:
F =
^
i =1,...,k
_
j=1,...,m
x̃i ,j
!
≡
_
f ∈{1,...,m}{1,...,k}
^
x̃i ,f (i )
i =1,...,k
!
= F′
Beachte:
◮
|F | = m · k während |F ′ | = mk · k, d.h. eine KNF-Formel mit k
Disjunktionen der Länge m kann in eine äquivalente DNF-Formel
bestehend aus mk Konjunktionen der Länge k umgewandelt werden.
◮
Für Formeln in DNF kann Erfüllbarkeit deterministisch in
quadratischer Zeit überprüft werden.
◮
Wir werden gleich sehen, dass Erfüllbarkeit für Formeln in KNF
NP-vollständig ist.
Deswegen ist der exponentielle Blow-Up bei der Umwandlung von
KNF in DNF nicht überraschend.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
103 / 258
Vollständige Probleme
2-SAT ist NL-vollständig
SAT ∩ KNF ist NP-vollständig
Theorem
SAT ∩ KNF ist NP-vollständig.
Beweis:
(1) SAT ∩ KNF ∈ NP: trivial, denn (i) SAT ∈ NP und (ii) für eine
Formel kann in Zeit O(n) getestet werden, ob sie in KNF ist.
(2) SAT ∩ KNF ist NP-schwierig:
1. Beweis: Im Beweis der NP-Vollständigkeit von SAT haben wir eine
Formel konstruiert, die bis auf innere Teilformeln konstanter Länge bereits
in KNF war.
Wir können also durch eine weitere logspace-berechenbare Abbildung die
Formel in KNF bringen und sind fertig.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
104 / 258
Vollständige Probleme
2-SAT ist NL-vollständig
SAT ∩ KNF ist NP-vollständig
2. Beweis: Wir zeigen SAT ≤log
m SAT ∩ KNF.
Hierzu müssen wir eine logspace-berechenbare Abbildung f : A → KNF
angeben mit:
F ∈ SAT ⇐⇒ f (F ) ∈ SAT ∩ KNF.
Wir können eine Formel F ∈ A als einen Baum T (F ) auffassen, der sich
rekursiv folgendermaßen aufbauen lässt:
1. Für eine Variable x sei T (x) = x.
2. Ist F die Negation einer Formel A, also F = ¬A, so habe T (F )
folgende Gestalt:
¬
T (A)
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
105 / 258
Vollständige Probleme
2-SAT ist NL-vollständig
SAT ∩ KNF ist NP-vollständig
3. Besteht F aus der Verknüpfung zweier Teilformeln A, B, d.h.
F = A ◦ B mit ◦ ∈ {⇐⇒, ⇒, ∧, ∨}, so habe T (F ) folgende Gestalt:
◦
T (A)
T (B)
Für die Formel
F = (¬(¬¬x1 ∧ x2 )) ⇐⇒ (x2 ∨ x3 ) ∧ x1 ⇒ (¬x2 ∨ x3 )
erhalten wir beispielsweise den Baum T (F ) auf der nächsten Folie:
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
106 / 258
Vollständige Probleme
2-SAT ist NL-vollständig
SAT ∩ KNF ist NP-vollständig
∧
⇔
¬
x1
∨
∧ x2
¬
⇒
x2
x3
∨
¬
x3
x2
¬
x1
Ordnen nun jedem Knoten v von T (F ) eine neue Variable v (A) zu, wobei
A die durch v repräsentierte Teilformel von F ist.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
107 / 258
Vollständige Probleme
2-SAT ist NL-vollständig
SAT ∩ KNF ist NP-vollständig
Definiere Hilfsfunktion f ′ : A → SAT ∩ KNF rekursiv wie folgt:
1. Ist F = x, so ist f ′ (F ) := KNF v (x) ⇐⇒ x .
2. Ist F = A ◦ B mit ◦ ∈ {⇐⇒, ⇐, ∧, ∨}, so ist
f ′ (F ) := KNF v (F ) ⇐⇒ (v (A) ◦ v (B)) ∧ f ′ (A) ∧ f ′ (B)
3. Ist F = ¬A, so ist
f ′ (F ) := KNF v (F ) ⇐⇒ ¬v (A) ∧ f ′ (A)
Hier erhalten wir nach entsprechender Umformung:
f ′ (F ) = v (F ) ∨ v (A) ∧ ¬v (F ) ∨ ¬v (A) ∧ f ′ (A)
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
108 / 258
Vollständige Probleme
2-SAT ist NL-vollständig
SAT ∩ KNF ist NP-vollständig
Beachte: In der Definition von f ′ (noch nicht die eigentliche Reduktion)
wenden wir KNF nur auf Formeln konstanter Länge an.
Lemma
1. f ′ (F ) ist stets erfüllbar.
2. Sei σ eine erfüllende Belegung von f ′ (F ) und σ ′ die Restriktion von σ
auf die Variablen von F . Dann gilt: σ(F ) = σ ′ (F ) = σ(v (F )).
3. Sei V (F ) die Menge der in F vorkommenden Variablen und
σ ′ : V (F ) → {0, 1} eine beliebige Belegung. Dann existiert eine
erfüllende Belegung σ : V (f ′ (F )) → {0, 1} mit σ ′ (x) = σ(x) für alle
Variablen x ∈ V (F ).
Nach (2) muss für die erfüllende Belegung in (3) σ(v (F )) = σ ′ (F ) gelten.
Der Beweis von (2) und (3) mittels struktureller Induktion sei dem Leser
zur Übung überlassen. (1) folgt unmittelbar aus (3).
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
109 / 258
Vollständige Probleme
2-SAT ist NL-vollständig
SAT ∩ KNF ist NP-vollständig
Intuition
Den Baum T (F ) kann man sich als Schaltnetz vorstellen, wobei die
Blätter die Eingänge bilden.
Die Wurzel v (F ) stellt den Ausgang dar und die inneren Knoten
entsprechen Logikgattern.
Geben wir nun eine bestimmte Belegung σ in dieses Netz ein, so wird diese
ebenenweise von unten nach oben propagiert und wir erhalten am Ausgang
σ(F ).
Die eigentliche Reduktion f : A → KNF können wir jetzt definieren durch
f (F ) := (f ′ (F ) ∧ v (F )).
Behauptung: f (F ) erfüllbar genau dann, wenn F erfüllbar.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
110 / 258
Vollständige Probleme
2-SAT ist NL-vollständig
SAT ∩ KNF ist NP-vollständig
Beweis der Behauptung:
(A) Sei σ ′ eine Belegung von F mit σ ′ (F ) = 1.
Nach (3) aus dem Lemma existiert eine Belegung σ für f ′ (F ) mit
σ(f ′ (F )) = 1 und σ(x) = σ ′ (x) für alle Variablen von F .
Aus (2) folgt σ(v (F )) = σ ′ (F ) = 1.
Also: σ(f ′ (F ) ∧ v (F )) = 1.
(B) Sei σ eine Belegung von f ′ (F ) ∧ v (F ) mit σ(f ′ (F ) ∧ v (F )) = 1.
Für die Restriktion σ ′ auf die Variablen von F gilt nach (2):
σ ′ (F ) = σ(v (F )) = 1.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
111 / 258
Vollständige Probleme
2-SAT ist NL-vollständig
3-SAT ist NP-vollständig
Definition: 3-SAT
Sei 3-KNF die Menge der Formeln in konjunktiver Form mit genau drei
Literalen je Klausel:
3-KNF := {F ∈ KNF | Jede Klausel in F enthält genau drei Literale}
3-SAT sei die Teilmenge der davon erfüllbaren Formeln:
3-SAT := 3-KNF ∩ SAT
Theorem
3-SAT ist NP-vollständig.
Beweis: Nur die NP-Schwierigkeit ist nicht trivial.
Wir zeigen: SAT ∩ KNF ≤log
m 3-SAT.
Sei F eine KNF-Formel. Wir unterscheiden drei Fälle:
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
112 / 258
Vollständige Probleme
2-SAT ist NL-vollständig
3-SAT ist NP-vollständig
1. F enthält eine Klausel (x̃) mit nur einem Literal.
Führe neue Variable y ein und ersetze (x̃) durch (x̃ ∨ y ) ∧ (x̃ ∨ y ).
Dies hat auf die Erfüllbarkeit von F keine Auswirkung.
2. F enthält eine Klausel (x̃ ∨ ỹ ) mit zwei Literalen.
Führe neue Variable z ein und ersetzte (x̃ ∨ ỹ ) durch
(x̃ ∨ ỹ ∨ z) ∧ (x̃ ∨ ỹ ∨ z).
3. F enthält Klauseln mit mehr als drei Literalen.
Sei also c = (x̃1 ∨ x̃2 ∨ · · · ∨ x̃k ) eine solche Klausel mit k ≥ 4
Literalen.
Führe k − 3 neue Variablen v (x̃3 ), v (x̃4 ), . . . , v (x̃k−2 ), v (x̃k−1 ) ein und
ersetzen c durch
^
k−2
v (x̃i ) ∨ x̃i ∨ v (x̃i +1 )
c ′ = x̃1 ∨ x̃2 ∨ v (x̃3 ) ∧
i =3
∧ v (x̃k−1 ) ∨ x̃k−1 ∨ x̃k .
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
113 / 258
Vollständige Probleme
2-SAT ist NL-vollständig
3-SAT ist NP-vollständig
Beachte: c ′ kann auch geschrieben werden als
c
′
=
^
k−2
v (x̃i ) ⇒ x̃i ∨ v (x̃i +1 )
x̃1 ∨ x̃2 ∨ v (x̃3 ) ∧
i =3
∧ v (x̃k−1 ) ⇒ x̃k−1 ∨ x̃k .
Dass (3) nichts an der Erfüllbarkeit ändert folgt aus folgenden Punkten:
(A) Sei σ eine erfüllende Belegung für c.
Dann muss σ(x̃i ) = 1 für ein 1 ≤ i ≤ k gelten.
Erweitere σ zu einer erfüllenden Belegung von c ′ durch:
(
1 falls j ≤ i
σ ′ (v (x̃j )) =
0 falls j > i
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
114 / 258
Vollständige Probleme
2-SAT ist NL-vollständig
3-SAT ist NP-vollständig
(B) Sei σ ′ eine erfüllende Belegung für c ′ .
Angenommen σ ′ (x̃i ) = 0 für alle 1 ≤ i ≤ k.
=⇒ σ ′ (v (x̃3 )) = 1 (da σ ′ (x̃1 ∨ x̃2 ∨ v (x̃3 )) = 1)
Mit Induktion folgt: σ ′ (v (x̃i )) = 1 für alle 3 ≤ i ≤ k − 1.
=⇒ σ ′ (v (x̃k−1 ) ∨ x̃k−1 ∨ x̃k )) = 0
Volker Diekert (Universität Stuttgart)
Widerspruch!
Komplexitätstheorie
SS 2011
115 / 258
Vollständige Probleme
2-SAT ist NL-vollständig
Integer Programming
Es sei
LinProg(Z) := {hA, bi | A ∈ Zm×n , b ∈ Zm×1 , ∃x ∈ Zn×1 : Ax ≥ b}
Zahlen aus Z werden hier binär kodiert.
Theorem
LinProg(Z) ist NP-vollständig.
Beweis:
(1) LinProg(Z) ∈ NP:
Dies ist der schwierige Teil des Beweises, siehe z. B. Hopcroft, Ullman;
Introduction to Automata Theory, Languages and Computation, Addison
Wesley 1979
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
116 / 258
Vollständige Probleme
2-SAT ist NL-vollständig
Integer Programming
(2) LinProg(Z) ist NP-schwierig.
Wir zeigen 3-SAT ≤log
m LinProg(Z).
Sei F = c1 ∧ c2 ∧ · · · ∧ cq eine Formel in 3-KNF.
Seien x1 , . . . , xn die Variablen in F .
Wir bilden das folgende System S von Z-Ungleichungen über den
Variablen xi , xi , 1 ≤ i ≤ n:
1. xi ≥ 0, 1 ≤ i ≤ n
2. xi ≥ 0, 1 ≤ i ≤ n
3. xi + xi ≥ 1, 1 ≤ i ≤ n
4. −xi − xi ≥ −1, 1 ≤ i ≤ n
5. x̃j1 + x̃j2 + x̃j3 ≥ 1, für jede Klausel cj = (x̃j1 ∨ x̃j2 ∨ x̃j3 ).
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
117 / 258
Vollständige Probleme
2-SAT ist NL-vollständig
Integer Programming
(3) und (4)
=⇒
xi + xi = 1
(1) und (2)
=⇒
xi = 1, xi = 0 oder xi = 0, xi = 1
(5)
=⇒
in jeder Klausel cj hat mindestens ein Literal
x̃ij den Wert 1
Also: S lösbar genau dann, wenn F erfüllbar.
Größe von S: 4n + q Ungleichungen, 2n Variablen.
Schreiben wir S in Matrixform Ax ≥ b, so hat A (bzw. b) (4n + q) × 2n
(bzw. 4n + q) Einträge von Absolutbetrag ≤ 1.
Bemerkungen:
◮ Obiger Beweis zeigt, dass LinProg(Z) bereits bei unärer Kodierung
NP-schwierig ist.
◮ LinProg(Q) ∈ P. Dieser Nachweis ist sehr schwierig und beruht auf
der Ellipsoidmethode von Khachiyan.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
118 / 258
Vertex Cover
Vertex Cover ist NP-vollständig
Eine Knotenüberdeckung (vertex cover) für einen ungerichteten Graphen
G = (V , E ) ist eine Teilmenge C ⊆ V , so das für jede Kante {u, v } ∈ E
gilt: {u, v } ∩ C 6= ∅
Vertex Cover (VC) ist das folgende Problem:
Eingabe: Ein ungerichteter Graph G = (V , E ) und ein k ≥ 0.
Frage: Hat G Knotenüberdeckung C mit |C | ≤ k?
Theorem
VC ist NP-vollständig.
Beweis:
(1) VC ∈ NP: Rate eine Teilmenge C der Knoten mit |C | ≤ k und
überprüfe danach in Polynomialzeit, ob C eine Knotenüberdeckung ist.
(1) VC ist NP-schwierig:
Wir zeigen 3-SAT ≤log
m VC.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
119 / 258
Vertex Cover
Vertex Cover ist NP-schwierig
Sei
F = c1 ∧ · · · ∧ cq
eine Formel in 3-KNF, wobei
f
cj = (f
xj1 ∨ xf
j2 ∨ x
j3 ).
Wir konstruieren einen Graphen G (F ) wie folgt:
f
Zunächst bilden wir zu jeder Klausel cj = (f
xj1 ∨ xf
j2 ∨ x
j3 ) den folgenden
Graphen G (cj ):
xf
j3
xf
j1
Volker Diekert (Universität Stuttgart)
xf
j2
Komplexitätstheorie
SS 2011
120 / 258
Vertex Cover
Vertex Cover ist NP-schwierig
S
Der Graph G (F ) entsteht aus der disjunkten Vereinigung qj=1 G (cj ) aller
dieser Teilgraphen G (cj ) durch Einfügen aller Kanten (x, x ) (x ist eine
Variable aus F ).
Beispiel:
Für die Formel F = (x ∨ y ∨ z) ∧ (x ∨ s ∨ r ) ∧ (y ∨ s ∨ z) ∧ (x ∨ s ∨ r )
führt diese Konstruktion zu folgendem Graphen G (F ):
z
x
r
y
Volker Diekert (Universität Stuttgart)
x
r
z
s
Komplexitätstheorie
y
s
x
SS 2011
s
121 / 258
Vertex Cover
Vertex Cover ist NP-schwierig
Beachte: In G (F ) kann es kein Vertex Cover U mit weniger als 2q Knoten
geben, da in jedem der q Dreiecke mindestens 2 Knoten zu U gehören
müssen.
Behauptung:F ∈ 3-SAT genau dann, wenn G (F ) ein Vertex Cover U mit
|U| = 2q hat.
(A) Sei σ eine erfüllende Belegung für F .
Dann wird in jeder Klausel cj mindestens ein Literal xeji wahr.
Sei U eine Knotenmenge, die für jeden Teilgraphen G (cj ) genau zwei
Knoten enthält, so dass nicht-erfüllte Literale zu U gehören.
Dann gilt |U| = 2q und U ist ein Vertex-Cover.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
122 / 258
Vertex Cover
Vertex Cover ist NP-schwierig
(B) Sei U ein Vertex-Cover mit |U| = 2q.
Dann enthält U aus jedem Teilgraphen G (cj ) genau zwei Knoten.
Definiere Belegung σ durch


1 falls eine Kopie von x nicht zu U gehört.
σ(x) = 0 falls eine Kopie von x nicht zu U gehört.


0 falls alle Kopien von x und x zu U gehören.
Beachte: Da U ein Vertex Cover ist, und alle Kanten (x, x ) in G (F )
vorhanden sind, wird keine Variable gleichzeitig auf 0 und 1 gesetzt.
Offensichtlich gilt σ(F ) = 1.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
123 / 258
Vertex Cover
Hamilton-Kreis und Hamilton-Pfad sind NP-vollständig
Ein Hamilton-Pfad in einem gerichteten Graphen G = (V , E ) ist eine
Folge von Knoten v1 , v2 , . . . , vn mit
◮
◮
(vi , vi +1 ) ∈ E für alle 1 ≤ i ≤ n − 1 und
für jeden Knoten v ∈ V existiert genau ein 1 ≤ i ≤ n mit v = vi .
Ein Hamilton-Kreis ist ein Hamilton-Pfad v1 , v2 , . . . , vn mit (vn , v1 ) ∈ E .
Es sei
HP = {G | G ist ein Graph mit einem Hamilton-Pfad}
HC = {G | G ist ein Graph mit einem Hamilton-Kreis}
Theorem
HP und HC sind NP-vollständig (sogar für ungerichtete Graphen).
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
124 / 258
Vertex Cover
Hamilton-Kreis und Hamilton-Pfad sind NP-vollständig
Beweis: Wir zeigen nur die NP-Vollständigkeit von HC.
(A) HC ∈ NP: trivial.
(B) 3-SAT ≤log
m HC:
Sei F = c1 ∧ c2 ∧ · · · ∧ cm eine Formel in 3-KNF mit den Klauseln
c1 , . . . , cm in den Variablen x1 , . . . , xn .
Wir konstruieren einen Graphen G (F ), der genau dann einen
Hamilton-Kreis hat, falls F ∈ SAT gilt.
Zunächst definieren wir zu jeder Klausel c folgenden Graphen G (c):
b4
b3
a34
a33
a32
Volker Diekert (Universität Stuttgart)
a31
b2
a24
a23
a22
Komplexitätstheorie
a21
b1
a14
a13
a12
a11
SS 2011
125 / 258
Vertex Cover
Hamilton-Kreis und Hamilton-Pfad sind NP-vollständig
Beachte:
◮
In G (c) gibt es keinen Hamilton-Pfad von b1 nach b4 .
◮
Lässt man jedoch in G (c) mindestens einen der Wege
bj − aj1 − aj2 − aj3 − aj4 − bj+1 , j ∈ {1, 2, 3} weg, so gibt es einen
Hamilton-Pfad von b1 nach b4 .
Für eine Variable x sei {ci1 , . . . , cik } die Menge der Klauseln mit x ∈ ci
und {cj1 , . . . , cjl } die Menge der Klauseln mit x ∈ cj .
O.B.d.A i1 < · · · < ik , j1 < · · · < jℓ sowie ∀p, q : ip 6= jq .
Zu jeder Variablen x definieren wir nun einen Graphen G (x):
ei1 1
ei1 2
ei1 3
ei1 4
eik 1 eik 2 eik 3
eik 4
ej1 1
ej1 2
ej1 3
ej1 4
ejl 1
ejl 4
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
ejl 2
ejl 3
SS 2011
126 / 258
Vertex Cover
Hamilton-Kreis und Hamilton-Pfad sind NP-vollständig
G (xn )
G (ck )
G (ci )
G (c1 )
G (xj )
G (x1 )
Den Graphen G (F ) bilden wir durch Zusammenfügen der bisher
konstruierten Graphen nach dem folgenden Muster:
Zusätzlich benötigen wir für jede Klausel ck = (x̃k1 ∨ x̃k2 ∨ x̃k3 ) noch
Verbindungen zwischen dem Graphen G (ck ) und den Graphen G (xki ):
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
127 / 258
Vertex Cover
′′
ek4
′′
ek3
′′
ek2
a34
b4
a33
a31
a24
b3
G (ck )
a32
′
ek4
′′
ek1
G (xk2 )
′
ek3
a23
a22
′
ek1
b2
a21
a14
ek4
a13
a12
′
ek2
G (xk1 )
ek3
b1
a11
ek2
ek1
G (xk3 )
Hamilton-Kreis und Hamilton-Pfad sind NP-vollständig
Wir verbinden also für i ∈ {1, . . . , 3} und q ∈ {1, . . . , 4} den Knoten aiq in
G (ck ) mit dem Knoten ekq aus G (xki ) über einen neuen Zwischenknoten.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
128 / 258
Vertex Cover
Hamilton-Kreis und Hamilton-Pfad sind NP-vollständig
Beispiel: Sei F = (x1 ∨ x2 ∨ x3 ) ∧ (x1 ∨ x2 ∨ x3 ).
{z
} |
{z
}
|
c1
c2
G (x2)
G (x1)
G (c2)
G (c1)
Volker Diekert (Universität Stuttgart)
G (x3)
Dann ist G (F ) der folgende Graph:
Komplexitätstheorie
SS 2011
129 / 258
Vertex Cover
Hamilton-Kreis und Hamilton-Pfad sind NP-vollständig
Behauptung: F ∈ SAT genau dann, wenn G (F ) einen Hamilton-Kreis
hat.
Angenommen σ ist eine erfüllende Belegung von F .
Wir erhalten einen Hamilton-Kreis für G (F ) wie folgt:
Der Weg führt über die erfüllten Literalen entsprechenden Knoten in den
G (xi ), wobei jedoch über die zuletzt eingefügten Verbindungen in jedem
G (ck ) genau eine Knotengruppe ai 1 − ai 2 − ai 3 − ai 4 besucht wird.
Dies ist möglich, da in jeder Klausel mindestens ein Literal erfüllt ist.
Nachdem so alle G (xi ) durchwandert wurden, werden die in den G (ck )
verbleibenden Knoten und die zugehörigen Knoten in den G (xi ) besucht.
Anschließend endet der Weg im Startknoten.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
130 / 258
Vertex Cover
Hamilton-Kreis und Hamilton-Pfad sind NP-vollständig
Sei C ein Hamilton-Kreis für G (F ).
Dieser durchläuft in jedem der Graphen G (xi ) einen der beiden Zweige.
Dies definiert eine erfüllende Belegung σ von F .
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
131 / 258
Rucksackproblem
Rucksackproblem
Erinnerung: Beim Rucksack-Problem sind Zahlen a1 , . . . , an , s ∈ N binär
kodiert gegeben
P und die Frage ist, ob es eine Menge I ⊆ { 1, . . . , n } gibt
so, dass s = i ∈I ai .
Theorem
Das Rucksack-Problem ist NP-vollständig.
P
Wir können I ⊆ { 1, . . . , n } raten und dann s = i ∈I ai verifizieren. Daher
liegt das Problem in NP.
Die NP-Schwierigkeit erhält man durch eine einfache Reduktion von
3-SAT auf dieses Problem.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
132 / 258
Rucksackproblem
Einfache Instanzen
Das Rucksack-Problem ist pseudo-polynomiell lösbar, also in P, wenn
der Zielwert s unär codiert wird.
P
Allgemeiner: Für I ⊆ { 1, . . . , n } bezeichne a(I ) = i ∈I ai .
Angenommen, die Anzahl der Werte
{ a(I ) ∈ N | a(I ) ≤ s, I ⊆ { 1, . . . , n } }
ist polynomiell in der Eingabe begrenzt. Dann können wir diese Menge in
n Schleifendurchläufen berechnen und damit das Rucksack-Problem
polynomiell lösen.
Ist man an exakten exponentiellen Algorithmen interessiert, so kann man
sich eine (exponentielle) Schranke M vorgeben (z.B. M = 20,00001n ) und
zunächst testen, dass |{ a(I ) ∈ N | a(I ) ≤ s, I ⊆ { 1, . . . , n } }| ≥ M gilt
e
(andernfalls kann man die Lösung in der Zeit O(M)
finden).
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
133 / 258
Rucksackproblem
e n/2)
Zeit und Speicher in O(2
◮
◮
◮
(Horowitz/Sahni 1974)
Berechne und speichere in einer nach a(I ) sortierten Liste L1 alle
Teilmengen I ∈ 2{1,...,m} sowie in einer sortierten Liste L2 alle
Teilmengen J ∈ 2{m+1,...,n} .
Dies sind jeweils Listen mit 2m = 20,5n Elementen.
Suche in L1 aufsteigend und in L2 absteigend ein Paar (I , J) mit
a(I ) + a(J) = s.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
134 / 258
Rucksackproblem
Bekannte Schranke bis 2009
Der Schroeppel-Shamir Algorithmus (SIAM J. Comput., 10(3):456–464,
1981) liefert unter einer einfachen heuristischen Annahme die Laufzeit
e n/2 ) bei einem Speicherbedarf von O(2
e n/4 ).
O(2
Erst im Jahre 2009 verbesserten Nick Howgrave-Graham und Antoine Joux
e 0,337n ) bei einem Speicherbedarf von
dieses Ergebnis: Laufzeit O(2
e 0,256n ). (New generic algorithms for hard knapsacks. In
O(2
EUROCRYPT’2010, pages 235–256, 2010.)
Wir konzentrieren uns auf die Laufzeit und wollen zeigen, wie man in
einem randomisierten Verfahren unter einer einfachen heuristischen
e 0,42n ) erreicht. Es ist im wesentlichen der
Annahme die O(2
Howgrave-Graham/Joux-Algorithmus mit einer vereinfachten Analyse (und
daher einem suboptimalen Ergebnis).
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
135 / 258
Rucksackproblem
Parameterwahl
Die Rucksackinstanz sei a1 , . . . , an , s ∈ N und es sei n durch 8 teilbar. Es
sei m = n/2.
Ohne Einschränkung wollen wir das folgende Problem lösen:
Frage: ∃I : a(I ) = s & |I | = m?
Im Folgendensei M eine beliebige Primzahl in der Nähe von
m
20,42n ≈ m/4
.
e
Das (bescheidene) Ziel ist jetzt ein O(M)-Algorithmus.
Hier und im Folgenden meint ≈ bis auf polynomielle Faktoren und die
e
softe Oh-Notation O(M)
bedeutet dann ebenfalls die Zeit M bis auf
polynomielle
Faktoren.
n
Mit m
bezeichnen wir sowohl den Binomialkoeffizienten als auch die
{1,...,n}
Menge
, also die der m-elementigen Teilmengen von {1, . . . , n}.
m
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
136 / 258
Rucksackproblem
Vorverarbeitung bzw. Grundidee
Berechne:
n
.
a(I ) mod M I ∈
m
Dies ist möglich, da die Menge höchstens M Elemente enthält: Für
k = 0, 1, . . . , n und ℓ = 0, . . . , min{k,
wir (zwei
n m} berechnen
o
for-Schleifen) in einer Tabelle alle a(I ) mod M I ∈ kℓ .
Wird s mod M höchstens M mal getroffen, so ist unser Ziel erreicht.
(Die ersten M Treffer merken wir uns in einer Liste, diese Liste können wir
ohne modulo-Rechnungen auf eine Lösung hin überprüfen.)
Wir befinden uns daher ohne Einschränkung in einer schwierigen Instanz,
bei der s mod M mehr als M mal getroffen wird.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
137 / 258
Rucksackproblem
Vereinfachter Howgrave-Graham/Joux-Algorithmus
Wiederhole polynomiell oft:
◮
Vertausche die Indizes mit einer Zufallspermutation.
◮
Wähle R mod M zufällig.
◮
Berechne und speichere in einer nach a(I ) mod M ⊆ {0, . . . , M}
sowie in einer
sortierten Liste L1 alle Teilmengen I ∈ {1,...,m}
m/4
{m+1,...,n}
.
sortierten Liste L2 alle Teilmengen J ∈
m/4
m
Dies sind jeweils Listen mit m/4
≈ M Elementen.
◮
◮
Suche in L1 aufsteigend und in L2 absteigend und bilde hieraus
L = { I ∪ J | I ∈ L1 , J ∈ L2 , a(I ) + a(J) ≡ R mod M } .
Bilde analog eine Liste
L′ = { I ∪ J | I ∈ L1 , J ∈ L2 , a(I ) + a(J) ≡ s − R mod M } .
n Die erwartete Größe von L und L′ ist jeweils kleiner als n/4
/M ≈ M.
′
Sortiere L und L und suche I0 mit a(I0 ) = s (nicht mehr modulo M).
◮
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
138 / 258
Rucksackproblem
Korrektheit
Angenommen, dieser Algorithmus findet ein I0 . Dann gilt:
◮
◮
I0 setzt sich aus disjunkten I ∈ L1 und J ∈ L2 zusammen. Hieraus
folgt, es werden nur I0 mit |I0 ∩ { 1, . . . , m }| = m/2 gefunden.
Weiter muss gelten, dass I0 eine Zerlegung mit I0 = I1 ∪ I2 mit
a(I1 ) ≡ R mod M besitzt.
Umgekehrt, gibt es ein solches I0 = I1 ∪ I2 und a(I1 ) ≡ R mod M mit
|I1 ∩ { 1, . . . , m }| = m/4, so wird dieses I0 (oder ein entsprechendes)
gefunden.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
139 / 258
Rucksackproblem
Von Horowitz bis Joux
Ab jetzt nehmen wir an, dass I0 eine feste Lösung ist, also a(I0 ) = s und
|I0 | = m.
Vertausche die Indizes aus { 1, . . . , n } mittels einer Zufallspermutation.
Mit einer genügend hohen Wahrscheinlichkeit gilt dann
|I0 ∩ { 1, . . . , m }| = m/2.
Denn aus der Stirlingschen Formel n! ≈ (n/e)n folgt, dass
n
m
m m m/2
m/2
durch ein Polynom beschränkt ist. Wir wiederholen das Experiment einfach
genügend oft. (Selbsttest: Geben Sie einen konkreten Wert an.)
Es sei also
|I0 ∩ { 1, . . . , m }| = m/2.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
140 / 258
Rucksackproblem
Stirling
Etwas genauer:
2n
n
∼
√
4πn
2πn
Damit wissen wir:
2n 2n
e
n 2n
e
4n
=√
πn
n
2m
2n
=
∼√
m
m
πm
m 2
2n
∼
πm/2
m/2
n
√
m
m
m ∼ 2 πm
m/2
Volker Diekert (Universität Stuttgart)
m/2
Komplexitätstheorie
SS 2011
141 / 258
Rucksackproblem
Repräsentationstechnik
Es gibt
m m/2
≈ 2m = 20,5n Möglichkeiten, die Menge I0 als
I0 = I1 ∪ I2
mit |I1 | = |I2 | = m/2 darzustellen.
Dies sind viel mehr als M ≈ 20,42n Werte.
Heuristik: Wähle R mod M zufällig und nehme an, dass eine Zerlegung
I0 = I1 ∪ I2 die folgende Kongruenz erfüllt:
a(I1 ) ≡ R mod M
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
142 / 258
Rucksackproblem
Zerlegung von I1
Wie oben können wir annehmen, dass auch gilt:
|I1 ∩ { 1, . . . , m }| = m/4.
Beweis:
Es reicht, |I0 ∩ { 1, . . . , m }| = m/2 zu betrachten. Die Zahl der
Zerlegungen, die wir unter dieser Annahme aus der Restriktion
|I1 ∩ I0 ∩ { 1, . . . , m }| = m/4 erhalten, ist:
Volker Diekert (Universität Stuttgart)
m/2
m/4
2
≈ 2m .
Komplexitätstheorie
SS 2011
143 / 258
Rucksackproblem
Kleine Mengen
Die Mengen {1,...,m}
und {m+1,...,n}
sind klein genug, können berechnet
m/4
m/4
m
und nach a(I ) mod M sortiert werden, da m/4
≈ 20,42n ≈ M.
n n Damit erstellen wir einer Liste L1 gewisser I ∈ m/2
= n/4
mit
a(I ) ≡ R mod
reicht die Zeit, denn
n M. Hierfür
o für die erwartete Größe der
n Obermenge I ∈ n/4 a(I ) ≡ R mod M gilt:
n
E I ∈
n/4
n
a(I ) ≡ R mod M =
/M ≈ M.
n/4
Analog berechnen wir
n
L2 = J ∈
n/4
a(J) ≡ s − R mod M .
Sortiere L1 und L2 nach ihren Werten in N (nicht mehr modulo M) und
finden I0 , da I1 in L1 und I2 in L2 erscheinen.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
144 / 258
Nicht NP-vollständige Mengen innerhalb von NP \ P
Nicht NP-vollständige Mengen innerhalb von NP \ P
Nach unserem bisherigen Wissen wären folgende 3 Situationen möglich:
NP-
NP-
NP
vollständige
NP
vollständige
Mengen
Mengen
P = NP
P
P
I
II
III
Im Folgenden werden wir zeigen, dass die 3. Möglichkeit nicht möglich ist.
Theorem
Ist P 6= NP, dann existiert (effektiv) eine Sprache L ∈ NP \ P, die nicht
NP-vollständig ist.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
145 / 258
Nicht NP-vollständige Mengen innerhalb von NP \ P
Die Sprachen Lf
Für eine schwach monoton wachsende Funktion f : N → N
(x2 > x1 ⇒ f (x2 ) ≥ f (x1 )) sei
Lf = {x ∈ Σ∗ | x ∈ SAT ∧ f (|x|) ist gerade}
Bemerkung:
1. Ist der Wertebereich endlich, so ist die der maximale Wert gerade oder
ungerade. Je nachdem ist Lf fast ganz SAT oder Lf ist fast leer (d.h.,
endlich).
2. Ist f effizient (d.h., in Polynomialzeit) berechenbar, so gilt Lf ∈ NP.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
146 / 258
Nicht NP-vollständige Mengen innerhalb von NP \ P
Konstruktion der Sprachen in NP \ P
Beweis:
Im Folgenden geben wir ein det. Programm an, welches eine Funktion
f : N → N rekursiv in Zeit O(n) berechnet. =⇒ Lf ∈ NP.
Sei M1 , M2 , . . . eine Aufzählung aller deterministischen Turingmaschinen
mit einer zusätzlichen polynomialen Zeitschranke.
Eigentlich zählen wir alle Paare (Mi , pj ) von deterministischen
Turingmaschinen und Polynomen auf.
Wir erhalten daraus obige Aufzählung, indem Mi mit einem zusätzlichen
Schrittzähler, welcher die polynomiale Zeitschranke pj (n) = nj sicherstellt,
versehen wird.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
147 / 258
Nicht NP-vollständige Mengen innerhalb von NP \ P
Nicht NP-vollständige Mengen innerhalb von NP \ P
Sei analog R1 , R2 , . . . eine Aufzählung aller Polynomialzeitreduktionen.
Wir verwenden ferner im Folgenden einen beliebigen (exponentiellen)
deterministischen Algorithmus zur Erkennung von SAT.
Für Mengen L und K ist L ∆ K = L \ K ∪ K \ L die symmetrische
Differenz.
Beachte: ist L ∈ C für eine der hier betrachteten Komplexitätsklassen C
und ist |L ∆ K | < ∞, so gilt auch K ∈ C.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
148 / 258
Nicht NP-vollständige Mengen innerhalb von NP \ P
Nicht NP-vollständige Mengen innerhalb von NP \ P
FUNCTION f (n)
if n = 0 then return 0
else (∗ n > 0 ∗)
i := 0; k := 0
loop für genau n Befehlsschritte
k := f (i); i := i + 1
endloop
(∗ Beachte: alle rekursiven Aufrufe f (i) geschehen nur mit i < n. ∗)
(∗ Der Wert von k ist nach Durchlaufen dieser Schleife sehr, sehr klein. ∗)
if k = 2j (insbes. ∗ k gerade) ∗ then
suche für genau n Schritte in längenlexikograph. Reihenfolge ein x ∈ L(Mj ) ∆ Lf
endif
if k = 2j + 1 (insbes. ∗ k ungerade) ∗ then
suche für genau n Schritte in längenlexikograph. Reihenfolge ein x ∈ Σ∗ mit
(x ∈ SAT ∧ Rj (x) ∈
/ Lf ) ∨ (x ∈
/ SAT ∧ Rj (x) ∈ Lf )
endif
if ein solcher Zeuge x ∈ Σ∗ wurde gefunden then return k + 1
else return k
endif
endif
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
149 / 258
Nicht NP-vollständige Mengen innerhalb von NP \ P
Nicht NP-vollständige Mengen innerhalb von NP \ P
Bemerkung: f (n) ist wohldefiniert und wird in O(n) Schritten berechnet.
Es gilt weiter f (n) + 1 ≥ f (n + 1) ≥ f (n) für alle n ∈ N.
Wir zeigen jetzt mit Widerspruch: wenn P 6= NP gilt, so liegt Lf weder in
P noch ist Lf NP-vollständig (beachte: Lf ∈ NP).
Dazu überlegen wir zunächst:
1. Wenn Lf ∈ P, dann existiert ein j mit Lf = L(Mj ).
=⇒ L(Mj ) ∆ Lf = ∅
Aus der Berechnung von f folgt ∀n ∈ N : f (n) ≤ 2j.
2. Wenn Lf NP-vollständig ist, dann ist SAT ≤pm Lf .
=⇒ es gibt j ≥ 0 mit ∀x ∈ Σ∗ : x ∈ SAT ⇔ Rj (x) ∈ Lf .
=⇒ ¬∃x ∈ Σ∗ : (x ∈ SAT ∧ Rj (x) ∈
/ Lf ) ∨ (x ∈
/ SAT ∧ Rj (x) ∈ Lf ).
Aus der Berechnung von f folgt ∀n ∈ N : f (n) ≤ 2j + 1.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
150 / 258
Nicht NP-vollständige Mengen innerhalb von NP \ P
Nicht NP-vollständige Mengen innerhalb von NP \ P
Ist also Lf ∈ P oder Lf NP-vollständig, so ist f beschränkt und wird
schließlich stationär.
Man beachte nun:
1. Ist f beschränkt und f (n) gerade für fast alle n, so gilt
|Lf ∆ SAT| < ∞ und Lf ist NP-vollständig.
2. Ist f beschränkt und f (n) ungerade für fast alle n, so ist Lf endlich
und damit Lf ∈ P.
Aus der Vorraussetzung P 6= NP folgt nun:
1. f (n) = 2j für fast alle n.
=⇒ L(Mj ) = Lf .
=⇒ Lf ist NP-vollständig nach (1) oben. Widerspruch zu L(Mj ) ∈ P.
2. f (n) = 2j + 1 für fast alle n.
=⇒ Rj ist Reduktion von SAT auf Lf .
Widerspruch zu (2) oben, da Lf endlich ist und wegen P 6= NP die
Sprache SAT nicht auf eine Sprache in P reduziert werden kann.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
151 / 258
Vollständige Probleme für P, CFE
Vollständige Probleme für P
Sei Lcfe = {hG i| G ist eine kontextfreie Grammatik mit L(G ) 6= ∅}.
Dabei stellen die spitzen Klammern hi eine geeignete Kodierung von
Grammatiken dar, cfe steht für context–free–empty.
Theorem
Lcfe ist P-vollständig.
Beweis:
(A) Lcfe ∈ P
Teste für eine gegebene Grammatik G , ob das Startsymbol S produktiv ist.
(B) Lcfe ist P-schwierig.
Sei L ∈ P und L(M) = L für eine p(n)-zeitbeschränkte deterministische
Turingmaschine M = (Q, Σ, Γ, δ, q0 , {qf }, b), p(n) ein Polynom.
Sei w = w1 · · · wn ∈ Σ∗ eine Eingabe für M mit |w | = n.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
152 / 258
Vollständige Probleme für P, CFE
Leerheit kontextfreier Sprachen ist P-vollständig
Wir setzen für M o.B.d.A. ähnliche Konventionen wie im Beweis des
Satzes von Cook voraus:
1. Konfigurationen von M werden durch Wörter aus der Sprache
Conf = {buqv b | q ∈ Q; u, v ∈ Γ∗ ; |uv | = p(n)} beschreiben.
2. Die Startkonfiguration ist bq0 w1 · · · wn bp(n)−n+1 .
3. w ∈ L(M) genau dann, wenn M sich nach genau p(n) Schritten in
einer Konfiguration aus bqf Γp(n) b befindet.
4. δ(q, a) = (p, b, D) ∧ δ(q, a′ ) = (p ′ , b ′ , D ′ ) =⇒ D = D ′
δ(q, a) = (p, b, D) ∧ δ(q, a′ ) = (p ′ , b ′ , D) =⇒ D = N oder (p = p ′ ,
a = a′ und b = b ′ ).
Aus (4) folgt, dass eine Funktion ∆ : (Γ ∪ Q)3 → (Γ ∪ Q) existiert, so dass
für alle α, α′ ∈ b(Q ∪ Γ)∗ b mit |α| = |α′ | gilt:
α, α′ ∈ Conf und α ⊢M α′
⇐⇒
α ∈ Conf und ∀i ∈ {0, . . . , p(n)} : ∆(α[i − 1], α[i ], α[i + 1]) = α′ [i ].
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
153 / 258
Vollständige Probleme für P, CFE
Leerheit kontextfreier Sprachen ist P-vollständig
Wir definieren jetzt die Grammatik G (w ) = (V , ∅, P, S) mit
Variablenmenge V , leerem Terminalalphabet, Startsymbol S ∈ V und der
Regelmenge P:
V
S
= {V (a, t, j) | a ∈ Γ ∪ Q, 0 ≤ t ≤ p(n), −1 ≤ j ≤ p(n) + 1}
= V (qf , p(n), 0)
P enthält die folgenden Regeln:
V (a, t, j) → V (b, t − 1, j − 1)V (c, t − 1, j)V (d, t − 1, j + 1)
falls ∆(b, c, d) = a, 0 < t ≤ p(n), 0 ≤ j ≤ p(n)
V (b, t, −1) → λ für 0 ≤ t ≤ p(n)
V (b, t, p(n) + 1) → λ für 0 ≤ t ≤ p(n)
V (q0 , 0, 0) → λ
V (wj , 0, j) → λ für 1 ≤ j ≤ n
V (b, 0, j) → λ für n < j ≤ p(n)
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
154 / 258
Vollständige Probleme für P, CFE
Leerheit kontextfreier Sprachen ist P-vollständig
Behauptung: L(G (w )) 6= ∅ ⇔ w ∈ L.
Sei α0 ⊢M α1 ⊢M · · · ⊢M αp(n) die eindeutige bei
α0 = bq0 w1 · · · wn bp(n)−n+1 beginnende Berechnung, αi ∈ Conf.
Für −1 ≤ j ≤ p(n) + 1 und 0 ≤ t ≤ p(n) + 1 sei α(t, j) = αt [j].
Wir zeigen die Behauptung durch den Beweis der folgenden allgemeineren
Aussage:
L(G (w ), V (a, t, j)) 6= ∅ ⇐⇒ α(t, j) = a
⇐=: Sei α(t, j) = a.
Die Fälle t = 0, j = −1, j = p(n) + 1 folgen sofort aus der Def. von G (w ).
Falls t > 0 und 0 ≤ j ≤ p(n), so gibt es b, c, d ∈ Γ ∪ Q mit ∆(b, c, d) = a
und α(t − 1, j − 1) = b, α(t − 1, j) = c, α(t − 1, j + 1) = d.
Mit Induktion über t folgt, dass die Sprachen L(G (w ), V (b, t − 1, j − 1)),
L(G (w ), V (c, t − 1, j)) und L(G (w ), V (d, t − 1, j + 1)) nicht leer sind.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
155 / 258
Vollständige Probleme für P, CFE
Leerheit kontextfreier Sprachen ist P-vollständig
Da G (w ) die Produktion
V (a, t, j) → V (b, t − 1, j − 1)V (c, t − 1, j)V (d, t − 1, j + 1)
enthält, folgt L(G (w ), V (a, t, j)) 6= ∅.
=⇒: Sei L(G (w ), V (a, t, j)) 6= ∅.
Die Fälle t = 0, j = −1, j = p(n) + 1 folgen sofort aus der Def. von G (w ).
Falls t > 0 und 0 ≤ j ≤ p(n), so muss es eine Produktion
V (a, t, j) → V (b, t − 1, j − 1)V (c, t − 1, j)V (d, t − 1, j + 1)
geben (inbesondere ∆(b, c, d) = a), so dass L(G (w ), V (b, t − 1, j − 1)),
L(G (w ), V (c, t − 1, j)) und L(G (w ), V (d, t − 1, j + 1)) nicht leer sind.
Nach Induktion gilt α(t − 1, j − 1) = b, α(t − 1, j) = c, α(t − 1, j + 1) = d.
Wegen ∆(b, c, d) = a folgt α(t, j) = a.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
156 / 258
Circuit Value Problem
Boolesche Schaltkreise
Definition boolescher Schaltkreis
Ein boolescher Schaltkreis C ist ein gerichteter markierter Graph
C = ({1, . . . , o}, E , s) für ein o ∈ N mit folgenden Bedingungen.
◮
◮
∀(i , j) ∈ E : i < j, d.h. G ist azyklisch.
s : {1, . . . , o} → {¬, ∧, ∨, true, false} wobei gilt:
s(i ) ∈ {∧, ∨}
s(i ) = ¬
s(i ) ∈ {true, false}
⇒
⇒
⇒
Eingangsgrad(i ) = 2
Eingangsgrad(i ) = 1
Eingangsgrad(i ) = 0
s(i ) ist die Sorte von Knoten i .
Die Knoten werden als Gatter bezeichnet.
Das Gatter o (output) ist das Ausgangsgatter von C .
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
157 / 258
Circuit Value Problem
Boolesche Schaltkreise
Durch Auswerten (im intuitiven Sinne) des Schaltkreises C kann jedem
Gatter i ein Wert v (i ) ∈ {true, false} zugeordnet werden.
Ein Schaltkreis ist monoton, falls er keine NOT-Gatter enthält.
(Die Gatter mit Werten true oder false sind weiterhin erlaubt.)
Circuit Value (CV) ist das folgende Problem:
INPUT: Ein boolescher Schaltkreis C
FRAGE: Wertet sich das Ausgangsgatter von C zu true aus?
Monotone Circuit Value (MCV) ist das folgende Problem:
INPUT: Ein monotoner boolescher Schaltkreis C
FRAGE: Wertet sich das Ausgangsgatter von C zu true aus?
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
158 / 258
Circuit Value Problem
Circuit Value ist P-vollständig
Satz
CV und MCV sind P-vollständig.
Beweis:
(i) CV ∈ P: Klar, werte alle Gatter in der Reihnfolge 1, 2, . . . , o aus.
(ii) MCV ist P-schwierig:
Betrachte den Beweis zur P-Vollständigkeit von Lcfe .
Zu einer Sprache L ∈ P und einem v ∈ Σ∗ wurde eine kontextfreie
Grammatik G (v ) konstruiert.
Alle Produktionen von G (v ) waren vom Typ
A → B1 B2 B3 | · · · |Z1 Z2 Z3
oder
A→λ
Wir konstruieren einen monotonen Schaltkreis C (v ) wie folgt:
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
159 / 258
Circuit Value Problem
Circuit Value ist P-vollständig
Jedem Nichtterminal von G (v ) wird ein Gatter in C (v ) zugeordnet.
Das Startsymbol von G (v ) ist das Ausgangsgatter von C (v ).
Die Produktion A → B1 B2 B3 | · · · |Z1 Z2 Z3 führt zu folgender Verdrahtung:
B1 B2 B3
Z1 Z2 Z3
·········
A
Eine Variable A mit der Produktion A → λ wird zu einem true-Gatter.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
160 / 258
Circuit Value Problem
Circuit Value ist P-vollständig
Eine Variable A, für die keine Produktion mit A auf der linken Seite
existiert, wird zu einem false-Gatter.
Beachte: Der so erzeugte Schaltkreis C (v ) ist in der Tat azyklisch, denn
+
in G (v ) sind keine Ableitungen der Form A → uAv mit u, v ∈ V ∗ und
A ∈ V möglich.
Es gilt: L(G (v ), A) 6= ∅ ⇐⇒ GatterA wertet sich in C (v ) zu true aus.
Einziges Problem: Der Eingangsgrad von UND- bzw. ODER-Gattern in
G (v ) ist möglicherweise 3.
Lösung: Ersetze Gatter mit Eingangsgrad 3 durch zwei entsprechende
Gatter mit Eingangsgrad 2.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
161 / 258
Circuit Value Problem
Circuit Value ist P-vollständig
Bemerkung: In einem Schaltkreis kann ein Gatter Ausgangsgrad > 1
haben. Dies scheint für die P-Schwierigkeit wichtig zu sein:
Die Menge der (variablen-freien) booleschen Ausdrücke kann durch
folgende Grammatik definiert werden:
A ::= true | false | (¬A) | (A ∧ A′ ) | (A ∨ A′ )
Booleschen Ausdrücke werden somit zu Bäumen, wenn man sie in
Schaltkreise umwandelt.
Buss 1987: Die Menge der booleschen Ausdrücke, die sich zu wahr
auswerten ist vollständig für die Komplexitätsklasse NC1 ⊆ L.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
162 / 258
Circuit Value Problem
Vollständige Probleme für PSPACE: Quantifizierte
Boolesche Formeln
Quantifizierte boolesche Formeln
Die Menge M der quantifizierten booleschen Formeln ist die kleinste
Menge mit:
◮
◮
◮
xi ∈ M für alle i ≥ 1
0, 1 ∈ M
E , F ∈ M, i ≥ 1 =⇒ (¬E ), (E ∧ F ), (E ∨ F ), ∀xi E , ∃xi E ∈ M
Alternativ: M lässt sich durch eine eindeutige kontextfreie Grammatik über
dem Terminalalphabet Σ = {x, 0, 1, (, ), ¬, ∧, ∨, ∀, ∃} erzeugen.
Dabei werden Variablen durch Wörter aus x1{0, 1}∗ dargestellt.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
163 / 258
Circuit Value Problem
Erfüllbarkeit von quantifizierten booleschen Formeln
Die Erfüllbarkeit von quantifizierten booleschen Formeln wird durch die
Existenz einer erfüllenden Belegung definiert.
Eine Belegung ist eine Funktion b : {x1 , x2 , . . .} → {0, 1}.
Diese kann für eine gegebene Formel F auf die in F vorkommenden
Variablen eingeschränkt werden.
Für z ∈ {0, 1} und eine Belegung b sei b[xj 7→ z] die Belegung mit
◮
◮
b[xj 7→ z](xi ) = b(xi ) für i 6= j und
b[xj 7→ z](xj ) = z.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
164 / 258
Circuit Value Problem
Erfüllbarkeit von quantifizierten booleschen Formeln
Induktive Definition der Erfüllbarkeit einer Formel F bezüglich einer
Belegung b:
Die Belegung b erfüllt die Formel F genau dann, wenn eine der folgenden
Bedingungen zutrifft:
F = 1,
F = xj
und b(xj ) = 1,
F = (¬E )
und b erfüllt E nicht,
F = (F1 ∧ F2 ) und b erfüllt F1 und F2 ,
F = (F1 ∨ F2 ) und b erfüllt F1 oder F2 ,
F = ∃xj E
und b[xj 7→ 0] oder b[xj 7→ 1] erfüllt E ,
F = ∀xj E
und b[xj 7→ 0] und b[xj 7→ 1] erfüllen E .
Wird F von jeder Belegung erfüllt, so heißt F gültig.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
165 / 258
Circuit Value Problem
Erfüllbarkeit von quantifizierten booleschen Formeln
Die Menge Frei(F ) der freien Variablen der Formel F ist wie folgt
definiert:
◮
Frei(xi ) = {xi }
◮
Frei(¬F ) = Frei(F )
◮
Frei((F ∧ G )) = Frei((F ∨ G )) = Frei(F ) ∪ Frei(G )
◮
Frei(∃xj F ) = Frei(∀xj F ) = Frei(F ) \ {xj }
Eine Formel F mit Frei(F ) = ∅ nennt man geschlossen.
Beachte: Die Erfüllbarkeit einer geschlossenen Formel ist nicht von der
Belegung abhängt, d. h. existiert eine erfüllende Belegung, so ist die
Formel bereits gültig.
Bezeichnung: QBF ist die Menge der geschlossenen quantifizierten
booleschen Formeln, die gültig sind.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
166 / 258
Circuit Value Problem
QBF ist PSPACE-vollständig
Theorem
QBF ist PSPACE-vollständig.
Beweis:
(i) QBF ∈ PSPACE:
Sei E eine geschlossene quantifizierte boolesche Formel, in der die
Variablen x1 , . . . , xn vorkommen.
O.b.d.A. ist E nur aus 1, x1 , . . . , xn , ¬, ∧, ∃ aufgebaut.
Der folgende rekursive deterministische Algorithmus, in dem x1 , . . . , xn
globale Variablen sind, überprüft in polynomiellen Platz, ob ϕ gültig ist.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
167 / 258
Circuit Value Problem
QBF ist PSPACE-vollständig
FUNCTION check(E )
if E = 1 then return(1)
elseif E = xi then return(xi )
elseif E = (¬F ) then return(not check(F ))
elseif E = (E1 ∧ E2 ) then return(check(E1 ) and check(E2 ))
elseif E = ∃xi F then
xi := 1
if check(F ) = 1 then
return(1)
else
xi := 0
return(check(F ))
endif
endif
ENDFUNC
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
168 / 258
Circuit Value Problem
QBF ist PSPACE-vollständig
(ii) QBF ist PSPACE-schwierig:
Sei L ∈ PSPACE. Es gilt L = L(M) für eine p(n)-platzbeschränkte
1-Band-Turingmaschine, wobei p(n) ein geeignetes Polynom sei.
Im weiteren werden Konfigurationen binär kodiert.
Ohne Einschränkung ist die Länge aller Binärkodierungen der von einer
Startkonfiguration Start(w ), |w | = n, aus erreichbaren Konfigurationen
durch p(n) und deren Anzahl durch 2p(n) begrenzt.
Betrachte den Savitch-Ansatz:
Reach(Start(w ), Accept, p(n)) ⇐⇒ w ∈ L
Reach(α, β, i ) = ∃γ Reach(α, γ, i −1)∧Reach(γ, β, i −1)
für i > 0
≤1
Reach(α, β, 0) = α ⊢M β
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
169 / 258
Circuit Value Problem
QBF ist PSPACE-vollständig
Die direkte Einsetzung würde auf eine Formel exponentieller Länge führen.
Lösung: Wir führen für die Konfigurationen Konfigurationsvariable
X , Y , U, V , . . . ein und definieren für i > 0:
Reach(X , Y , i ) :=
∃U ∀V ∀W
!
(V = X ∧ W = U) ∨ (V = U ∧ W = Y )
=⇒ Reach(V , W , i − 1)
1. Schritt: Berechne für Eingabe w ∈ Σ∗ mit |w | = n durch iteriertes
Anwendung obiger Rekursion, beginnend mit
Reach(Start(w ), Accept, p(n)), eine Formel F in den
Konfigurationsvariablen X , Y , . . ..
In F kommen atomare Formeln der Gestalt Reach(X , Y , 0) und X = Y
sowie die Konstanten vor Start(w ) und Accept vor.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
170 / 258
Circuit Value Problem
QBF ist PSPACE-vollständig
2. Schritt: Wir wandeln F in eine geschlossene quantifizierte boolesche
Formel um:
◮
◮
◮
◮
Ersetze jede Konfigurationsvariable X durch einen Block von p(n)
booleschen Variablen x1 , . . . , xp(n) . Aus ∀X wird somit der Block
∀x1 ∀x2 · · · ∀ xp(n) und entsprechend für ∃X .
Die Konstanten Start(w ) und Accept werden durch konkrete
Bitstrings ersetzt.
Vp(n)
X = Y ersetzen wir durch die Formel i =1 (xi ⇔ yi ).
Aus einer atomaren Formel Reach(X , Y , 0) wird wie im Beweis zum
Satz von Cook eine boolesche Formel die einen 1-Schritt Übergang
beschreibt.
Wir erhalten so eine geschlossene quantifizierte boolesche Formel, die
genau dann erfüllbar ist, wenn w ∈ L.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
171 / 258
Circuit Value Problem
Orakel-Turingmaschinen u. relative Schwierigkeit von
?
P = NP — Im SS2011 nicht behandelt
Eine nichtdeterministische Orakel-Turingmaschine (kurz OTM) M ? ist eine
nichtdeterministische Turingmaschine mit folgenden Besonderheiten:
◮
M ? hat drei ausgezeichneten Zuständen qJ , qN , q? sowie
◮
ein ausgezeichnetes Arbeitsband — das Orakelband — auf welches
nur geschrieben wird.
◮
Das Orakelband enthält zu jedem Zeitpunkt einen String w (o) über
einem Alphabet Σ.
◮
Befindet sich M ? im Zustand q? so kann M ? unabhängig von den
gelesenen Bandsymbolen nichtdeterministisch in den Zustand qN oder
den Zustand qJ gehen.
Eine OTM M ? ist deterministisch, falls sich M ? auf allen Zuständen außer
q? deterministisch verhält.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
172 / 258
Circuit Value Problem
Orakel-Turingmaschinen
Zeit- und Platzschranken werden für OTMs wie für normale
Turingmaschinen definiert.
Wir betrachten dafür eine OTM als eine nichtdeterministische
Turingmaschine.
Sei A ⊆ Σ∗ eine beliebige (nicht notwendigerweise entscheidbare) Menge.
Wir definieren Berechnungen einer Maschine M A auf eine Eingabe v ∈ Σ∗
wie folgt:
◮
◮
Auf Zuständen in Q \ {q? } verhält sich M A wie M ? .
Befindet sich M im Zustand q? , so ist der Folgezustand (unabhängig
von gelesenen Bandsymbolen) qJ (bzw. qN ), falls aktuell w (o) ∈ A
(bzw. w (o) 6∈ A) gilt.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
173 / 258
Circuit Value Problem
Relative Komplexitätsklassen
Wir können jetzt Komplexitätslassen wie
A
∗ Es gibt eine deterministische polynomial
P =
L⊆Σ zeitbeschränkte OTM M ? mit L = L(M A )
A
∗ Es gibt eine nichtdeterministische polynomiNP =
L⊆Σ al zeitbeschränkte OTM M ? mit L = L(M A )
definieren.
Bemerkung:
1. NP ∪ CoNP ⊆ PSAT ⊆ PSPACE Es ist offen, ob =“ gilt.
”
2. A ∈ PA für alle A ⊆ Σ∗ , damit kann insbesondere PA unentscheidbare
Sprachen enthalten.
3. Ist A entscheidbar, so ist NPA eine Familie entscheidbarer Sprachen.
4. Trivialerweise gilt PA ⊆ NPA .
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
174 / 258
Circuit Value Problem
Eine Welt in der P = NP
Theorem
Es gibt ein Orakel A ⊆ Σ∗ in PSPACE mit PA = NPA .
Beweis:
Betrachte eine PSPACE-vollständige Sprache, etwa A = QBF.
Dann gilt
[
PSPACE ⊆ PQBF ⊆ NPQBF ⊆
NSPACE(nk ) = PSPACE
k≥1
Also gilt
PSPACE = PQBF = NPQBF
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
175 / 258
Circuit Value Problem
Eine Welt in der P 6= NP
Theorem
Es gibt ein entscheidbares Orakel B ⊆ {0, 1}∗ mit PB 6= NPB .
Beweis:
Das Orakel B ⊆ {0, 1}∗ wird so definiert, dass gilt:
∀n ≥ 0 : |B ∩ {w ∈ {0, 1}∗ | |w | = n}| ≤ 1
Für eine Sprache B ⊆ {0, 1}∗ sei
LB = 1n ∃w ∈ B mit |w | = n .
Dann gilt offensichtlich: LB ∈ NPB .
Noch zu zeigen: Es gibt eine entscheidbare Sprache B mit LB ∈
/ PB .
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
176 / 258
Circuit Value Problem
Eine Welt in der P 6= NP
Sei M1? , M2? , . . . eine effektive Aufzählung aller deterministischen
Orakel-Turingmaschinen mit zusätzlicher polynomialer Zeitschranke.
Wir nehmen an, dass jedes Mi? in der Aufzählung unendlich oft vorkommt.
Dies kann z.B. dadurch erreicht werden, dass M ? (i , j) := Mi? aus einer
ursprünglichen Aufzählung definiert wird und dann die
Orakel-Turingmaschinen aus {M ? (i , j)|(i , j) ∈ N × N} aufgezählt werden.
Wir definieren rekursiv das Orakel B durch
S Mengen
Bi ⊆ {w ∈ {0, 1}∗ | |w | ≤ i } mit B = i ≥0 Bi und eine Ausnahmemenge
X mit B ∩ X = ∅:
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
177 / 258
Circuit Value Problem
Eine Welt in der P 6= NP
◮
◮
Für i = 0 setze B0 = X = ∅.
Für i > 0 simulieren wir die Rechnung von Mi? auf Input 1i für i ⌈log i ⌉
Schritte.
Wir nehmen an, dass B0 ⊆ B1 ⊆ · · · ⊆ Bi −1 und eine Menge X mit
Bi −1 ∩ X = ∅ schon definiert sind.
◮
◮
◮
◮
Befragt Mi? im Laufe der Rechnung ein Wort w mit |w | < i, so wird
die Rechnung entsprechend dem Orakel Bi −1 fortgesetzt.
Befragt Mi? im Laufe der Rechnung ein Wort w mit |w | ≥ i, so setze
die Rechnung in dem nein“-Zustand fort und füge w zu X hinzu.
”
Akzeptiert Mi? innerhalb der Zeitschranke i ⌈log i ⌉ die Eingabe 1i , so
setze Bi := Bi −1 .
Verwirft Mi? innerhalb der Zeitschranke i ⌈log i ⌉ die Eingabe 1i , so
betrachte das lexikographisch erste Wort bi in {0, 1}i \ X . Setze dann
Bi −1 ∪ {bi } falls bi existiert
Bi =
Bi −1
sonst
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
178 / 258
Circuit Value Problem
Eine Welt in der P 6= NP
Es gilt mit B =
S
Bi :
i ≥0
◮
◮
◮
Bi ⊆ {w ∈ {0, 1}∗ | |w | ≤ i }
B ist entscheidbar, denn für |w | = i gilt: w ∈ B ⇔ w ∈ Bi .
B ∩ X = ∅.
Wir zeigen jetzt LB ∈
/ PB .
Angenommen, es wäre LB = L(M B ) für eine deterministische, polynomial
zeitbeschränkte OTM M ? .
Dann gibt es ein Polynom p(n) so, dass M ? p(n)-zeitbeschränkt ist.
Wähle jetzt i genügend groß so, dass ∀n ≥ i : p(n) ≤ n⌈log i ⌉ und
M ? = Mi? gilt.
Dies ist möglich, da M ? in der Aufzählung beliebig oft vorkommt.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
179 / 258
Circuit Value Problem
Eine Welt in der P 6= NP
1. Fall: 1i ∈ LB = L(MiB ).
Dann gilt Bi −1 = Bi nach Konstruktion von B und damit 1i ∈
/ LB nach
Definition von LB . Widerspruch!
2. Fall: 1i ∈
/ LB = L(MiB ), d.h. MiB verwirft 1i innerhalb der Zeitschranke
i ⌈log i ⌉ .
Ist {0, 1}i \ X 6= ∅, so existiert ein bi ∈ B mit |bi | = i und damit 1i ∈ LB .
Widerspruch!
Es ist daher noch zu zeigen, dass für alle zuvor genügend groß gewählten i
gilt: {0, 1}i \ X 6= ∅
Bei der Definition von X bis zum i -ten Schritt wurden maximal
i
X
j=1
2
j ⌈log j⌉ ≤ i · i ⌈log i ⌉ ≤ 2log i +⌈log i ⌉
Orakelanfragen gestellt.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
180 / 258
Circuit Value Problem
Eine Welt in der P 6= NP
2
X enthält also maximal 2log i +⌈log i ⌉ Wörter der Länge ≤ i .
Für alle zuvor genügend groß gewählten i gilt nun
2
2log i +⌈log i ⌉ < 2i ,
weshalb {0, 1}i \ X nicht leer ist.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
181 / 258
Mahaney
Dünne Mengen und der Satz von Mahaney
Eine Menge L ⊆ Σ∗ ist dünn, wenn ein Polynom p(n) mit
∀n ≥ 0 : w ∈ L | |w | = n ≤ p(n).
existiert.
Z. B. ist jede Sprache über einem unären Alphabet {a} dünn.
Satz von Mahaney
Gilt P 6= NP, so gibt es keine dünne Sprache, die NP-schwierig ist.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
182 / 258
Mahaney
Beweis des Satzes von Mahaney
Es wird zunächst eine Menge SAT′ definiert:
F ist boolesche Formel in den Variablen x1 , . . . , xn ,
′
SAT = hF , xi x ∈ {0, 1}n und ∃y ∈ {0, 1}n : (y ≥ x ∧ F (y ) = 1)
Hierbei ist
◮ ≥ die lexikographische Ordnung auf {0, 1}∗ und
◮ F (y ) = 1 bedeutet, dass der Bitstring y als Belegung der Variablen
x1 , . . . , xn interpretiert wird und F sich unter dieser Belegung zu wahr
auswertet.
Behauptung: SAT′ ist NP-vollständig.
1. SAT′ ∈ NP: Rate Belegung y ≥ x und überprüfe, ob F (y ) = 1.
2. SAT′ ist NP-schwierig:
O.B.d.A. enthalte F die Variablen x1 , . . . , xn . Wir reduzieren SAT auf
SAT′ mit der Abbildung F 7→ hF , 0n i. Es gilt offensichtlich:
F ∈ SAT ⇔ hF , 0n i ∈ SAT′
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
183 / 258
Mahaney
Beweis des Satzes von Mahaney
Für eine Formel F in den Variablen x1 , . . . , xn definieren wir eine Funktion
f : [0, . . . , 2n − 1] → {0, 1} durch
1, falls hF , xi ∈ SAT′
f (x) =
0, sonst
Der Definitionsbereich von f wird hier mit {0, 1}n identifiziert.
Der Graph von f ist eine Treppenfunktion:
1
0
0n
y
1n
Der Wert y ist hier die (lexikographisch) größte erfüllende Belegung für F .
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
184 / 258
Mahaney
Beweis des Satzes von Mahaney
Angenommen L ⊆ {0, 1}∗ ist eine dünne NP-schwierige Sprache.
Da SAT′ ∈ NP, gibt es eine Polynomialzeitreduktion H : Σ∗ → {0, 1} von
SAT′ auf L:
hF , xi ∈ SAT′ ⇔ H(hF , xi) ∈ L
Die Länge einer Eingabe hF , xi definieren wir im folgenden zu n = |F | und
wir können o.B.d.A. annehmen, dass die Formel F nur Variablen aus der
Menge x1 , . . . , xn enthält.
Wir zeigen, dass unter obigen Annahmen SAT ∈ NP, d. h. P = NP gilt.
Da L nach Annahme eine dünne Sprache ist, gibt es ein Polynom p(n) mit
H(hF , xi) | hF , xi ∈ SAT′ ∧ |hF , xi| ≤ n ≤ p(n).
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
185 / 258
Mahaney
Beweis des Satzes von Mahaney
Sei I = [0, . . . , 2n − 1].
Wir unterteilen I in 2 · p(n) gleichgroße Teilintervalle.
Jedes Intervall wird durch die linke Grenze und die Länge repräsentiert.
Für die linken Grenzen xi wird H(hF , xi i) berechnet und in einer Tabelle
abgelegt.
Wenn dabei zwei Tupel hF , xi i und hF , xj i auf denselben Wert abgebildet
werden, findet eine Kollisionsauflösung statt:
Sei o.B.d.A. xi < xj . Dann werden alle Teilintervalle mit linken
Grenzen xi , xi +1 , . . . , xj−1 gelöscht, denn alle haben denselben
Funktionswert f (xj ).
Man beachte, dass dabei das Intervall, das die größte erfüllende
Belegung y enthält (sofern überhaupt eine erfüllende Belegung
existiert), nicht gelöscht wird:
aus xi ≤ y < xj würde sich H(hF , xi i) 6= H(hF , xj i) ergeben.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
186 / 258
Mahaney
Beweis des Satzes von Mahaney
Am Ende dieser Prozedur sind die Werte H(hF , xi i) für alle linken Grenzen
der verbleibenden Intervalle verschieden.
Da es nur maximal p(n) positive Antworten (f (xk ) = 1) geben kann, sind
hF , xp(n)+1 i, . . . , hF , xl i ∈
/ SAT′ und die zugehörigen Intervalle mit den
linken Grenzen xp(n)+1 , . . . , xl können gelöscht werden, ohne das Intervall
mit der größten erfüllenden Belegung y zu löschen.
Am Ende bleiben also höchstens p(n) Intervalle übrig.
Jetzt wird eine Intervallhalbierung bei den verbleibenden Intervallen
durchgeführt.
Dies erzeugt maximal 2 · p(n) Intervalle, die nach dem gleichen Verfahren
wiederum auf maximal p(n) Intervalle verringert werden. Dann erfolgt eine
erneute Intervallhalbierung usw.
Nach höchstens n Halbierungen gibt es nur noch 1-Punkt-Intervalle (da
das Intervall I 2n Elemente enthält) und das Verfahren der
Intervallhalbierungen wird abgebrochen.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
187 / 258
Mahaney
Beweis des Satzes von Mahaney
Die bis zu diesem Zeitpunkt verbrauchte Zeit ist polynomial beschränkt.
Seien x1 , . . . , xl (l ≤ p(n)) die linken Grenzen der verbleibenden
1-Punkt-Intervalle.
Jetzt kann in polynomialer Zeit für jedes i , 1 ≤ i ≤ l , der Wert F (xi )
berechnet werden.
Ist F (xi ) = 0 für alle i , so ist F unerfüllbar. Sonst ist F erfüllbar (das
größte xi mit F (xi ) = 1 ergibt die größte erfüllende Belegung).
Damit können wir in Polynomialzeit entscheiden, ob F ∈ SAT.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
188 / 258
IBS
Interaktive Beweissysteme
Es gibt zwei Personen in unserem System: Alice und Bob. Alice
ist allmächtig“ (mindestens jedoch eine PSPACE-Maschine).
”
Bob ist bieder und ehrlich“ (d.h. eine deterministische,
”
polynomial-zeitbeschränkte Turingmaschine) und besitzt einen
Würfel. Bob stellt Fragen an Alice. Dieses Frage-Antwort
Wechselspiel wird als Protokoll bezeichnet.
Ein interaktives Beweissystem (IBS) ist ein solches Protokoll.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
189 / 258
IBS
Alice und Bob
Alice versucht für ein x ∈ Σ∗ stets, Bob zu überzeugen, dass x ∈ L gilt.
Eine Sprache L lässt sich durch ein IBS entscheiden, wenn Bob für ein
x ∈ L Alice mit hoher Wahrscheinlichkeit glaubt und sich für x ∈
/ L mit
sehr geringer Wahrscheinlichkeit vom Gegenteil überzeugen lässt.
Wir werden zunächst zwei Spezialfälle interaktiver Beweissysteme genauer
betrachten.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
190 / 258
Zero-Knowledge
Zero-Knowledge-Proof
Ein Zero-Knowledge-Proof ist dadurch gekennzeichnet, dass Bob zwar
davon überzeugt wird, dass Alice einen Beweis für das betrachtete
Problem kennt, aber darüber hinaus keinerlei Information über den Beweis
oder eine mögliche Lösung des Problems erhält.
Unter der Annahme, dass das kryptologische RSA-Verfahren sicher ist,
können wir den folgenden Satz beweisen.
Theorem
Für das 3-Färbbarkeitsproblem eines Graphen gibt es einen (interaktiven)
Zero-Knowledge-Proof.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
191 / 258
Zero-Knowledge
Beweisanfang
Erinnerung: Das Problem der 3-Färbbarkeit eines Graphen (also
{G = (V , E ) | G ist 3-färbbar}) ist NP-vollständig.
Wir nehmen nun an, dass Alice die 3-Färbbarkeit von Graphen entscheiden
kann. Ein Beweis für die 3-Färbbarkeit eines Graphen wäre die Angabe
einer Lösung. Alice gibt im Folgenden Beweissystem diese Lösung jedoch
nicht preis, sondern überzeugt Bob nur davon, dass sie sie kennt. Dies wird
erreicht durch die RSA-Verschlüsselung, die Bob — falls die
Verschlüsselung sicher ist — nicht knacken kann.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
192 / 258
Zero-Knowledge
n3 Runden
Eingabe G = (V , E ) mit n = |V |. Es werden n3 Runden durchgeführt. In
jeder Runde arbeitet Alice wie folgt:
◮
◮
◮
◮
◮
Sie wählt eine Zufallspermutation der Farben π : {0, 1, 2}→{0,
˜
1, 2}.
Sie erzeugt ein RSA-Kryptosystem für jeden Knoten i .
Sie wählt also große Primzahlen pi , qi < 2n und eine Zahl ei < 2n mit
ggT(ei , ϕ(ni )) = 1, wobei ni = pi qi und ϕ(ni ) = (pi − 1)(qi − 1).
Sie berechnet ein 0 < si < ni mit si ei ≡ 1 mod (pi − 1)(qi − 1).
Alice wählt desweiteren Zufallszahlen xi mit 0 < 3xi + 2 < ni .
Es gilt jetzt für alle a ∈ Z: asi ei ≡ a mod ni .
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
193 / 258
Zero-Knowledge
Protokoll
◮
Sie sendet Bob eine Liste (ni , ei , zi )i =1,...,n mit zi ≡ (3xi + π(c(i )))ei
mod ni .
◮
Bob wählt zufällig eine Kante (i , j) ∈ E . Er fragt Alice nach pk , qk , sk
(für k ∈ {i , j}) sowie nach den Beweisen, dass pk , qk Primzahlen
sind. Er überprüft nk = pk qk und sk ek ≡ 1 mod (pk − 1)(qk − 1) und
entschlüsselt yk = zksk mod nk .
◮
Er berechnet außerdem Werte ck ∈ {0, 1, 2} durch ck = yk mod 3.
Hat sich Alice korrekt verhalten, so gilt zksk = 3xk + π(c(k)) mod nk und
ck = π(c(k)). Bob ist mit dieser Runde einverstanden, falls ci 6= cj gilt.
Falls Bob n3 Runden einverstanden ist, akzeptiert er G als 3-färbbar.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
194 / 258
Zero-Knowledge
Alice muss betrügen, falls G nicht 3-färbbar ist
Alice hat sich auf eine 3-Färbung des Graphen codiert und kann diese
nicht mehr ändern. Angenommen, G ist nicht 3-färbbar. Dann gibt es
mindestens eine Kante (i , j) ∈ E , an der Bob merken kann, dass Alice
betrügt (zum Beispiel daran, dass eine der pk keine Primzahl ist).
Ist das RSA-System jedoch in Ordnung, so merkt Bob, dass ci = cj und
damit π(c(i )) = π(c(j)), also c(i ) = c(j) ist. Alice wird also pro Runde
mindestens mit der Wahrscheinlichkeit |E1 | entdeckt. Insgesamt bleibt sie
n3
folglich mit einer Wahrscheinlichkeit kleiner 1 − |E1 |
unentdeckt.
Wir zeigen
1
1−
|E |
Volker Diekert (Universität Stuttgart)
n3
≤ e −n
Komplexitätstheorie
(< 2−n ).
SS 2011
195 / 258
1−
1
|E |
n 3
Zero-Knowledge
< 2−n :
Es gilt:
1−
1
|E |
n3
≤ e −n
⇔ n2 (ln(|E |) − ln(|E | − 1)) ≥ 1
⇐
ln(|E |) − ln(|E | − 1) ≥
1
|E |
(wegen |E | < n2 )
Es reicht daher zu zeigen: ln(|E |) − ln(|E | − 1) ≥
1
|E | .
Die Korrektheit dieser Ungleichung folgt aus der Ableitung ln′ (x) = x1 . Wie
man dem Graphen der ln-Funktion unmittelbar ansieht, gilt für alle x > 1
die Abschätzung ln′ (x) < ln(x) − ln(x − 1).
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
196 / 258
Zero-Knowledge
Zero-Knowledge-Proofs für NP
Da das 3-Färbbarkeitsproblem eines Graphen NP-vollständig ist, hat jedes
NP-Problem einen Zero-Knowledge-Proof, der auf dem RSA-Verfahren
basiert.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
197 / 258
Die (Nicht-)Isomorphie von Graphen
Zero-Knowledge-Proof für die (Nicht-)Isomorphie von
Graphen
Das Problem, ob zwei Graphen isomorph sind, liegt in NP. Es ist weder
bekannt, ob es in P liegt, noch, ob es NP-vollständig ist. Es gibt allerdings
Hinweise, die darauf hindeuten, dass dieses Problem nicht NP-schwierig
ist.
Es ist nicht bekannt, ob das Problem der Nichtisomorphie von Graphen in
NP liegt. Intuitiv erscheint dieses Problem jedoch schwieriger als das der
Isomorphie zweier Graphen. Bei der Isomorphie können wir einen
Isomorphismus raten und überprüfen — eine Vorgehensweise, die uns bei
der Nichtisomorphie nicht möglich ist.
Theorem
Die Nichtisomorphie von Graphen hat einen perfekten
Zero-Knowledge-Proof.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
198 / 258
Die (Nicht-)Isomorphie von Graphen
Beweisanfang
Die Eingabe besteht aus 2 Graphen G0 = (V0 , E0 ) und G1 = (V1 , E1 ) mit
V0 = V1 = {1, . . . , n}.
Alice behauptet: G0 ∼
6 G1 .
=
◮
◮
Bob wählt m Permutationen πi ∈ Perm({1, . . . , n}) und m Bits
bi ∈ {0, 1} zufällig (1 ≤ i ≤ m).
Dann übermittelt Bob an Alice in einer einzigen Runde die Liste
(πi (Gbi ))1≤i ≤m .
′ und
Bob verlangt von Alice jetzt einen Bitstring b1′ b2′ . . . bm
akzeptiert, falls ∀i ∈ {1, . . . , m} bi = bi′ .
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
199 / 258
Die (Nicht-)Isomorphie von Graphen
Beweisende
Sind G0 und G1 nicht isomorph, so kann Alice diesen Bitstring berechnen.
Sind sie jedoch isomorph, so kann Alice den Bitstring b1 b2 . . . bm nicht
rekonstruieren. Denn Alice sieht nur Paare von G0 und einer
′ muss also zufällig
Zufallspermutation von G0 . Der Bitstring b1′ b2′ . . . bm
gewählt werden — Alice hat keine andere Wahl. Wenn Alice betrügen
muss, dann ist die Wahrscheinlichkeit, nicht entdeckt zu werden, damit
gleich 2−m .
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
200 / 258
IP = PSPACE
Interaktive Beweissysteme
Ein interaktives Beweissystem (IBS) ist ein Protokoll (A, B) zwischen Alice
und Bob.
Alice und Bob erhalten die gleiche Eingabe x (mit |x| = n), die von beiden
nur gelesen werden darf. In dem Protokoll werden polynomial viele Runden
durchgeführt (p(n)) und in jeder Runde werden polynomial lange
Botschaften ausgetauscht (diese Botschaften seien
a1 , b1 , a2 , b2 , . . . , ap(n) , bp(n) ). Jede Runde beginnt mit einer Botschaft von
Alice, die von der Eingabe und dem Ergebnis vorheriger Runden abhängt
(ai = A(x, a1 , b1 , . . . , bi −1 )). Bobs Antwort hängt ebenfalls von der
Eingabe und den bisher ausgetauschten Botschaften sowie von
Zufallszahlen ri ab, die in jeder Runde neu berechnet werden und Alice
unbekannt sind (bi = B(x, a1 , b1 , a2 , . . . , ai −1 , bi −1 , ai , r1 , . . . , ri )). In der
letzten Runde sagt Bob ja“ oder nein“ (also bp(n) ∈ {ja, nein}).
”
”
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
201 / 258
IP = PSPACE
Interaktive Beweissysteme
Bob ist dabei randomisierte polynomial zeitbeschränkte Turingmaschine.
(Eine randomisierte Turingmaschine (RTM) ist eine deterministische
Turingmaschine, die zusätzlich Zugriff auf Zufallszahlen hat. Man kann
sich eine RTM als eine deterministische Turingmaschine vorstellen, die ein
weiteres (Nur-Lese-)Band besitzt, auf dem unendlich viele Zufallsbits (0
oder 1) stehen und das nur in einer Richtung gelesen werden darf.)
Für die Richtung IP ⊆ PSPACE darf Alice allmächtig sein, d.h., Alice ist
eine beliebige Funktion. Für die Richtung PSPACE ⊆ IP ist Alice eine
PSPACE-Maschine.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
202 / 258
IP = PSPACE
Interaktive Beweissysteme
Ein IBS (A, B) entscheidet eine Sprache L ⊆ Σ∗ , falls für alle Eingaben
x ∈ Σ∗ folgendes gilt:
◮
◮
Ist x ∈ L, so akzeptiert Bob die Eingabe mit einer Wahrscheinlichkeit
≥ (1 − 2−n ).
Ist x ∈
/ L, so gibt es kein IBS (A′ , B) in dem Bob die Eingabe mit
einer höheren Wahrscheinlichkeit als 2−n akzeptiert.
IP ist die Menge der Sprachen, die durch ein IBS entschieden werden
können:
IP := {L ⊆ Σ∗ | ∃ IBS (A, B) : (A, B) entscheidet L}
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
203 / 258
IP = PSPACE
Interaktive Beweissysteme – Beispiele
Beispiel: Die bereits betrachteten Protokolle zur 3-Färbbarkeit von
Graphen und zur Graphen-Nichtisomorphie sind interaktive Beweissysteme.
Bemerkung: Es gilt NP ⊆ IP, da Alice die erfolgreiche Rechnung einer
NP-Maschine Bob zur Überprüfung vorlegen kann. Für ein spezielles
Problem aus NP kann Alice auch eine Lösung angeben: Für SAT
übermittelt Alice beispielsweise eine erfüllende Belegung an Bob. Bob
wertet die Formel unter dieser Belegung aus und akzeptiert, wenn sich als
Wert der Formel wahr“ ergibt.
”
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
204 / 258
IP = PSPACE
IP ⊆ PSPACE
Theorem
IP ⊆ PSPACE.
Für diese Richtung ist Alice allmächtig. Die Beschränkung von Alice ist,
dass auch sie nur polynomial lange und polynomial viele Botschaften an
Bob übermitteln darf.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
205 / 258
IP = PSPACE
IP ⊆ PSPACE (Fortsetzung)
Sei B eine fest gewählte randomisierte polynomial zeitbeschränkte
Turingmaschine (Bob). Wir konstruieren für eine Eingabe x ∈ Σ∗ eine
optimale Alice in polynomialem Platz. Wir können annehmen, dass ein
akzeptierendes Protokoll P zwischen Alice und Bob die folgende Form hat:
P = (a1 , b1 , . . . ap , bp , r1 , . . . , rp ) .
Hierbei bezeichnen ai , bi , ri ∈ {0, 1} Bits, wobei die r1 , . . . , rp die von Bob
erzeugten Zufallsbits sind und p = p(|x|) ein festes Polynom darstellt
(d.h., jedes vollständige Protokoll besteht aus p Runden). Formal sind
Alice und Bob Funktionen (genauer, Funktionsfamilien):
ai
bi
= A(x, a1 , b1 , . . . , ai −1 , bi −1 )
= B(x, a1 , b1 , . . . , ai −1 , bi −1 , ai , r1 , . . . , ri )
Für ein gegebenes Paar (A, B) und x ∈ Σ∗ hängt die Akzeptanz (also
bp = 0 bzw. bp = 1) nur vom Zufallsvektor (r1 , . . . , rp ) ab. Wir sagen
auch, dass (r1 , . . . , rp ) akzeptiert wird. Man beachte, dass es für eine feste
Alice 2p viele vollständige Protokolle gibt.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
206 / 258
IP = PSPACE
IP ⊆ PSPACE (Fortsetzung)
Ab jetzt seien B und x fest gewählt. Eine optimale Alice ist diejenige
Funktion A, die maximal viele Zufallsvektoren (r1 , . . . , rp ) akzeptiert.
Statt unter allen möglichen Kandidatinnen für A zu suchen, werden wir die
Menge der möglichen (Alice-) Funktionen stark einschränken und diese
Einschränkung schrittweise aufgeben. Zu Anfang ist die Einschränkung so
stark, dass es nur eine einzige Alice gibt. Am Ende ist die Einschränkung
leer und damit wird das Optimum unter allen Funktionen gefunden.
Die Einschränkung wird durch Protokollpräfixe Pi = (a1 , b1 , . . . , ci ) mit
c ∈ {a, b}, i ≤ p gegeben, die Alice befolgen muss.
Stellen wir uns vor, Alice A, ein solches Präfix Pi und ein Zufallsvektor
(r1 , . . . , rp ) sind gegeben. Der Zufallsvektor r = (r1 , . . . , rp ) definiert ein
Protokoll P = (a1′ , b1′ , . . . , ap′ , bp′ , r ) zwischen Alice und Bob. Falls Pi ein
Präfix von P ist, sagen wir, dass r zu Pi passt. Zu jeder A und jedem Pi
können wir also die Zahl der (r1 , . . . , rp ) bestimmen, die sowohl zu Pi
passen, als auch akzeptiert werden.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
207 / 258
IP = PSPACE
IP ⊆ PSPACE (Fortsetzung)
Formal definieren wir einen Wert, der von Alice A und
Pi = (a1 , b1 , . . . , ci ), c ∈ {a, b} abhängt:
f (A, Pi ) = |{r | r = (r1 , . . . , rp ) passt zu Pi und wird akzeptiert}| .
Eine Alice heißt optimal bzgl. Pi , falls sie das folgende Maximum erreicht:
f (Pi ) = max {f (A, Pi ) | A ist eine Alice} .
Man beachte, dass das Maximum für jedes x ∈ Σ∗ nur über eine endliche
Menge (von Alice-Funktionen) gebildet wird. Das Maximum existiert und
wird von einer Alice realisiert. Das Ziel ist die Berechnung von f (λ), wobei
λ den leeren Präfix bezeichnet. Denn, ist L ∈ IP so gilt per Definition:
x ∈ L =⇒ f (λ) ≥ (1 − 2−n ) · 2p ,
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
x∈
/ L =⇒ f (λ) ≤ 2−n · 2p .
SS 2011
208 / 258
IP = PSPACE
IP ⊆ PSPACE (Fortsetzung)
Wir zeigen, dass sich f (λ) in polynomialem Platz berechnen lässt. Aber
eigentlich werden wir mehr tun. Wir zeigen, dass man in jedem Schritt
einer Interaktion zwischen Alice und Bob eine optimale Strategie für Alice
in polynomialem Platz berechnen kann. Wir rechnen von hinten nach
vorne.
Zu Anfang sei das vollständige Protokoll (a1 , b1 , . . . , bp ) vorgeschrieben.
Dann gibt es nur eine einzige Alice und wir können direkt zählen.
f (a1 , b1 , . . . , bp ) = |{r | r = (r1 , . . . , rp ) passt und wird akzeptiert}|.
In den meisten Fällen wird die Zahl Null oder sehr klein sein.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
209 / 258
IP = PSPACE
IP ⊆ PSPACE (Fortsetzung)
Betrachte jetzt einen Präfix, der auf ai endet:
Pi = (a1 , b1 , . . . , ai −1 , bi −1 , ai ).
Induktiv nehmen wir an, dass die Werte f (a1 , b1 , . . . , ai , 0) und
f (a1 , b1 , . . . , ai , 1) schon berechnet sind. Diese Werte werden von einer
Alice A0 und einer Alice A1 realisiert.
Der Punkt ist jetzt, dass ein Zufallsvektor (r1 , . . . , rp ) nicht gleichzeitig zu
beiden Protokollpräfixen (a1 , b1 , . . . , ai , 0) und (a1 , b1 , . . . , ai , 1) passen
kann. Wählt Bob also in der i -ten Runde bi = 0, so verhält sich eine
optimale Alice wie A0 , wählt Bob bi = 1, so verhält sich eine optimale
Alice wie A1 . Zählen wir die akzeptierten Zufallsvektoren zusammen, so
werden keine doppelt gezählt. Daher gilt:
X
f (a1 , b1 , . . . , ai ) =
f (a1 , b1 , . . . , ai , j) .
j=0,1
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
210 / 258
IP = PSPACE
IP ⊆ PSPACE (Fortsetzung)
Betrachte jetzt einen Präfix, der auf bi endet:
Pi = (a1 , b1 , . . . , ai , bi ).
Für Alice gibt es jetzt die Wahl ai +1 = 0 oder ai +1 = 1. Mit Induktion
kennen wir jedoch die beiden Werte f (a1 , b1 , . . . , ai , bi , 0) und
f (a1 , b1 , . . . , ai , bi , 1). Wir können die bessere Strategie wählen. Damit
ergibt sich:
f (a1 , b1 , . . . , ai , bi ) = max{f (a1 , b1 , . . . , ai , bi , j) | j = 0, 1} .
Dieser Ansatz führt auf die Berechnung von f (λ).
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
211 / 258
IP = PSPACE
IP ⊆ PSPACE (Fortsetzung und Ende)
Es verbleibt, den Platzbedarf zu analysieren. Um zu testen, ob (r1 , . . . , rp )
zu (a1 , . . . , ap , bp ) passt, müssen wir p mal einen Test
?
bi = B(x, a1 , b1 , . . . , ai , r1 , . . . , ri )
durchführen. Dies ist in Polynomialzeit möglich. Uns reicht die Aussage,
dass dies in polynomialem Platz möglich ist. Wir erhöhen die Mächtigkeit
von IP also nicht, wenn Bob selbst eine randomisierte PSPACE-Maschine
ist. Sei s(2i ) bzw. s(2i − 1) der Platzbedarf zur Berechnung von
f (a1 , b1 , . . . , ci ). Dann gilt s(2p) = q(n) für ein Polynom q und n = |x|.
Ferner gilt s(i ) ∈ s(i + 1) + O(p) mit p = p(n). Wir erhalten für den
Platzbedarf s(0) für f (λ): s(0) ∈ O(q(n) + p(n)2 ).
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
212 / 258
IP = PSPACE
IP unter Reduktionen abgeschlossen
Lemma
IP ist unter polynomialer Zeitreduktion abgeschlossen:
L ≤pm L′ und L′ ∈ IP ⇒ L ∈ IP
Der Beweis zu diesem Lemma ist trivial, denn Bob kann die Reduktion
L ≤pm L′ berechnen, da er eine polynomial zeitbeschränkte Turingmaschine
ist.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
213 / 258
IP = PSPACE
PSPACE ⊆ IP
Theorem (Shamir, 1990)
IP = PSPACE.
Die leichte Richtung (IP ⊆ PSPACE) haben wir gerade gezeigt. Wir
müssen also nur noch PSPACE ⊆ IP zeigen. Hierfür geben wir einen
Beweis nach A. Shen an.
Da QBF PSPACE-vollständig ist, reicht es nach obigem Lemma zu
zeigen, dass QBF ∈ IP.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
214 / 258
IP = PSPACE
PSPACE ⊆ IP (Fortsetzung)
Es sei B eine boolesche Formel in den Variablen x1 , . . . , xk und
Q̃ = {∀x1 ∃x2 . . . Qk xk B(x1 , . . . , xk )}
die Menge aller quantifizierten Formeln, so dass jede Variable gebunden
auftritt.
Wir setzen B = {0, 1} mit 0 = false, 1 = true. Mit
QBF = {Φ ∈ Q̃ | Φ = 1} bezeichnen wir die wahren Formeln.
Im Folgenden sei Φ ∈ Q̃ mit Eingabelänge |Φ| = d. Es ist d > 2k. Wähle
eine Primzahl p mit d 4 < p ≤ 2d 4 (Bertrand’sches Postulat). In diesem
Bereich ist der Primzahltest auch für Bob sehr leicht. Alle weiteren
arithmetischen Rechnungen sind mod p gemeint, der Grundkörper ist also
F = Z/pZ. Wir fassen auch B = {0, 1} als Teilmenge von F auf.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
215 / 258
IP = PSPACE
PSPACE ⊆ IP (Fortsetzung)
Wir ordnen jeder booleschen Formel B(X ) mit X = (x1 , . . . , xk ) ein
Polynom b(X ) ∈ F[X ] induktiv wie folgt zu:
b(X ) = 1,
falls B(X ) = true,
b(X ) = xi ,
falls B(X ) = xi ,
b(X ) = b0 (X ) · b1 (X ),
falls B(X ) = B0 (X ) ∧ B1 (X ),
b(X ) = 1 − b0 (X ),
b(X ) = b0 (X ) + b1 (X ) −
b0 (X ) · b1 (X ),
falls B(X ) = ¬B0 (X ),
falls B(X ) = B0 (X ) ∨ B1 (X ).
Wegen 1 − (1 − b0 )(1 − b1 ) = b0 + b1 − b0 · b1 kann Bob das Polynom
b(X ) ∈ F[X ] selbst berechnen, da er auch bei der Oder-Verknüpfung eine
Verdoppelung der Datengröße vermeiden kann. Für Φ ∈ Q̃ mit
Φ = ∀x1 ∃x2 . . . Qk xk B(X ) ist b(X ) ein Polynom vom Grad ≤ d. Ab jetzt
betrachten wir nur noch Polynome vom Grad ≤ d. Sollte Alice jemals ein
Polynom mit einem höheren Grad vorlegen, so lehnt Bob sofort ab.
Man beachte, dass b(u1 , . . . , uk ) ∈ {0, 1} für alle (u1 , . . . , uk ) ∈ Bk gilt.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
216 / 258
IP = PSPACE
PSPACE ⊆ IP (Fortsetzung)
Wir definieren zunächst Operatoren Ax und Ex für x = xi , 1 ≤ i ≤ k wie
folgt:
Ax P(x, Y ) = P(0, Y ) · P(1, Y ),
Ex P(x, Y ) = P(0, Y ) + P(1, Y ) − P(0, Y ) · P(1, Y ).
Hierbei sei Y = (x1 , . . . , xi −1 , xi +1 , . . . , xk ), sowie P(x, Y ) ∈ F[X ]. Es gilt:
Ax P(x, Y ), Ex P(x, Y ) ∈ F[Y ] ⊆ F[X ].
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
217 / 258
IP = PSPACE
PSPACE ⊆ IP (Fortsetzung)
Offensichtlich gilt ferner:
Φ = Ax1 Ex2 . . . qk xk b(x1 , . . . , xk ) ∈ {0, 1} ⊆ F ⊆ F[X ],
wobei qk = A für k ungerade und qk = E für k gerade. Man beachte, dass
es Sinn ergibt Φ(X ) = Φ oder auch Φ(V ) = Φ für V ⊆ Fk zu schreiben.
Das Problem ist, dass Φ = Ax1 P(x1 ) für das Polynom
P(x1 ) = Ex2 . . . qk xk b(x1 , . . . , xk ) gilt, wobei P(x1 ) einen exponentiellen
Grad haben kann. Man betrachte etwa:
k
Ay Ax1 Ax2 . . . Ak xk (y ) = Ay (y 2 ).
Im Originalbeweis von Shamir wurde dieses Problem durch so genannte
einfache Polynome gelöst.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
218 / 258
IP = PSPACE
PSPACE ⊆ IP (Fortsetzung)
Shen benutzt die Beobachtung, dass AxP(x, Y ) = AxQ(x, Y ) und
ExP(x, Y ) = ExQ(x, Y ) gelten, falls Q(x, Y ) ≡ P(x, Y ) mod (x 2 = x)
ist. Vor einer Auswertung von AxP(x, Y ) bzw. ExP(x, Y ) können wir also
den x-Grad auf 1 reduzieren.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
219 / 258
IP = PSPACE
PSPACE ⊆ IP (Fortsetzung)
Dafür genügt es, das Polynom P(x, Y ) mod (x − x 2 ) zu berechnen. Dies
ist leicht:
X
P(x, Y ) =
ai (Y )x i
i ≥0
= a0 (Y ) +
X
i ≥1
≡ a0 (Y ) +
X
i ≥1
ai (Y )x i
ai (Y )x mod (x − x 2 )
= a0 (Y ) − a0 (Y )x +
X
i ≥0
ai (Y ) x
= P(0, Y ) − P(0, Y )x + P(1, Y )x
= P(1, Y ) · x + (1 − x) · P(0, Y ).
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
220 / 258
IP = PSPACE
PSPACE ⊆ IP (Fortsetzung)
Für P(x, Y ) ∈ F[X ] definieren wir formal einen Reduktionsoperator durch:
RxP(x, Y ) = P(1, Y ) · x + (1 − x) · P(0, Y ).
für x ∈ F[X ], der den Rest mod (x 2 − x) berechnet. Man beachte, dass
RxP(u, Y ) = P(u, Y ) für u ∈ {0, 1} gilt. Hierbei wird bei RxP(u, Y ) der
Operator Rx auf P angewendet und dann an (u, Y ) ausgewertet. Daher
gilt
AxP(x, Y ) = AxRxP(x, Y ) und
ExP(x, Y ) = ExRxP(x, Y ).
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
221 / 258
IP = PSPACE
PSPACE ⊆ IP (Fortsetzung)
Also gilt:
Φ = Ax1 R x1 Ex2 R x2 R x1 . . . qk xk R xk . . . R x1 b(X ).
Im Folgenden sei S(X ) = S(x1 , . . . , xk ) ∈ F[x1 , . . . , xk ] ⊆ F[X ] ein
Polynom, welches als Suffix in der oberen Zeile auftritt. Der Grad von
S(X ) ist stets ≤ d, und ab qk xk ist der Grad für jedes xi sogar durch 1
und 2 begrenzt. Für gegebene u1 , . . . , uk , v ∈ F kann Bob den Wert
b(u1 , . . . , uk ) mit v vergleichen. Damit gibt es ein (triviales) Protokoll mit
der Eigenschaft:
Pr( Bob akzeptiert | b(u1 , . . . , uk ) = v ) = 1,
Pr( Bob akzeptiert | b(u1 , . . . , uk ) 6= v ) = 0.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
222 / 258
IP = PSPACE
PSPACE ⊆ IP (Fortsetzung)
Induktiv nehmen wir die Existenz eines Protokolls α zwischen Alice und
Bob und eines εα ≥ 0 an, so dass für alle (u1 , . . . , uk , v ) ∈ Fk+1 gilt:
Pr( Bob akzeptiert | S(u1 , . . . , uk ) = v ) = 1,
Pr( Bob akzeptiert | S(u1 , . . . , uk ) 6= v ) ≤ εα .
Es sei x = xi ∈ {x1 , . . . , xk }, u = ui , Y = (x1 , . . . , xi −1 , xi +1 , . . . , xk ) und
U = (u1 , . . . , ui −1 , ui +1 , . . . , uk ).
Man beachte, dass S(u1 , . . . , uk ) nur von den freien Variablen in S(X )
abhängt. Also zu Anfang ist Φ = Φ(u1 , . . . , uk ) unabhängig von den ui .
Insbesondere:
Φ = Φ(0, . . . , 0)
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
223 / 258
IP = PSPACE
PSPACE ⊆ IP (Fortsetzung)
Wir unterscheiden drei Fälle:
A-Fall:
E-Fall:
R-Fall:
P(Y ) = AxS(x, Y ),
P(Y ) = ExS(x, Y ),
P(x, Y ) = RxS(x, Y ).
Wir konstruieren ein Protokoll β so, dass für alle (u1 , . . . , uk , v ) ∈ Bk+1
gilt:
Pr( Bob akzeptiert | P(u, U) = v ) = 1,
Pr( Bob akzeptiert | P(u, U) 6= v ) ≤ εα +
d
,
p
d.h. εβ = εα + dp .
Man beachte, dass P(Y ) auch als P(x, Y ) gelesen werden kann.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
224 / 258
IP = PSPACE
PSPACE ⊆ IP (Fortsetzung)
Nach quadratisch vielen Runden erhalten wir also ein Protokoll mit:
Pr( Bob akzeptiert | Φ = 1) = 1,
Pr( Bob akzeptiert | Φ = 0) < d 2
d
1
< , da d 4 < p.
p
d
Durch logd d -fache Wiederholung können wir die Wahrscheinlichkeit unter
2−d drücken, dass Bob eine falsche Formel akzeptiert.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
225 / 258
IP = PSPACE
PSPACE ⊆ IP (Fortsetzung)
Sei (u1 , . . . , uk , v ) ∈ Bk+1 gegeben. Wir sind in der Situation, dass Bob
den Beweis von P(u, U) = v verlangt, wobei {u1 , . . . , uk } \ {u} = U.
(Zu Anfang verlangt Bob den Beweis Φ(0, { 0, . . . , 0 }) = 1.)
Dann ist s(x) = S(x, U) ∈ F[x] jeweils ein Polynom vom Grad ≤ d. Alice
übergibt solche Polynome durch eine Liste (a0 , . . . , ad ) von d + 1
Koeffizienten.
A-Fall:
1) Bob fordert s(x) = S(x, U) von Alice.
2) Bob verifiziert s(0) · s(1) = v .
3) Bob wählt r ∈ F zufällig und verlangt von Alice den
Beweis s(r ) = S(r , U) gemäß Protokoll α.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
226 / 258
IP = PSPACE
PSPACE ⊆ IP (Fortsetzung)
Wir sind in dem Fall P(u, U) = AxS(x, U) 6= v .
Falls Alice das korrekte Polynom s(x) = S(x, U) liefert, so gilt
P(u, U) = s(0) · s(1). Also entdeckt Bob den Fehler im 2. Schritt.
Will Alice unerkannt betrügen, so muss sie ein Polynom t(x) 6= S(x, U)
liefern!
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
227 / 258
IP = PSPACE
PSPACE ⊆ IP (Fortsetzung)
E-Fall Wie eben, nur in 2. verifiziert Bob s(0) + s(1) − s(0) · s(1)
Wir sind in dem Fall P(u, U) = ExS(x, U) 6= v .
Falls Alice das korrekte Polynom s(x) = S(x, U) liefert, so gilt
P(u, U) = s(0) + s(1) − s(0) · s(1) 6= v . Also entdeckt Bob den Fehler im
2. Schritt.
Will Alice unerkannt betrügen, so muss sie erneut ein Polynom
t(x) 6= S(x, U) liefern!
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
228 / 258
IP = PSPACE
PSPACE ⊆ IP (Fortsetzung)
R -Fall
1) Bob fordert s(x) = S(x, U) von Alice.
2) Bob verifiziert s(0) · (1 − u) + s(1) · u = v .
3) Bob wählt r ∈ F zufällig und verlangt von Alice den
Beweis s(r ) = S(r , U) = S(u1 , . . . , ui −1 , r , ui +1 , . . . , uk )
gemäß Protokoll α.
Wir sind in dem Fall P(u, U) = s(0) · (1 − u) + s(1) · u 6= v .
Falls Alice das korrekte Polynom s(x) = S(x, U) liefert, so gilt
P(u, U) = s(0) · (1 − u) + s(1) · u 6= v . Also entdeckt Bob den Fehler auch
jetzt im 2. Schritt.
Will Alice unerkannt betrügen, so muss sie erneut ein Polynom
t(x) 6= S(x, U) liefern!
Falls P(u, U) = v ist, so kann Alice jeweils korrekt spielen und Bob
überzeugen.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
229 / 258
IP = PSPACE
PSPACE ⊆ IP (Fortsetzung)
Zusammenfassung: Zunächst betrachten wir den Fall P(u, U) 6= v .
Falls Alice das korrekte Polynom s(x) = S(x, U) liefert, so gilt
P(u, U) = s(0) · s(1) im A-Fall, P(u, U) = s(0) + s(1) − s(0)s(1) im
E-Fall und P(u, U) = s(0) · (1 − u) + s(1) · u im R -Fall. Also entdeckt
Bob den Fehler jeweils im 2. Schritt.
Will Alice betrügen, so muss sie ein Polynom t(x) vom Grad ≤ d liefern
mit t(x) 6= s(x) ∈ F[x]. Bob fordert den Beweis t(r ) = S(r , U) gemäß α.
Falls t(r ) = s(r ), so kann Alice den Beweis erbringen. Andernfalls
akzeptiert Bob mit einer Wahrscheinlichkeit ≤ εα nach Annahme, da dann
Bob den Beweis von S(r , U) = t(r ) verlangt, aber t(r ) 6= s(r ) = S(r , U)
vorliegt.
Da t(x) − s(x) ein Polynom mit Grad ≤ d ist, gibt es höchstens d
Nullstellen für t(x) 6= s(x). Also gilt Pr( t(r ) = s(r ) ) ≤ dp in diesem Fall.
Insgesamt ist die Betrugswahrscheinlichkeit ≤ εα + dp .
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
230 / 258
IP = PSPACE
PSPACE ⊆ IP (Beispiel)
Wir wollen das Protokoll zwischen Alice und Bob an einem Beispiel
nachvollziehen.
Wir gehen von folgender Formel aus:
F
= ∀x∃y (x ∨ y ) ∧ (x ∨ y )
Der zugehörige arithmetische Ausdruck ist
Φ = AxR xEy R y R xb(x, y ).
Der Ausdruck ergibt ausgewertet 1, denn die Formel F ist wahr.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
231 / 258
IP = PSPACE
PSPACE ⊆ IP (Beispiel)
Die folgenden Formeln sind im Prinzip selbst für Alice zu groß, um sie
explizit hin zuschreiben:
b(x, y ) = (1 − y + xy )(1 − x + xy )
= 1 − x − y + 3xy − x 2 y − xy 2 + x 2 y 2
R xb(x, y ) = 1 − x − y + 2xy
R y R xb(x, y ) = 1 − x − y + 2xy
Ey R y R xb(x, y ) = 1 − x + x − (1 − x)x
= 1 − x + x2
R xEy R y R xb(x, y ) = 1
AxR xEy R y R xb(x, y ) = 1
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
232 / 258
IP = PSPACE
PSPACE ⊆ IP (Beispiel)
Nun folgt die Beschreibung des eigentlichen Protokolls zwischen Alice und
Bob. Um das Protokoll lesbarer zu machen, rechnen wir nicht modulo
einer Primzahl, sondern genau.
Runde 1:
a)
b)
c)
d)
e)
Alice behauptet: AxR xEy R y R xb(x, y ) = 1.
Bob verlangt: s(x) = R xEy R y R xb(x, y ).
Alice liefert: t(x) = 1.
Bob verifiziert t(0) · t(1) = 1.
Bob würfelt zufälligerweise 1, und erwartet den Beweis
für die folgende Behauptung:
Runde 2:
a)
b)
c)
d)
e)
Alice behauptet: t(1) = 1 = R xEy R y R xb(1, y ).
Bob verlangt: s(x) = Ey R y R xb(x, y ).
Alice liefert: t(x) = 1 − x + x 2 .
Bob verifiziert t(0)(1 − 1) + t(1) · 1 = 1.
Bob würfelt zufälligerweise 2, und erwartet den Beweis
für die folgende Behauptung:
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
233 / 258
IP = PSPACE
PSPACE ⊆ IP (Beispiel)
Runde 3:
a)
b)
c)
d)
e)
Runde 4:
a)
b)
c)
d)
Alice behauptet: t(2) = 3 = Ey R y R xb(2, y ).
Bob verlangt: s(y ) = R y R xb(2, y ).
Alice liefert: t(y ) = 1 − 2 − y + 4y = 3y − 1.
Bob verifiziert t(0) + t(1) − t(0)t(1) = −1 + 2 + 2 = 3.
Bob würfelt zufälligerweise 3, und erwartet den Beweis
für die folgende Behauptung:
Alice behauptet: t(3) = 8 = R y R xb(2, 3).
Bob verlangt: s(y ) = R xb(2, y ).
Alice liefert: t(y ) = 1 − 2 − y + 4y = 3y − 1.
Bob verifiziert
t(0)(1 − 3) + t(1)3 = 2 + 2 · 3 = 2 + 6 = 8.
e) Bob würfelt zufälligerweise 4, und erwartet den Beweis
für die folgende Behauptung:
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
234 / 258
IP = PSPACE
PSPACE ⊆ IP (Beispiel)
Alice behauptet: t(4) = 11 = R xb(2, 4).
Bob verlangt: s(x) = b(x, 4).
Alice liefert: t(x) = (4x − 3)(3x + 1).
Bob verifiziert
t(0)(1 − 2) + t(1)2 = 3 + 4 · 2 = 3 + 8 = 11.
e) Bob würfelt zufälligerweise 5, und erwartet den Beweis
für die folgende Behauptung:
Runde 5:
a)
b)
c)
d)
Runde 6:
a) Alice behauptet: t(5) = 17 · 16 = b(5, 4).
b) Bob verifiziert b(5, 4) = 16 · 17 = t(5).
c) Bob ist zufrieden.
Bob akzeptiert die Formel als wahr, nachdem weitere Durchgänge die
Betrugswahrscheinlichkeit wie gefordert vermindert haben.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
235 / 258
Monotone boolesche Funktionen und monotone Schaltkreise
Monotone Schaltkreise
Eine boolesche Funktion f : Bn → B heißt monoton, falls
f (x1 , . . . , xn ) ≤ f (y1 , . . . , yn ) gilt, sofern xi ≤ yi für alle 1 ≤ i ≤ n. D.h.,
durch einen Wechsel von 0 nach 1 in der Eingabe kann die Ausgabe nicht
auf 0 zurückfallen. Ein Schaltkreis heißt monoton, falls er keine
NOT-Gatter besitzt.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
236 / 258
Monotone boolesche Funktionen und monotone Schaltkreise
Monotone Schaltkreise (Forts.)
Ein monotoner Schaltkreis berechnet eine monotone Funktion. Umgekehrt
gibt es zu jeder monotonen Funktion f : Bn → B (mit n ≥ 1) einen
monotonen Schaltkreis mit höchstens 2n + 2n−1 − 2 Gattern, der f
berechnet. Dies folgt aus Abbildung 1, die die induktive Definition der
Schaltkreise am Beispiel n = 3 darstellt.
x1
&
x2
f (1, x2 , x3 )
≥1
x3
xout
f (0, x2 , x3 )
Abbildung: Induktive Konstruktion monotoner Schaltkreise am Beispiel einer
3-stelligen Funktion
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
237 / 258
Monotone boolesche Funktionen und monotone Schaltkreise
Monotone Schaltkreise (Forts.)
Es ist extrem schwierig, für konkrete Funktionen untere Schranken für die
Größe zugehöriger Schaltkreise zu beweisen. Alle in P berechenbaren
Funktionen haben Schaltkreise polynomieller Größe. A. A. Razborov
konnte eine explizite exponentielle untere Schranke für die Zahl der Gatter
in einem monotonen Schaltkreis für das Problem CLIQUE nachweisen.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
238 / 258
Sonnenblumen
Es gibt Sonnenblumen!
Im Beweis des Satzes von Razborov kommen sog. Sonnenblumen vor.
Definition
Eine Sonnenblume der Größe p ≥ 2 ist eine Familie {X1 , . . . , Xp } von p
Mengen, für die eine Menge Z existiert mit: Xi ∩ Xj = Z für alle
1 ≤ i < j ≤ p. Die Mengen Xi \ Z bezeichnen wir als Blütenblätter, die
Menge Z heißt der Kern.
Lemma (P. Erdős, R. Rado)
Sei p ≥ 2 und F = {X1 , . . . , Xm } eine Familie von m Mengen mit
m > (p − 1)ℓ · ℓ! und |Xi | ≤ ℓ für alle 1 ≤ i ≤ m. Dann enthält F eine
Sonnenblume der Größe p.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
239 / 258
Sonnenblumen
Sonnenblumen
Beweis: Mit Induktion nach ℓ.
Für ℓ = 1 enthält F mindestens p paarweise disjunkte Mengen der
Kardinalität ≤ 1. Diese bilden eine Sonnenblume der Größe p mit Kern
Z = ∅.
Sei ℓ > 1 und D ⊆ F eine maximale Teilfamilie paarweise disjunkter
Mengen. Falls |D| ≥ p, so wählen wir analog zu ℓ = 1 S
den Kern Z = ∅. Sei
also |D| ≤ p − 1. Dann gilt |D| ≤ (p − 1) · ℓ für D = {X | X ∈ D}. Für
alle Mengen X ∈ F \ D gilt X ∩ D 6= ∅, da D maximal ist. Daher gibt es
ein d ∈ D und mindestens
(m − (p − 1))/((p − 1)ℓ) > (p − 1)ℓ−1 · (ℓ − 1)! − 1/ℓ Mengen X ∈ F \ D
mit d ∈ X . Für eine weitere Menge D0 ∈ D gilt d ∈ D0 . Insgesamt gibt es
also mehr als (p − 1)ℓ−1 · (ℓ − 1)! Mengen X ∈ F mit d ∈ X . Betrachte
F ′ = {X \ {d} | d ∈ X ∈ F}. Dann enthält F ′ nach
Induktionsvoraussetzung eine Sonnenblume {X1 \ {d}, . . . , Xp \ {d}} der
Größe p mit Kern Z ′ . Damit ist {X1 , . . . , Xp } eine Sonnenblume der Größe
p in F mit Kern Z = Z ′ ∪ {d}.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
240 / 258
Der Satz von Razborov
Der Satz von Razborov
Wir betrachten ungerichtete Graphen G = (V , E ) mit der Knotenmenge
V = {1, . . . , n}. Im Folgenden bezeichnet Cn,k einen monotonen
Schaltkreis, der die Graphen mit n Knoten akzeptiert, die eine Clique der
Größe k haben. Die Eingabegatter heißen gij und sind genau dann mit 1
belegt, wenn die Kante {i , j} in E vorhanden ist:
gij (G ) = 1 ⇔ {i , j} ∈ E
Allgemein bezeichnen wir mit g (G ) den Wert eines Gatters g bei Eingabe
G.
Theorem (A. A. Razborov, 1985)
Falls n genügend groß ist, besitzt jeder monotone Schaltkreis Cn,k
1 √
8
mindestens r = n 6 · n viele Gatter.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
241 / 258
Der Satz von Razborov
Beweis des Satzes von Razborov
Beweisidee: Wir versehen induktiv die Gatter g von Cn,k mit einer groben
Beschriftung Bg , die dann in natürlicher Weise zu einer Abbildung
Bg : Γn → B führt, wobei Γn die Menge aller ungerichteten Graphen mit n
Knoten ist. Danach messen wir die Abweichung von g (G ) und Bg (G ) auf
einer Menge von Testgraphen G und zeigen, dass die Abweichung gering
ist, wenn es in Cn,k wenig Gatter gibt. Andererseits werden wir zeigen,
dass die Abweichung am Ausgabegatter notwendigerweise groß ist. Also
muss Cn,k viele Gatter besitzen.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
242 / 258
Der Satz von Razborov
Beweis des Satzes von Razborov
Nun zum Beweis: Wir legen zunächst die Parameter fest. Wir definieren:
√
k := ⌊ 4 n⌋,
√
√
ℓ := ⌊ k⌋ ≈ 8 n,
p := ℓ⌈log2 n⌉,
M := (p − 1)ℓ · ℓ!.
Dies ist der Sonnenblumenwert!
Der Logarithmus wird also zur Basis 2 gebildet und aufgerundet, die
anderen Werte werden abgerundet. Die Rechnung ist jedoch genügend
robust, so dass es nicht essentiell ist.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
243 / 258
Der Satz von Razborov
Beweis des Satzes von Razborov (Forts.)
Im Folgenden beschriften wir die Gatter induktiv mit Familien
{X1 , . . . , Xm }, wobei Xi ⊆ V gilt. Sei Bg die Beschriftung eines Gatters g .
Dann definieren wir für einen Graphen G = (V , E ) den Wert Bg (G ) ∈ B
durch:
X
Bg (G ) ⇐⇒ ∃X ∈ Bg :
⊆ E.
2
Dabei bedeutet hier und im Folgenden Xk die Familie der k-elementigen
Teilmengen einer Menge X . Es gilt also Bg (G ) genau dann, wenn die
Familie Bg eine Clique von G enthält.
Die Eingabegatter gij werden mit Bgij = {{i , j}} beschriftet, also gilt für
alle Graphen G : gij (G ) = Bgij (G ).
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
244 / 258
Der Satz von Razborov
Beweis des Satzes von Razborov (Forts.)
Eine Beschriftung heißt zulässig, falls |B| ≤ M und |X | ≤ ℓ für alle X ∈ B
gilt. An den Eingangsgattern ist die Beschriftung zulässig. Folgendes
Verfahren transformiert eine beliebige Familie B = {X1 , . . . , Xm } in eine
zulässige Beschriftung. Im ersten Schritt ersetzen wir B durch
B ′ = {X ∈ B | |X | ≤ ℓ}. Falls jetzt noch |B ′ | > M gilt, so suchen wir eine
Sonnenblume {X1 , . . . , Xp } ⊆ B ′ mit Kern Z und ersetzen {X1 , . . . , Xp }
durch Z . Diesen Vorgang bezeichnen wir als Pflücken der Sonnenblume.
Obiges Lemma garantiert, dass wir eine Sonnenblume finden. Das Pflücken
wiederholen wir so lange, bis wir höchstens M Mengen haben. Das
Ergebnis der Prozedur ist eine zulässige Familie, die wir mit reduce(B)
bezeichnen.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
245 / 258
Der Satz von Razborov
Beweis des Satzes von Razborov (Forts.)
Sei jetzt g ein Gatter mit Eingabegattern f und h. Induktiv seien f mit
Bf = {Xi | i ∈ I } und h mit Bh = {Yj | j ∈ J} jeweils zulässig beschriftet.
Die Beschriftung Bg von g definieren wir als
reduce(Bf ∪ Bh ), falls g = f ∨ h
Bg =
reduce(Bf · Bh ),
falls g = f ∧ h
Dabei gilt Bf · Bh = {Xi ∪ Yj | (i , j) ∈ I × J}.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
246 / 258
Der Satz von Razborov
Beweis des Satzes von Razborov (Forts.)
Am Ausgangsgatter out von Cn,k ergibt sich eine zulässige Beschriftung
Bout und wir untersuchen jetzt die Abweichungen der Werte Bout (G ) von
den Werten Cn,k (G ). Hierbei bezeichnet Cn,k (G ) = out(G ) den Wert des
Schaltkreises Cn,k bei Eingabe G . Im Folgenden sei r die Anzahl der Gatter
in Cn,k . Mit Widerspruch nehmen wir an, dass für unendliche viele n gilt:
1 √
8n
r < n6·
1
< n 5 ·ℓ .
(∗)
Wir wollen die Abweichung von Cn,k (G ) und Bout (G ) auf einer Menge von
positiven und negativen Testgraphen bestimmen. Positive Testgraphen
sind nur solche mit Cn,k (G ) = 1, negative nur solche mit Cn,k (G ) = 0.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
247 / 258
Der Satz von Razborov
Beweis des Satzes von Razborov (Forts.)
Das Verhalten bei positiven Testgraphen
Positive Testgraphen:
Eine Teilmenge P ⊆ V mit |P| = k wird mit dem
P
Graphen (V , 2 ) identifiziert. Für ein Eingabegatter gij gilt also
gij (P) = 1 genau dann, wenn {i , j} ⊆ P.
Ferner gilt Cn,k (P) = 1, da P
n
eine Clique der Größe k ist. Es gibt k positive Testgraphen.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
248 / 258
Der Satz von Razborov
Beweis des Satzes von Razborov (Forts.)
Sei P = (V , E ) ein positiver Testgraph. Wir sagen, dass für P ein Fehler
am Gatter g vorliegt, falls g (P) = 1, aber Bg (P) = 0 gilt. Wir bestimmen
die maximale Fehlerzahl am Ausgangsgatter. Ein Fehler am
Ausgangsgatter entsteht in einem monotonen Schaltkreis an einem Gatter
g mit Eingabegattern f und h an denen der Fehler noch nicht vorliegt. Die
Eingabegatter f und h seien mit Bf = {Xi | i ∈ I } und Bh = {Yj | j ∈ J}
zulässig beschriftet. Falls g = f ∨ h gilt, so entsteht Bg durch Pflücken der
in der Menge {Xi | i ∈ I } ∪ {Yj | j ∈ J}. Enthält die Menge
{Xi | i ∈ I } ∪ {Yj | j ∈ J} ein Z mit Z ⊆ P, so gilt dies auch nach dem
Pflücken. Fehler können für P also an keinem OR-Gatter entstehen.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
249 / 258
Der Satz von Razborov
Beweis des Satzes von Razborov (Forts.)
Sei g = f ∧ h ein AND-Gatter und Bf (P) = Bh (P) = 1. D.h., es gibt ein
Xi ∈ Bf mit Xi ⊆ P und ein Yj ∈ Bh mit Yj ⊆ P. Damit gilt Xi ∪ Yj ⊆ P.
Da durch das Pflücken einer Sonnenblume kein neuer Fehler entstehen
kann, kann dies nur im ersten Schritt von reduce geschehen, wenn Bg
durch Bg′ = {Z ∈ Bg | |Z | ≤ ℓ} ersetzt wird.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
250 / 258
Der Satz von Razborov
Beweis des Satzes von Razborov (Forts.)
Sei zunächst Z ⊆ V mit |Z | ≥ ℓ + 1 fest. Dann gilt für die Anzahl der
positiven Testgraphen, die Z als Clique enthalten:
V
n − |Z |
n−ℓ−1
|{P ∈
| Z ⊆ P}| =
≤
.
k
k − |Z |
k −ℓ−1
Es können maximal M 2 viele Mengen in Bf · Bh gelöscht werden. Daher
gilt für die Beschriftung Bout am Ausgangsgatter:
1. Fall: Alle positiven Testgraphen
werden falsch ausgewertet, d.h. es
entstehen mindestens kn viele Fehler:
n−ℓ−1
n
2
r ·M ·
≥
k −ℓ−1
k
2. Fall: oder Bout (P) = 1 für mindestens ein P ∈ Vk .
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
251 / 258
Der Satz von Razborov
Beweis des Satzes von Razborov (Forts.)
1. Fall: Alle positiven Testgraphen falsch ausgewertet
Fall (1) impliziert
n
1
k
r≥ 2·
n−ℓ−1
M
k−ℓ−1
1 n(n − 1) · · · (n − ℓ)
1 n! · (k − ℓ − 1)!
·
= 2·
2
M k! · (n − ℓ − 1)!
M k(k − 1) · · · (k − ℓ)
ℓ
n−ℓ
n−ℓ ℓ
1
1
=
·
≥ 2·
M
k
(p − 1)2ℓ · ℓ!2
k
ℓ
1
n−ℓ
> n 5 ·ℓ ,
≥
2
2
p ·ℓ ·k
=
wobei die letzte Ungleichung gilt, da n genügend groß ist. Dies ist ein
1
·ℓ
Widerspruch zur Annahme, dass die Zahl der Gatter r kleiner
als n 5 ist.
V
Daher gilt ab jetzt Bout (P) = 1 für mindestens ein P ∈ k . Insbesondere
gibt es ein Z ⊆ V mit |Z | ≤ ℓ und Z ∈ Bout 6= ∅.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
252 / 258
Der Satz von Razborov
Beweis des Satzes von Razborov (Forts.)
Das Verhalten bei negativen Testgraphen
Negative Testgraphen: Eine Färbung c : V → {1, . . . , k − 1} der
Knotenmenge V definiert einen Graphen Gc = (V , E ) mit
E = {{i , j} | c(i ) 6= c(j)}. Der Graph Gc ist (k − 1)-färbbar, also gilt
Cn,k (Gc ) = 0, und Gc = (V , E ) für den durch c definierten negativen
Testgraphen. (Es gibt (k − 1)n Färbungen, aber sehr viel weniger negative
Testgraphen Gc .) Wir zählen die Färbungen und fassen daher Färbungen c
selbst als Eingaben für den Schaltkreis auf. Wir setzen B(c) = B(Gc ). An
den Eingabegattern gilt gij (c) = 1 genau dann, wenn c(i ) 6= c(j).
Sei c : V → {1, . . . , k − 1} eine Färbung. Für Z ⊆ V sei R(Z ) das
Ereignis, dass eine Farbe in Z wiederholt vorkommt (repeated color):
R(Z )
⇔
∃i , j ∈ Z , i 6= j : c(i ) = c(j)
Für eine Beschriftung B = {Zi | i ∈ I } gilt damit:
B(c)
⇔
B enthält eine Clique von Gc
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
⇔
∃Z ∈ B : ¬R(Z ).
SS 2011
253 / 258
Der Satz von Razborov
Beweis des Satzes von Razborov (Forts.)
Behauptung: Sei B 6= ∅ eine zulässige Beschriftung. Dann gilt
Pr(B(c)) ≥ 1/2.
Beweis: Für i , j ∈ V mit i 6= j gilt Pr(c(i ) = c(j)) = 1/(k − 1). Sei Z ∈ B
mit |Z | ≤ ℓ. Dann gilt
ℓ(ℓ − 1)
1
|Z |
1
≤
≤ .
Pr(R(Z )) ≤
·
k −1
2(k − 1)
2
2
Dies beweist die Behauptung.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
254 / 258
Der Satz von Razborov
Beweis des Satzes von Razborov (Forts.)
Da am Ausgabegatter Bout 6= ∅ und Cn,k (c) = 0 für alle Färbungen c gilt,
müssen also sehr viele Abweichungen entstanden sein. Wir sagen jetzt, dass
für c ein Fehler am Gatter g vorliegt, falls g (c) = 0, aber Bg (c) = 1 gilt.
Wir bestimmen wiederum die maximale Fehlerzahl am Ausgangsgatter.
Wie oben betrachten wir ein Gatter g mit den Eingabegattern f und h mit
zulässigen Beschriftungen Bf = {Xi | i ∈ I } und Bh = {Yj | j ∈ J}. Bei
einem AND-Gatter nehmen wir Bf (c) = 0 oder Bh (c) = 0 an, bei einem
OR-Gatter nehmen wir Bf (c) = Bh (c) = 0 an. Es sei Bg (c) = 1
Dies bedeutet R(Z ) für alle Z ∈ Bf · Bh bzw. für alle Z ∈ Bf ∪ Bh . Das
Löschen von Mengen kann diese Eigenschaft nicht verändern.
Problematisch ist das Pflücken. Insgesamt wird maximal r · M 2 /(p − 1) oft
gepflückt. Wir zählen die Fehler, die durch ein Pflücken entstehen können.
Sei {Z1 , . . . , Zp } eine Sonnenblume mit Kern Z . Ein neuer Fehler entsteht
nur, wenn R(Z1 ), . . . , R(Zp ) und ¬R(Z ) gelten.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
255 / 258
Der Satz von Razborov
Beweis des Satzes von Razborov (Forts.)
Behauptung: Sei {Z1 , . . . , Zp } eine Sonnenblume mit Kern Z und |Zi | ≤ ℓ
für alle 1 ≤ i ≤ p. Dann gilt Pr(R(Z1 ) ∧ . . . ∧ R(Zp ) ∧ ¬R(Z )) ≤ (1/2)p .
Beweis: Die p Ereignisse R(Zi ) ∧ ¬R(Z ) sind unabhängig, da {Z1 , . . . , Zp }
eine Sonnenblume ist. Damit erhalten wir:
Pr(R(Z1 ) ∧ . . . ∧ R(Zp ) ∧ ¬R(Z )) =
≤
p
Y
i =1
p
Y
Pr(R(Zi ) ∧ ¬R(Z ))
Pr(R(Zi ))
i =1
≤ (1/2)p .
Denn wie eben berechnet gilt Pr(R(Zi )) ≤ 1/2, falls |Zi | ≤ ℓ. Dies beweist
die Behauptung.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
256 / 258
Der Satz von Razborov
Beweis des Satzes von Razborov (Forts.)
Wir haben jetzt alles zusammen. Es muss gelten:
Anzahl Pflücken × Pr(Beim Pflücken entsteht neuer Fehler)
≥
Pr(Färbung wird am Ausgabegatter positiv bewertet)
oder formal:
r · M2
·
p−1
p
1
1
≥ ,
2
2
denn es wird maximal r · M 2 /(p − 1) gepflückt und die Beschriftung am
Ausgabegatter ist nicht leer.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
257 / 258
Der Satz von Razborov
Beweis des Satzes von Razborov (Forts.)
Dies bedeutet
r
≥
≥
p − 1 p−1
(p − 1) · 2p−1
2p
·
2
=
≥
M2
((p − 1)ℓ · (ℓ!))2
(pℓ)2ℓ
ℓ
ℓ
1
n
n
nℓ
·ℓ
3 .
≥
n
=
≥
2
2ℓ
2
2
(pℓ)
p ·ℓ
k 2 log n
Damit ist der Satz von Razborov bewiesen.
Volker Diekert (Universität Stuttgart)
Komplexitätstheorie
SS 2011
258 / 258
Herunterladen