+ All Categories
Home > Documents > ls1- · Tiling-Puzzle (1/2) •Wir betrachten ein Kachel-Puzzle (englisch für „Kachel“: Tile)...

ls1- · Tiling-Puzzle (1/2) •Wir betrachten ein Kachel-Puzzle (englisch für „Kachel“: Tile)...

Date post: 08-Aug-2019
Category:
Upload: duonghanh
View: 212 times
Download: 0 times
Share this document with a friend
106
Komplexitätstheorie Teil A: Klassische Klassen 2: Puzzle und Speicherplatz Version von: 9. April 2015 (17:59) Sommersemester 2015 - Thomas Schwentick
Transcript

KomplexitätstheorieTeil A: Klassische Klassen

2: Puzzle und Speicherplatz

Version von: 9. April 2015 (17:59)

Sommersemester 2015 - Thomas Schwentick

Kacheln - Tiles

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 1

Kachel-Puzzle

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 2

Kachel-Puzzle mit einer Spielerin

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 3

Inhalt

✄ 2.1 Tiling-Puzzle

2.2 Speicherplatzbasierte Komplexitätsklassen

2.3 Vollständige Probleme für PSPACE

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 4

Tiling-Puzzle (1/2)

• Wir betrachten ein Kachel-Puzzle(englisch für „Kachel“: Tile)

• Gespielt wird mit Kacheln der Art ,wobei jeweils nur vorgegebene Sortenvon Kacheln mit bestimmten Färbun-gen verfügbar sind

• Von jeder Sorte sind beliebig viele Ka-cheln verfügbar

• Die Kacheln müssen in einem Recht-eck angeordnet werden

• Die Kacheln dürfen nicht gedreht wer-den

• Oben und unten muss das Rechteckeinfarbig blau abschließen

• Benachbarte Kacheln müssen an derangrenzenden Seite die selbe Farbehaben

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 5

Tiling-Puzzle (1/2)

• Wir betrachten ein Kachel-Puzzle(englisch für „Kachel“: Tile)

• Gespielt wird mit Kacheln der Art ,wobei jeweils nur vorgegebene Sortenvon Kacheln mit bestimmten Färbun-gen verfügbar sind

• Von jeder Sorte sind beliebig viele Ka-cheln verfügbar

• Die Kacheln müssen in einem Recht-eck angeordnet werden

• Die Kacheln dürfen nicht gedreht wer-den

• Oben und unten muss das Rechteckeinfarbig blau abschließen

• Benachbarte Kacheln müssen an derangrenzenden Seite die selbe Farbehaben

Beispiel

• c = 4, r = 5

• Puzzlesteine:

, , , , , , , , ,

, ,

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 5

Tiling-Puzzle (1/2)

• Wir betrachten ein Kachel-Puzzle(englisch für „Kachel“: Tile)

• Gespielt wird mit Kacheln der Art ,wobei jeweils nur vorgegebene Sortenvon Kacheln mit bestimmten Färbun-gen verfügbar sind

• Von jeder Sorte sind beliebig viele Ka-cheln verfügbar

• Die Kacheln müssen in einem Recht-eck angeordnet werden

• Die Kacheln dürfen nicht gedreht wer-den

• Oben und unten muss das Rechteckeinfarbig blau abschließen

• Benachbarte Kacheln müssen an derangrenzenden Seite die selbe Farbehaben

Beispiel

• c = 4, r = 5

• Puzzlesteine:

, , , , , , , , ,

, ,

• Mögliche Lösung:

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 5

Tiling-Puzzle (2/2)Definition

• Sei T eine Menge von Kacheln

• o,w,n,s seien vier Funktionen T → Fin eine Menge F von Farben

• Eine c× r-Lösung für ei-ne Menge T ist eine FunktionK : {1, . . . ,c} × {1, . . . ,r} → T ,so dass gelten:

◮ Für alle j ∈ {1, . . . ,c} gilt:� s(K(j,1)) = blau ☞ untere Reihe

� n(K(j,r)) = blau ☞ obere Reihe

◮ Für alle i ∈ {1, . . . ,c− 1} und allej ∈ {1, . . . ,r} gilt:e(K(i,j)) = w(K(i+ 1,j))

☞ horizontal ok

◮ Für alle i ∈ {1, . . . ,c} und allej ∈ {1, . . . ,r − 1} gilt:

n(K(i,j)) = s(K(i,j + 1))☞ vertikal ok

!Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 6

Tiling-Puzzle (2/2)Definition

• Sei T eine Menge von Kacheln

• o,w,n,s seien vier Funktionen T → Fin eine Menge F von Farben

• Eine c× r-Lösung für ei-ne Menge T ist eine FunktionK : {1, . . . ,c} × {1, . . . ,r} → T ,so dass gelten:

◮ Für alle j ∈ {1, . . . ,c} gilt:� s(K(j,1)) = blau ☞ untere Reihe

� n(K(j,r)) = blau ☞ obere Reihe

◮ Für alle i ∈ {1, . . . ,c− 1} und allej ∈ {1, . . . ,r} gilt:e(K(i,j)) = w(K(i+ 1,j))

☞ horizontal ok

◮ Für alle i ∈ {1, . . . ,c} und allej ∈ {1, . . . ,r − 1} gilt:

n(K(i,j)) = s(K(i,j + 1))☞ vertikal ok

Beispiel

• n( ) = grün

• s( ) = rot

• e( ) = blau

• w( ) = weiß

!Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 6

Tiling-Puzzle (2/2)Definition

• Sei T eine Menge von Kacheln

• o,w,n,s seien vier Funktionen T → Fin eine Menge F von Farben

• Eine c× r-Lösung für ei-ne Menge T ist eine FunktionK : {1, . . . ,c} × {1, . . . ,r} → T ,so dass gelten:

◮ Für alle j ∈ {1, . . . ,c} gilt:� s(K(j,1)) = blau ☞ untere Reihe

� n(K(j,r)) = blau ☞ obere Reihe

◮ Für alle i ∈ {1, . . . ,c− 1} und allej ∈ {1, . . . ,r} gilt:e(K(i,j)) = w(K(i+ 1,j))

☞ horizontal ok

◮ Für alle i ∈ {1, . . . ,c} und allej ∈ {1, . . . ,r − 1} gilt:

n(K(i,j)) = s(K(i,j + 1))☞ vertikal ok

Beispiel

• n( ) = grün

• s( ) = rot

• e( ) = blau

• w( ) = weiß

Definition: TILING

Gegeben: Kachelmenge T und Zahlen c, r(unär kodiert!)

Frage: Gibt es eine c×r-Lösung für T ?

!Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 6

Tiling-Puzzle (2/2)Definition

• Sei T eine Menge von Kacheln

• o,w,n,s seien vier Funktionen T → Fin eine Menge F von Farben

• Eine c× r-Lösung für ei-ne Menge T ist eine FunktionK : {1, . . . ,c} × {1, . . . ,r} → T ,so dass gelten:

◮ Für alle j ∈ {1, . . . ,c} gilt:� s(K(j,1)) = blau ☞ untere Reihe

� n(K(j,r)) = blau ☞ obere Reihe

◮ Für alle i ∈ {1, . . . ,c− 1} und allej ∈ {1, . . . ,r} gilt:e(K(i,j)) = w(K(i+ 1,j))

☞ horizontal ok

◮ Für alle i ∈ {1, . . . ,c} und allej ∈ {1, . . . ,r − 1} gilt:

n(K(i,j)) = s(K(i,j + 1))☞ vertikal ok

Beispiel

• n( ) = grün

• s( ) = rot

• e( ) = blau

• w( ) = weiß

Definition: TILING

Gegeben: Kachelmenge T und Zahlen c, r(unär kodiert!)

Frage: Gibt es eine c×r-Lösung für T ?

Definition: CORRIDORTILING

Gegeben: Kachelmenge T und Zahl c(unär kodiert!)

Frage: Gibt es eine c×r-Lösung für T(für irgendein r)?

!Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 6

Tiling-Puzzle (2/2)Definition

• Sei T eine Menge von Kacheln

• o,w,n,s seien vier Funktionen T → Fin eine Menge F von Farben

• Eine c× r-Lösung für ei-ne Menge T ist eine FunktionK : {1, . . . ,c} × {1, . . . ,r} → T ,so dass gelten:

◮ Für alle j ∈ {1, . . . ,c} gilt:� s(K(j,1)) = blau ☞ untere Reihe

� n(K(j,r)) = blau ☞ obere Reihe

◮ Für alle i ∈ {1, . . . ,c− 1} und allej ∈ {1, . . . ,r} gilt:e(K(i,j)) = w(K(i+ 1,j))

☞ horizontal ok

◮ Für alle i ∈ {1, . . . ,c} und allej ∈ {1, . . . ,r − 1} gilt:

n(K(i,j)) = s(K(i,j + 1))☞ vertikal ok

Beispiel

• n( ) = grün

• s( ) = rot

• e( ) = blau

• w( ) = weiß

Definition: TILING

Gegeben: Kachelmenge T und Zahlen c, r(unär kodiert!)

Frage: Gibt es eine c×r-Lösung für T ?

Definition: CORRIDORTILING

Gegeben: Kachelmenge T und Zahl c(unär kodiert!)

Frage: Gibt es eine c×r-Lösung für T(für irgendein r)?

• Was ist die Komplexität von TILING undCORRIDORTILING?

!Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 6

Korridor-Puzzle

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 7

Komplexität von Tiling-Puzzles (1/2)Satz 2.1

• TILING ist vollständig für NP

!Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 8

Komplexität von Tiling-Puzzles (1/2)Satz 2.1

• TILING ist vollständig für NP

Beweisskizze

• Klar: TILING ∈ NP

!Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 8

Komplexität von Tiling-Puzzles (1/2)Satz 2.1

• TILING ist vollständig für NP

Beweisskizze

• Klar: TILING ∈ NP

• Für den Beweis der NP-Vollständigkeit zei-gen wir, dass jedes L ∈ NP auf TILINGreduzierbar ist

!Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 8

Komplexität von Tiling-Puzzles (1/2)Satz 2.1

• TILING ist vollständig für NP

Beweisskizze

• Klar: TILING ∈ NP

• Für den Beweis der NP-Vollständigkeit zei-gen wir, dass jedes L ∈ NP auf TILINGreduzierbar ist• SeiM eine TM, die◮ L nichtdeterministisch entscheidet,◮ für Eingaben der Länge n Zusatzeinga-

ben der Länge nℓ verwendet, und

◮ Laufzeit nk hat (OBdA: k ≥ ℓ)

!Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 8

Komplexität von Tiling-Puzzles (1/2)Satz 2.1

• TILING ist vollständig für NP

Beweisskizze

• Klar: TILING ∈ NP

• Für den Beweis der NP-Vollständigkeit zei-gen wir, dass jedes L ∈ NP auf TILINGreduzierbar ist• SeiM eine TM, die◮ L nichtdeterministisch entscheidet,◮ für Eingaben der Länge n Zusatzeinga-

ben der Länge nℓ verwendet, und

◮ Laufzeit nk hat (OBdA: k ≥ ℓ)• Sei x ein String und n

def= |x|

!Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 8

Komplexität von Tiling-Puzzles (1/2)Satz 2.1

• TILING ist vollständig für NP

Beweisskizze

• Klar: TILING ∈ NP

• Für den Beweis der NP-Vollständigkeit zei-gen wir, dass jedes L ∈ NP auf TILINGreduzierbar ist• SeiM eine TM, die◮ L nichtdeterministisch entscheidet,◮ für Eingaben der Länge n Zusatzeinga-

ben der Länge nℓ verwendet, und

◮ Laufzeit nk hat (OBdA: k ≥ ℓ)• Sei x ein String und n

def= |x|

• Für i,j ≤ nk definieren wir rijdef=

◮ (σ,q), wenn nach i Schritten vonM(x) der Kopf in Zustand q an Positi-on j steht und sich dort ein σ befindet

◮ σ, wenn nach i Schritten vonM(x)an Position j ein σ steht und der Kopfsich woanders befindet

!Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 8

Komplexität von Tiling-Puzzles (1/2)Satz 2.1

• TILING ist vollständig für NP

Beweisskizze

• Klar: TILING ∈ NP

• Für den Beweis der NP-Vollständigkeit zei-gen wir, dass jedes L ∈ NP auf TILINGreduzierbar ist• SeiM eine TM, die◮ L nichtdeterministisch entscheidet,◮ für Eingaben der Länge n Zusatzeinga-

ben der Länge nℓ verwendet, und

◮ Laufzeit nk hat (OBdA: k ≥ ℓ)• Sei x ein String und n

def= |x|

• Für i,j ≤ nk definieren wir rijdef=

◮ (σ,q), wenn nach i Schritten vonM(x) der Kopf in Zustand q an Positi-on j steht und sich dort ein σ befindet

◮ σ, wenn nach i Schritten vonM(x)an Position j ein σ steht und der Kopfsich woanders befindet

Beweisskizze (Forts.)

• Die Farben der Tilingsteine sind Paare(r,r′) von Einträgen aus Γ ∪ (Γ × Q)mit der Intention:

◮ Bei „Ost-“ und „Nordfarben“ ist r der„Wert“ des aktuellen Feldes und r′ derWert des anliegenden Nachbarfeldes

◮ Bei „Süd-“ und „West-“ ist es umgekehrt

!Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 8

Komplexität von Tiling-Puzzles (1/2)Satz 2.1

• TILING ist vollständig für NP

Beweisskizze

• Klar: TILING ∈ NP

• Für den Beweis der NP-Vollständigkeit zei-gen wir, dass jedes L ∈ NP auf TILINGreduzierbar ist• SeiM eine TM, die◮ L nichtdeterministisch entscheidet,◮ für Eingaben der Länge n Zusatzeinga-

ben der Länge nℓ verwendet, und

◮ Laufzeit nk hat (OBdA: k ≥ ℓ)• Sei x ein String und n

def= |x|

• Für i,j ≤ nk definieren wir rijdef=

◮ (σ,q), wenn nach i Schritten vonM(x) der Kopf in Zustand q an Positi-on j steht und sich dort ein σ befindet

◮ σ, wenn nach i Schritten vonM(x)an Position j ein σ steht und der Kopfsich woanders befindet

Beweisskizze (Forts.)

• Die Farben der Tilingsteine sind Paare(r,r′) von Einträgen aus Γ ∪ (Γ × Q)mit der Intention:

◮ Bei „Ost-“ und „Nordfarben“ ist r der„Wert“ des aktuellen Feldes und r′ derWert des anliegenden Nachbarfeldes

◮ Bei „Süd-“ und „West-“ ist es umgekehrt

• Die zulässigen Steine ergeben sich dannaus der Überführungsfunktion vonM ⊞

!Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 8

Komplexität von Tiling-Puzzles (1/2)Satz 2.1

• TILING ist vollständig für NP

Beweisskizze

• Klar: TILING ∈ NP

• Für den Beweis der NP-Vollständigkeit zei-gen wir, dass jedes L ∈ NP auf TILINGreduzierbar ist• SeiM eine TM, die◮ L nichtdeterministisch entscheidet,◮ für Eingaben der Länge n Zusatzeinga-

ben der Länge nℓ verwendet, und

◮ Laufzeit nk hat (OBdA: k ≥ ℓ)• Sei x ein String und n

def= |x|

• Für i,j ≤ nk definieren wir rijdef=

◮ (σ,q), wenn nach i Schritten vonM(x) der Kopf in Zustand q an Positi-on j steht und sich dort ein σ befindet

◮ σ, wenn nach i Schritten vonM(x)an Position j ein σ steht und der Kopfsich woanders befindet

Beweisskizze (Forts.)

• Die Farben der Tilingsteine sind Paare(r,r′) von Einträgen aus Γ ∪ (Γ × Q)mit der Intention:

◮ Bei „Ost-“ und „Nordfarben“ ist r der„Wert“ des aktuellen Feldes und r′ derWert des anliegenden Nachbarfeldes

◮ Bei „Süd-“ und „West-“ ist es umgekehrt

• Die zulässigen Steine ergeben sich dannaus der Überführungsfunktion vonM ⊞

• Für die unterste und oberste Zeile werdennoch spezielle Steine eingeführt

(abhängig von der Eingabe x)

• Dann lässt sich zeigen:M akzeptiert x⇐⇒ es gibt eine

nk × nk-Lösung des Puzzles

!Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 8

Komplexität von Tiling-Puzzles (1/2)Satz 2.1

• TILING ist vollständig für NP

Beweisskizze

• Klar: TILING ∈ NP

• Für den Beweis der NP-Vollständigkeit zei-gen wir, dass jedes L ∈ NP auf TILINGreduzierbar ist• SeiM eine TM, die◮ L nichtdeterministisch entscheidet,◮ für Eingaben der Länge n Zusatzeinga-

ben der Länge nℓ verwendet, und

◮ Laufzeit nk hat (OBdA: k ≥ ℓ)• Sei x ein String und n

def= |x|

• Für i,j ≤ nk definieren wir rijdef=

◮ (σ,q), wenn nach i Schritten vonM(x) der Kopf in Zustand q an Positi-on j steht und sich dort ein σ befindet

◮ σ, wenn nach i Schritten vonM(x)an Position j ein σ steht und der Kopfsich woanders befindet

Beweisskizze (Forts.)

• Die Farben der Tilingsteine sind Paare(r,r′) von Einträgen aus Γ ∪ (Γ × Q)mit der Intention:

◮ Bei „Ost-“ und „Nordfarben“ ist r der„Wert“ des aktuellen Feldes und r′ derWert des anliegenden Nachbarfeldes

◮ Bei „Süd-“ und „West-“ ist es umgekehrt

• Die zulässigen Steine ergeben sich dannaus der Überführungsfunktion vonM ⊞

• Für die unterste und oberste Zeile werdennoch spezielle Steine eingeführt

(abhängig von der Eingabe x)

• Dann lässt sich zeigen:M akzeptiert x⇐⇒ es gibt eine

nk × nk-Lösung des Puzzles

✎ Um die Komplexität von CORRIDORTILING zucharakterisieren, müssen wir etwas weiter aus-holen: Ressource Speicherplatz

!Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 8

Inhalt

2.1 Tiling-Puzzle

✄ 2.2 Speicherplatzbasierte Komplexitätsklas-sen

2.3 Vollständige Probleme für PSPACE

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 9

Speicherplatzaufwand (1/2)

• Wie soll Speicherplatz gemessen werden?

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 10

Speicherplatzaufwand (1/2)

• Wie soll Speicherplatz gemessen werden?

◮ wir zählen die benutzten „Felder“ der Strings einerTM

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 10

Speicherplatzaufwand (1/2)

• Wie soll Speicherplatz gemessen werden?

◮ wir zählen die benutzten „Felder“ der Strings einerTM

• Komplikation:

◮ wir werden uns später auch für sehr kleinen Spei-cherplatz interessieren (O(logn))

◮ Aber: allein die Eingabe nimmt n Felder in An-spruch

➞ Deshalb zählen wir den Eingabestring nicht mitund erlauben der TM keine Änderungen aufdem Eingabestring

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 10

Speicherplatzaufwand (2/2)Definition

• Eine k-string TM mit read-only Ein-

gabestring (RO-TM) ist eine k-string TM

M = (Q,Σ,Γ,δ,s) mit:

◮ Ist δ(q,σ1, . . . ,σk) =(q′,σ′

1, . . . ,σ′k,d1, . . . ,dk), so ist

(a) σ1 = σ′1, und

(b) falls σ1 = ⊔, so d1 =←.

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 11

Speicherplatzaufwand (2/2)Definition

• Eine k-string TM mit read-only Ein-

gabestring (RO-TM) ist eine k-string TM

M = (Q,Σ,Γ,δ,s) mit:

◮ Ist δ(q,σ1, . . . ,σk) =(q′,σ′

1, . . . ,σ′k,d1, . . . ,dk), so ist

(a) σ1 = σ′1, und

(b) falls σ1 = ⊔, so d1 =←.

• Ist (q,(w1,z1), . . . ,(wk,zk)) die Hal-tekonfiguration vonM bei Eingabe x soist der Speicherplatzaufwand vonM beiEingabe x:

sM(x)def=

∑ki=2 |wi|

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 11

Speicherplatzaufwand (2/2)Definition

• Eine k-string TM mit read-only Ein-

gabestring (RO-TM) ist eine k-string TM

M = (Q,Σ,Γ,δ,s) mit:

◮ Ist δ(q,σ1, . . . ,σk) =(q′,σ′

1, . . . ,σ′k,d1, . . . ,dk), so ist

(a) σ1 = σ′1, und

(b) falls σ1 = ⊔, so d1 =←.

• Ist (q,(w1,z1), . . . ,(wk,zk)) die Hal-tekonfiguration vonM bei Eingabe x soist der Speicherplatzaufwand vonM beiEingabe x:

sM(x)def=

∑ki=2 |wi|

• S : N 7→ R heißt Platzschranke fürM ,falls für ein n0 und alle x mit |x| > n0gilt:

sM(x) ≤ S(|x|)

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 11

Speicherplatzaufwand (2/2)Definition

•• Eine k-string TM mit read-only Ein-

gabestring (RO-TM) ist eine k-string TM

M = (Q,Σ,Γ,δ,s) mit:

◮ Ist δ(q,σ1, . . . ,σk) =(q′,σ′

1, . . . ,σ′k,d1, . . . ,dk), so ist

(a) σ1 = σ′1, und

(b) falls σ1 = ⊔, so d1 =←.

• Ist (q,(w1,z1), . . . ,(wk,zk)) die Hal-tekonfiguration vonM bei Eingabe x soist der Speicherplatzaufwand vonM beiEingabe x:

sM(x)def=

∑ki=2 |wi|

• S : N 7→ R heißt Platzschranke fürM ,falls für ein n0 und alle x mit |x| > n0gilt:

sM(x) ≤ S(|x|)

Definition

•• SPACEk(S): Sprachen L, die von RO-k-

TM mit PlatzschrankeO(S) entschiedenwerden

• SPACE(S):⋃

k≥2

SPACEk(S)

• PSPACE:⋃

ℓ≥1

SPACE(nℓ)

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 11

Speicherplatzaufwand (2/2)Definition

• Eine k-string TM mit read-only Ein-

gabestring (RO-TM) ist eine k-string TM

M = (Q,Σ,Γ,δ,s) mit:

◮ Ist δ(q,σ1, . . . ,σk) =(q′,σ′

1, . . . ,σ′k,d1, . . . ,dk), so ist

(a) σ1 = σ′1, und

(b) falls σ1 = ⊔, so d1 =←.

• Ist (q,(w1,z1), . . . ,(wk,zk)) die Hal-tekonfiguration vonM bei Eingabe x soist der Speicherplatzaufwand vonM beiEingabe x:

sM(x)def=

∑ki=2 |wi|

• S : N 7→ R heißt Platzschranke fürM ,falls für ein n0 und alle x mit |x| > n0gilt:

sM(x) ≤ S(|x|)

Definition

•• SPACEk(S): Sprachen L, die von RO-k-

TM mit PlatzschrankeO(S) entschiedenwerden

• SPACE(S):⋃

k≥2

SPACEk(S)

• PSPACE:⋃

ℓ≥1

SPACE(nℓ)

✎ Für die Definition von PSPACE ist die Be-schränkung auf RO-TMs eigentlich nicht nö-tig

◮ Wir können im Folgenden also anneh-men, dass „PSPACE-TMs“ nur mit einemString arbeiten...

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 11

2-string-RO-TM: BeispielBeispiel

• 2-String-Turing-Maschine zum Test, ob die Eingabe von der FormwwR ist:

a: Kopiere String vom ersten auf den zweiten String (bis blank)

b/c: Bewege Kopf 2 zurück an Anfang, teste dabei, ob die Anzahlder Zeichen gerade oder ungerade ist

d: Bewege Kopf 1 nach links, Kopf 2 nach rechts, vergleiche je-weils die gelesenen Zeichen

0 1 1 1 1 0ba

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 12

2-string-RO-TM: BeispielBeispiel

• 2-String-Turing-Maschine zum Test, ob die Eingabe von der FormwwR ist:

a: Kopiere String vom ersten auf den zweiten String (bis blank)

b/c: Bewege Kopf 2 zurück an Anfang, teste dabei, ob die Anzahlder Zeichen gerade oder ungerade ist

d: Bewege Kopf 1 nach links, Kopf 2 nach rechts, vergleiche je-weils die gelesenen Zeichen

0 1 1 1 1 0ba

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 12

2-string-RO-TM: BeispielBeispiel

• 2-String-Turing-Maschine zum Test, ob die Eingabe von der FormwwR ist:

a: Kopiere String vom ersten auf den zweiten String (bis blank)

b/c: Bewege Kopf 2 zurück an Anfang, teste dabei, ob die Anzahlder Zeichen gerade oder ungerade ist

d: Bewege Kopf 1 nach links, Kopf 2 nach rechts, vergleiche je-weils die gelesenen Zeichen

0 1 1 1 1 0ba

a

0 ⊔

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 12

2-string-RO-TM: BeispielBeispiel

• 2-String-Turing-Maschine zum Test, ob die Eingabe von der FormwwR ist:

a: Kopiere String vom ersten auf den zweiten String (bis blank)

b/c: Bewege Kopf 2 zurück an Anfang, teste dabei, ob die Anzahlder Zeichen gerade oder ungerade ist

d: Bewege Kopf 1 nach links, Kopf 2 nach rechts, vergleiche je-weils die gelesenen Zeichen

0 1 1 1 1 0ba

a

0 ⊔

a

1 ⊔

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 12

2-string-RO-TM: BeispielBeispiel

• 2-String-Turing-Maschine zum Test, ob die Eingabe von der FormwwR ist:

a: Kopiere String vom ersten auf den zweiten String (bis blank)

b/c: Bewege Kopf 2 zurück an Anfang, teste dabei, ob die Anzahlder Zeichen gerade oder ungerade ist

d: Bewege Kopf 1 nach links, Kopf 2 nach rechts, vergleiche je-weils die gelesenen Zeichen

0 1 1 1 1 0ba

a

0 ⊔

a

1 ⊔

a

1 ⊔

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 12

2-string-RO-TM: BeispielBeispiel

• 2-String-Turing-Maschine zum Test, ob die Eingabe von der FormwwR ist:

a: Kopiere String vom ersten auf den zweiten String (bis blank)

b/c: Bewege Kopf 2 zurück an Anfang, teste dabei, ob die Anzahlder Zeichen gerade oder ungerade ist

d: Bewege Kopf 1 nach links, Kopf 2 nach rechts, vergleiche je-weils die gelesenen Zeichen

0 1 1 1 1 0ba

a

0 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 12

2-string-RO-TM: BeispielBeispiel

• 2-String-Turing-Maschine zum Test, ob die Eingabe von der FormwwR ist:

a: Kopiere String vom ersten auf den zweiten String (bis blank)

b/c: Bewege Kopf 2 zurück an Anfang, teste dabei, ob die Anzahlder Zeichen gerade oder ungerade ist

d: Bewege Kopf 1 nach links, Kopf 2 nach rechts, vergleiche je-weils die gelesenen Zeichen

0 1 1 1 1 0ba

a

0 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 12

2-string-RO-TM: BeispielBeispiel

• 2-String-Turing-Maschine zum Test, ob die Eingabe von der FormwwR ist:

a: Kopiere String vom ersten auf den zweiten String (bis blank)

b/c: Bewege Kopf 2 zurück an Anfang, teste dabei, ob die Anzahlder Zeichen gerade oder ungerade ist

d: Bewege Kopf 1 nach links, Kopf 2 nach rechts, vergleiche je-weils die gelesenen Zeichen

0 1 1 1 1 0ba

a

0 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

a ⊔

0 ⊔

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 12

2-string-RO-TM: BeispielBeispiel

• 2-String-Turing-Maschine zum Test, ob die Eingabe von der FormwwR ist:

a: Kopiere String vom ersten auf den zweiten String (bis blank)

b/c: Bewege Kopf 2 zurück an Anfang, teste dabei, ob die Anzahlder Zeichen gerade oder ungerade ist

d: Bewege Kopf 1 nach links, Kopf 2 nach rechts, vergleiche je-weils die gelesenen Zeichen

0 1 1 1 1 0ba

a

0 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

a ⊔

0 ⊔

b

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 12

2-string-RO-TM: BeispielBeispiel

• 2-String-Turing-Maschine zum Test, ob die Eingabe von der FormwwR ist:

a: Kopiere String vom ersten auf den zweiten String (bis blank)

b/c: Bewege Kopf 2 zurück an Anfang, teste dabei, ob die Anzahlder Zeichen gerade oder ungerade ist

d: Bewege Kopf 1 nach links, Kopf 2 nach rechts, vergleiche je-weils die gelesenen Zeichen

0 1 1 1 1 0ba

a

0 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

a ⊔

0 ⊔

bc

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 12

2-string-RO-TM: BeispielBeispiel

• 2-String-Turing-Maschine zum Test, ob die Eingabe von der FormwwR ist:

a: Kopiere String vom ersten auf den zweiten String (bis blank)

b/c: Bewege Kopf 2 zurück an Anfang, teste dabei, ob die Anzahlder Zeichen gerade oder ungerade ist

d: Bewege Kopf 1 nach links, Kopf 2 nach rechts, vergleiche je-weils die gelesenen Zeichen

0 1 1 1 1 0ba

a

0 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

a ⊔

0 ⊔

bcb

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 12

2-string-RO-TM: BeispielBeispiel

• 2-String-Turing-Maschine zum Test, ob die Eingabe von der FormwwR ist:

a: Kopiere String vom ersten auf den zweiten String (bis blank)

b/c: Bewege Kopf 2 zurück an Anfang, teste dabei, ob die Anzahlder Zeichen gerade oder ungerade ist

d: Bewege Kopf 1 nach links, Kopf 2 nach rechts, vergleiche je-weils die gelesenen Zeichen

0 1 1 1 1 0ba

a

0 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

a ⊔

0 ⊔

bcbc

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 12

2-string-RO-TM: BeispielBeispiel

• 2-String-Turing-Maschine zum Test, ob die Eingabe von der FormwwR ist:

a: Kopiere String vom ersten auf den zweiten String (bis blank)

b/c: Bewege Kopf 2 zurück an Anfang, teste dabei, ob die Anzahlder Zeichen gerade oder ungerade ist

d: Bewege Kopf 1 nach links, Kopf 2 nach rechts, vergleiche je-weils die gelesenen Zeichen

0 1 1 1 1 0ba

a

0 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

a ⊔

0 ⊔

bcbcb

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 12

2-string-RO-TM: BeispielBeispiel

• 2-String-Turing-Maschine zum Test, ob die Eingabe von der FormwwR ist:

a: Kopiere String vom ersten auf den zweiten String (bis blank)

b/c: Bewege Kopf 2 zurück an Anfang, teste dabei, ob die Anzahlder Zeichen gerade oder ungerade ist

d: Bewege Kopf 1 nach links, Kopf 2 nach rechts, vergleiche je-weils die gelesenen Zeichen

0 1 1 1 1 0ba

a

0 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

a ⊔

0 ⊔

bcbcbc

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 12

2-string-RO-TM: BeispielBeispiel

• 2-String-Turing-Maschine zum Test, ob die Eingabe von der FormwwR ist:

a: Kopiere String vom ersten auf den zweiten String (bis blank)

b/c: Bewege Kopf 2 zurück an Anfang, teste dabei, ob die Anzahlder Zeichen gerade oder ungerade ist

d: Bewege Kopf 1 nach links, Kopf 2 nach rechts, vergleiche je-weils die gelesenen Zeichen

0 1 1 1 1 0ba

a

0 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

a ⊔

0 ⊔

bcbcbcb

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 12

2-string-RO-TM: BeispielBeispiel

• 2-String-Turing-Maschine zum Test, ob die Eingabe von der FormwwR ist:

a: Kopiere String vom ersten auf den zweiten String (bis blank)

b/c: Bewege Kopf 2 zurück an Anfang, teste dabei, ob die Anzahlder Zeichen gerade oder ungerade ist

d: Bewege Kopf 1 nach links, Kopf 2 nach rechts, vergleiche je-weils die gelesenen Zeichen

0 1 1 1 1 0ba

a

0 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

a ⊔

0 ⊔

bcbcbcbd

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 12

2-string-RO-TM: BeispielBeispiel

• 2-String-Turing-Maschine zum Test, ob die Eingabe von der FormwwR ist:

a: Kopiere String vom ersten auf den zweiten String (bis blank)

b/c: Bewege Kopf 2 zurück an Anfang, teste dabei, ob die Anzahlder Zeichen gerade oder ungerade ist

d: Bewege Kopf 1 nach links, Kopf 2 nach rechts, vergleiche je-weils die gelesenen Zeichen

0 1 1 1 1 0ba

a

0 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

a ⊔

0 ⊔

bcbcbcbdd

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 12

2-string-RO-TM: BeispielBeispiel

• 2-String-Turing-Maschine zum Test, ob die Eingabe von der FormwwR ist:

a: Kopiere String vom ersten auf den zweiten String (bis blank)

b/c: Bewege Kopf 2 zurück an Anfang, teste dabei, ob die Anzahlder Zeichen gerade oder ungerade ist

d: Bewege Kopf 1 nach links, Kopf 2 nach rechts, vergleiche je-weils die gelesenen Zeichen

0 1 1 1 1 0ba

a

0 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

a ⊔

0 ⊔

bcbcbcbddd

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 12

2-string-RO-TM: BeispielBeispiel

• 2-String-Turing-Maschine zum Test, ob die Eingabe von der FormwwR ist:

a: Kopiere String vom ersten auf den zweiten String (bis blank)

b/c: Bewege Kopf 2 zurück an Anfang, teste dabei, ob die Anzahlder Zeichen gerade oder ungerade ist

d: Bewege Kopf 1 nach links, Kopf 2 nach rechts, vergleiche je-weils die gelesenen Zeichen

0 1 1 1 1 0ba

a

0 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

a ⊔

0 ⊔

bcbcbcbdddd

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 12

2-string-RO-TM: BeispielBeispiel

• 2-String-Turing-Maschine zum Test, ob die Eingabe von der FormwwR ist:

a: Kopiere String vom ersten auf den zweiten String (bis blank)

b/c: Bewege Kopf 2 zurück an Anfang, teste dabei, ob die Anzahlder Zeichen gerade oder ungerade ist

d: Bewege Kopf 1 nach links, Kopf 2 nach rechts, vergleiche je-weils die gelesenen Zeichen

0 1 1 1 1 0ba

a

0 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

a ⊔

0 ⊔

bcbcbcbddddd

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 12

2-string-RO-TM: BeispielBeispiel

• 2-String-Turing-Maschine zum Test, ob die Eingabe von der FormwwR ist:

a: Kopiere String vom ersten auf den zweiten String (bis blank)

b/c: Bewege Kopf 2 zurück an Anfang, teste dabei, ob die Anzahlder Zeichen gerade oder ungerade ist

d: Bewege Kopf 1 nach links, Kopf 2 nach rechts, vergleiche je-weils die gelesenen Zeichen

0 1 1 1 1 0ba

a

0 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

a ⊔

0 ⊔

bcbcbcbdddddd

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 12

2-string-RO-TM: BeispielBeispiel

• 2-String-Turing-Maschine zum Test, ob die Eingabe von der FormwwR ist:

a: Kopiere String vom ersten auf den zweiten String (bis blank)

b/c: Bewege Kopf 2 zurück an Anfang, teste dabei, ob die Anzahlder Zeichen gerade oder ungerade ist

d: Bewege Kopf 1 nach links, Kopf 2 nach rechts, vergleiche je-weils die gelesenen Zeichen

0 1 1 1 1 0ba

a

0 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

a ⊔

0 ⊔

bcbcbcbddddddd

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 12

2-string-RO-TM: BeispielBeispiel

• 2-String-Turing-Maschine zum Test, ob die Eingabe von der FormwwR ist:

a: Kopiere String vom ersten auf den zweiten String (bis blank)

b/c: Bewege Kopf 2 zurück an Anfang, teste dabei, ob die Anzahlder Zeichen gerade oder ungerade ist

d: Bewege Kopf 1 nach links, Kopf 2 nach rechts, vergleiche je-weils die gelesenen Zeichen

0 1 1 1 1 0ba

a

0 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

a ⊔

0 ⊔

bcbcbcbddddddd+

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 12

2-string-RO-TM: BeispielBeispiel

• 2-String-Turing-Maschine zum Test, ob die Eingabe von der FormwwR ist:

a: Kopiere String vom ersten auf den zweiten String (bis blank)

b/c: Bewege Kopf 2 zurück an Anfang, teste dabei, ob die Anzahlder Zeichen gerade oder ungerade ist

d: Bewege Kopf 1 nach links, Kopf 2 nach rechts, vergleiche je-weils die gelesenen Zeichen

0 1 1 1 1 0ba

a

0 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

a

1 ⊔

a ⊔

0 ⊔

bcbcbcbddddddd+

• Die letzte Konfiguration der Beispielberechnung ist(„ja“,(ǫ,✄ ,011110⊔),(✄011110, ⊔ ,ǫ))

• Der benötigte Speicherplatz ist also|✄011110|+ |⊔|+ |ǫ| = 8

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 12

Inhalt

2.1 Tiling-Puzzle

2.2 Speicherplatzbasierte Komplexitätsklassen

✄ 2.3 Vollständige Probleme für PSPACE

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 13

CorridorTiling ist vollständig für PSPACESatz 2.2

• CORRIDORTILING ist vollständig für PSPACE

!Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 14

CorridorTiling ist vollständig für PSPACESatz 2.2

• CORRIDORTILING ist vollständig für PSPACE

Beweisskizze

• Der Beweis der unteren Schranke ergibt sich durch recht einfacheModifikationen des Beweises von Satz 2.1:

!Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 14

CorridorTiling ist vollständig für PSPACESatz 2.2

• CORRIDORTILING ist vollständig für PSPACE

Beweisskizze

• Der Beweis der unteren Schranke ergibt sich durch recht einfacheModifikationen des Beweises von Satz 2.1:

◮ Die TM hat keine Zusatzeingabe✎ das vereinfacht die Sache sogar

!Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 14

CorridorTiling ist vollständig für PSPACESatz 2.2

• CORRIDORTILING ist vollständig für PSPACE

Beweisskizze

• Der Beweis der unteren Schranke ergibt sich durch recht einfacheModifikationen des Beweises von Satz 2.1:

◮ Die TM hat keine Zusatzeingabe✎ das vereinfacht die Sache sogar

◮ Es ist keine Laufzeitschranke vorgegeben➞ dies entspricht der Tatsache, dass für CORRIDORTILING kei-

ne Zeilenzahl vorgegeben ist

!Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 14

CorridorTiling ist vollständig für PSPACESatz 2.2

• CORRIDORTILING ist vollständig für PSPACE

Beweisskizze

• Der Beweis der unteren Schranke ergibt sich durch recht einfacheModifikationen des Beweises von Satz 2.1:

◮ Die TM hat keine Zusatzeingabe✎ das vereinfacht die Sache sogar

◮ Es ist keine Laufzeitschranke vorgegeben➞ dies entspricht der Tatsache, dass für CORRIDORTILING kei-

ne Zeilenzahl vorgegeben ist

◮ Durch die Speicherplatzschranke ist jedoch eine Schranke fürdie Spaltenzahl vorgegeben

!Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 14

CorridorTiling ist vollständig für PSPACESatz 2.2

• CORRIDORTILING ist vollständig für PSPACE

Beweisskizze

• Der Beweis der unteren Schranke ergibt sich durch recht einfacheModifikationen des Beweises von Satz 2.1:

◮ Die TM hat keine Zusatzeingabe✎ das vereinfacht die Sache sogar

◮ Es ist keine Laufzeitschranke vorgegeben➞ dies entspricht der Tatsache, dass für CORRIDORTILING kei-

ne Zeilenzahl vorgegeben ist

◮ Durch die Speicherplatzschranke ist jedoch eine Schranke fürdie Spaltenzahl vorgegeben

• Für die obere Schranke:◮ es ist leicht zu sehen, dass CORRIDORTILING nichtdetermi-

nistisch durch eine TM mit polynomieller Platzschranke ent-schieden werden kann� Sie „rät“ und überprüft die Lösung Zeile für Zeile

- und muss dafür immer nur zwei Zeilen speichern

!Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 14

CorridorTiling ist vollständig für PSPACESatz 2.2

• CORRIDORTILING ist vollständig für PSPACE

Beweisskizze

• Der Beweis der unteren Schranke ergibt sich durch recht einfacheModifikationen des Beweises von Satz 2.1:

◮ Die TM hat keine Zusatzeingabe✎ das vereinfacht die Sache sogar

◮ Es ist keine Laufzeitschranke vorgegeben➞ dies entspricht der Tatsache, dass für CORRIDORTILING kei-

ne Zeilenzahl vorgegeben ist

◮ Durch die Speicherplatzschranke ist jedoch eine Schranke fürdie Spaltenzahl vorgegeben

• Für die obere Schranke:◮ es ist leicht zu sehen, dass CORRIDORTILING nichtdetermi-

nistisch durch eine TM mit polynomieller Platzschranke ent-schieden werden kann� Sie „rät“ und überprüft die Lösung Zeile für Zeile

- und muss dafür immer nur zwei Zeilen speichern◮ In Kapitel 6 werden wir sehen, dass das genügt um

CORRIDORTILING ∈ PSPACE zu folgern

!Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 14

NFA-CONTAINMENT ist PSPACE-vollständig (1/2)

• Um zu testen, ob die (endlichen)Läufe eines durch einen Automa-tenA1 spezifizierten Systemseine durch einen AutomatenA2spezifizierten Eigenschaft ha-ben, kann getestet werden, obL(A1) ⊆ L(A2) gilt

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 15

NFA-CONTAINMENT ist PSPACE-vollständig (1/2)

• Um zu testen, ob die (endlichen)Läufe eines durch einen Automa-tenA1 spezifizierten Systemseine durch einen AutomatenA2spezifizierten Eigenschaft ha-ben, kann getestet werden, obL(A1) ⊆ L(A2) gilt

Definition: NFA-CONTAINMENT

Gegeben: NFAsA1,A2

Frage: Ist L(A1) ⊆ L(A2)?

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 15

NFA-CONTAINMENT ist PSPACE-vollständig (1/2)

• Um zu testen, ob die (endlichen)Läufe eines durch einen Automa-tenA1 spezifizierten Systemseine durch einen AutomatenA2spezifizierten Eigenschaft ha-ben, kann getestet werden, obL(A1) ⊆ L(A2) gilt

Definition: NFA-CONTAINMENT

Gegeben: NFAsA1,A2

Frage: Ist L(A1) ⊆ L(A2)?

• L(A1) ⊆ L(A2) gilt genaudann, wenn

L(A1) ∩ L(A2) = ∅

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 15

NFA-CONTAINMENT ist PSPACE-vollständig (1/2)

• Um zu testen, ob die (endlichen)Läufe eines durch einen Automa-tenA1 spezifizierten Systemseine durch einen AutomatenA2spezifizierten Eigenschaft ha-ben, kann getestet werden, obL(A1) ⊆ L(A2) gilt

Definition: NFA-CONTAINMENT

Gegeben: NFAsA1,A2

Frage: Ist L(A1) ⊆ L(A2)?

• L(A1) ⊆ L(A2) gilt genaudann, wenn

L(A1) ∩ L(A2) = ∅

• WennA1 undA2 DFAs sind, istdieser Test über die Produktkon-struktion in polynomieller Zeit mög-lich

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 15

NFA-CONTAINMENT ist PSPACE-vollständig (1/2)

• Um zu testen, ob die (endlichen)Läufe eines durch einen Automa-tenA1 spezifizierten Systemseine durch einen AutomatenA2spezifizierten Eigenschaft ha-ben, kann getestet werden, obL(A1) ⊆ L(A2) gilt

Definition: NFA-CONTAINMENT

Gegeben: NFAsA1,A2

Frage: Ist L(A1) ⊆ L(A2)?

• L(A1) ⊆ L(A2) gilt genaudann, wenn

L(A1) ∩ L(A2) = ∅

• WennA1 undA2 DFAs sind, istdieser Test über die Produktkon-struktion in polynomieller Zeit mög-lich

• Was ist, wennA2 ein NFA ist?

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 15

NFA-CONTAINMENT ist PSPACE-vollständig (1/2)

• Um zu testen, ob die (endlichen)Läufe eines durch einen Automa-tenA1 spezifizierten Systemseine durch einen AutomatenA2spezifizierten Eigenschaft ha-ben, kann getestet werden, obL(A1) ⊆ L(A2) gilt

Definition: NFA-CONTAINMENT

Gegeben: NFAsA1,A2

Frage: Ist L(A1) ⊆ L(A2)?

• L(A1) ⊆ L(A2) gilt genaudann, wenn

L(A1) ∩ L(A2) = ∅

• WennA1 undA2 DFAs sind, istdieser Test über die Produktkon-struktion in polynomieller Zeit mög-lich

• Was ist, wennA2 ein NFA ist?

Satz 2.3 [Hunt et al., 76]

• NFA-CONTAINMENT ist PSPACE-vollständig

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 15

NFA-CONTAINMENT ist PSPACE-vollständig (1/2)

• Um zu testen, ob die (endlichen)Läufe eines durch einen Automa-tenA1 spezifizierten Systemseine durch einen AutomatenA2spezifizierten Eigenschaft ha-ben, kann getestet werden, obL(A1) ⊆ L(A2) gilt

Definition: NFA-CONTAINMENT

Gegeben: NFAsA1,A2

Frage: Ist L(A1) ⊆ L(A2)?

• L(A1) ⊆ L(A2) gilt genaudann, wenn

L(A1) ∩ L(A2) = ∅

• WennA1 undA2 DFAs sind, istdieser Test über die Produktkon-struktion in polynomieller Zeit mög-lich

• Was ist, wennA2 ein NFA ist?

Satz 2.3 [Hunt et al., 76]

• NFA-CONTAINMENT ist PSPACE-vollständig

Beweisskizze

• NFA-CONTAINMENT ∈ PSPACE:

◮ Wir skizzieren einen Algorithmus, der das Kom-plement von NFA-CONTAINMENT nichtdetermi-stisch mit polynomiellem Speicherplatz entschei-det

✎ Wie gesagt: in Kapitel 6 werden wir sehen,dass das genügt...

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 15

NFA-CONTAINMENT ist PSPACE-vollständig (1/2)

• Um zu testen, ob die (endlichen)Läufe eines durch einen Automa-tenA1 spezifizierten Systemseine durch einen AutomatenA2spezifizierten Eigenschaft ha-ben, kann getestet werden, obL(A1) ⊆ L(A2) gilt

Definition: NFA-CONTAINMENT

Gegeben: NFAsA1,A2

Frage: Ist L(A1) ⊆ L(A2)?

• L(A1) ⊆ L(A2) gilt genaudann, wenn

L(A1) ∩ L(A2) = ∅

• WennA1 undA2 DFAs sind, istdieser Test über die Produktkon-struktion in polynomieller Zeit mög-lich

• Was ist, wennA2 ein NFA ist?

Satz 2.3 [Hunt et al., 76]

• NFA-CONTAINMENT ist PSPACE-vollständig

Beweisskizze

• NFA-CONTAINMENT ∈ PSPACE:

◮ Wir skizzieren einen Algorithmus, der das Kom-plement von NFA-CONTAINMENT nichtdetermi-stisch mit polynomiellem Speicherplatz entschei-det

✎ Wie gesagt: in Kapitel 6 werden wir sehen,dass das genügt...

◮ Der Algorithmus ist ein Nicht-Leerheitstest fürden ProduktautomatenA1 × B2, wobei B2„on the fly“ aus dem Potenzmengenautomaten fürA2 durch Vertauschen der akzeptierenden undablehnenden Zustände resultiert

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 15

NFA-CONTAINMENT ist PSPACE-vollständig (1/2)

• Um zu testen, ob die (endlichen)Läufe eines durch einen Automa-tenA1 spezifizierten Systemseine durch einen AutomatenA2spezifizierten Eigenschaft ha-ben, kann getestet werden, obL(A1) ⊆ L(A2) gilt

Definition: NFA-CONTAINMENT

Gegeben: NFAsA1,A2

Frage: Ist L(A1) ⊆ L(A2)?

• L(A1) ⊆ L(A2) gilt genaudann, wenn

L(A1) ∩ L(A2) = ∅

• WennA1 undA2 DFAs sind, istdieser Test über die Produktkon-struktion in polynomieller Zeit mög-lich

• Was ist, wennA2 ein NFA ist?

Satz 2.3 [Hunt et al., 76]

• NFA-CONTAINMENT ist PSPACE-vollständig

Beweisskizze

• NFA-CONTAINMENT ∈ PSPACE:

◮ Wir skizzieren einen Algorithmus, der das Kom-plement von NFA-CONTAINMENT nichtdetermi-stisch mit polynomiellem Speicherplatz entschei-det

✎ Wie gesagt: in Kapitel 6 werden wir sehen,dass das genügt...

◮ Der Algorithmus ist ein Nicht-Leerheitstest fürden ProduktautomatenA1 × B2, wobei B2„on the fly“ aus dem Potenzmengenautomaten fürA2 durch Vertauschen der akzeptierenden undablehnenden Zustände resultiert

◮ Der Algorithmus „rät“ ein Wortw Zeichen fürZeichen und speichert jeweils den Zustand q1des AutomatenA1 und die ZustandsmengeS ⊆ Q2 des Potenzmengenautomaten zuA2

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 15

NFA-CONTAINMENT ist PSPACE-vollständig (1/2)

• Um zu testen, ob die (endlichen)Läufe eines durch einen Automa-tenA1 spezifizierten Systemseine durch einen AutomatenA2spezifizierten Eigenschaft ha-ben, kann getestet werden, obL(A1) ⊆ L(A2) gilt

Definition: NFA-CONTAINMENT

Gegeben: NFAsA1,A2

Frage: Ist L(A1) ⊆ L(A2)?

• L(A1) ⊆ L(A2) gilt genaudann, wenn

L(A1) ∩ L(A2) = ∅

• WennA1 undA2 DFAs sind, istdieser Test über die Produktkon-struktion in polynomieller Zeit mög-lich

• Was ist, wennA2 ein NFA ist?

Satz 2.3 [Hunt et al., 76]

• NFA-CONTAINMENT ist PSPACE-vollständig

Beweisskizze

• NFA-CONTAINMENT ∈ PSPACE:

◮ Wir skizzieren einen Algorithmus, der das Kom-plement von NFA-CONTAINMENT nichtdetermi-stisch mit polynomiellem Speicherplatz entschei-det

✎ Wie gesagt: in Kapitel 6 werden wir sehen,dass das genügt...

◮ Der Algorithmus ist ein Nicht-Leerheitstest fürden ProduktautomatenA1 × B2, wobei B2„on the fly“ aus dem Potenzmengenautomaten fürA2 durch Vertauschen der akzeptierenden undablehnenden Zustände resultiert

◮ Der Algorithmus „rät“ ein Wortw Zeichen fürZeichen und speichert jeweils den Zustand q1des AutomatenA1 und die ZustandsmengeS ⊆ Q2 des Potenzmengenautomaten zuA2

◮ Dafür reicht polynomieller Speicherplatz

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 15

NFA-CONTAINMENT ist PSPACE-vollständig (2/2)Beweisskizze (Forts.)

• Wir bezeichnen mit CORRIDORTILING dasKomplement von CORRIDORTILING

• Da PSPACE unter Komplementbildungabgeschlossen ist, ist CORRIDORTILING

ebenfalls PSPACE-vollständig ⊞

!Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 16

NFA-CONTAINMENT ist PSPACE-vollständig (2/2)Beweisskizze (Forts.)

• Wir bezeichnen mit CORRIDORTILING dasKomplement von CORRIDORTILING

• Da PSPACE unter Komplementbildungabgeschlossen ist, ist CORRIDORTILING

ebenfalls PSPACE-vollständig ⊞

• Wir zeigen nun:

CORRIDORTILING ≤p NFA-CONTAINMENT

➨ NFA-CONTAINMENT ist PSPACE-schwierig

➨ NFA-CONTAINMENT ist PSPACE-vollständig

!Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 16

NFA-CONTAINMENT ist PSPACE-vollständig (2/2)Beweisskizze (Forts.)

• Wir bezeichnen mit CORRIDORTILING dasKomplement von CORRIDORTILING

• Da PSPACE unter Komplementbildungabgeschlossen ist, ist CORRIDORTILING

ebenfalls PSPACE-vollständig ⊞

• Wir zeigen nun:

CORRIDORTILING ≤p NFA-CONTAINMENT

➨ NFA-CONTAINMENT ist PSPACE-schwierig

➨ NFA-CONTAINMENT ist PSPACE-vollständig

• Sei T eine Menge von Kacheln undc ∈ N

!Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 16

NFA-CONTAINMENT ist PSPACE-vollständig (2/2)Beweisskizze (Forts.)

• Wir bezeichnen mit CORRIDORTILING dasKomplement von CORRIDORTILING

• Da PSPACE unter Komplementbildungabgeschlossen ist, ist CORRIDORTILING

ebenfalls PSPACE-vollständig ⊞

• Wir zeigen nun:

CORRIDORTILING ≤p NFA-CONTAINMENT

➨ NFA-CONTAINMENT ist PSPACE-schwierig

➨ NFA-CONTAINMENT ist PSPACE-vollständig

• Sei T eine Menge von Kacheln undc ∈ N

• Wir konstruieren NFAsA1,A2 mit:(T,1c) ∈ CORRIDORTILING ⇐⇒

L(A1) ⊆ L(A2) (∗)

!Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 16

NFA-CONTAINMENT ist PSPACE-vollständig (2/2)Beweisskizze (Forts.)

• Wir bezeichnen mit CORRIDORTILING dasKomplement von CORRIDORTILING

• Da PSPACE unter Komplementbildungabgeschlossen ist, ist CORRIDORTILING

ebenfalls PSPACE-vollständig ⊞

• Wir zeigen nun:

CORRIDORTILING ≤p NFA-CONTAINMENT

➨ NFA-CONTAINMENT ist PSPACE-schwierig

➨ NFA-CONTAINMENT ist PSPACE-vollständig

• Sei T eine Menge von Kacheln undc ∈ N

• Wir konstruieren NFAsA1,A2 mit:(T,1c) ∈ CORRIDORTILING ⇐⇒

L(A1) ⊆ L(A2) (∗)

Beweisskizze (Forts.)

• A1 akzeptiert alle Strings über T derForm u1u2 · · ·ur , wobei

◮ für alle i: |ui| = c,

◮ in u1 sind alle Kacheln unten blau, und

◮ in ur sind alle Kacheln oben blau

!Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 16

NFA-CONTAINMENT ist PSPACE-vollständig (2/2)Beweisskizze (Forts.)

• Wir bezeichnen mit CORRIDORTILING dasKomplement von CORRIDORTILING

• Da PSPACE unter Komplementbildungabgeschlossen ist, ist CORRIDORTILING

ebenfalls PSPACE-vollständig ⊞

• Wir zeigen nun:

CORRIDORTILING ≤p NFA-CONTAINMENT

➨ NFA-CONTAINMENT ist PSPACE-schwierig

➨ NFA-CONTAINMENT ist PSPACE-vollständig

• Sei T eine Menge von Kacheln undc ∈ N

• Wir konstruieren NFAsA1,A2 mit:(T,1c) ∈ CORRIDORTILING ⇐⇒

L(A1) ⊆ L(A2) (∗)

Beweisskizze (Forts.)

• A1 akzeptiert alle Strings über T derForm u1u2 · · ·ur , wobei

◮ für alle i: |ui| = c,

◮ in u1 sind alle Kacheln unten blau, und

◮ in ur sind alle Kacheln oben blau

• A2 akzeptiert alle Strings, die zwei nichtzusammenpassende Kacheln enthalten

◮ in horizontaler Richtung oder

◮ in vertikaler Richtung

!Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 16

NFA-CONTAINMENT ist PSPACE-vollständig (2/2)Beweisskizze (Forts.)

• Wir bezeichnen mit CORRIDORTILING dasKomplement von CORRIDORTILING

• Da PSPACE unter Komplementbildungabgeschlossen ist, ist CORRIDORTILING

ebenfalls PSPACE-vollständig ⊞

• Wir zeigen nun:

CORRIDORTILING ≤p NFA-CONTAINMENT

➨ NFA-CONTAINMENT ist PSPACE-schwierig

➨ NFA-CONTAINMENT ist PSPACE-vollständig

• Sei T eine Menge von Kacheln undc ∈ N

• Wir konstruieren NFAsA1,A2 mit:(T,1c) ∈ CORRIDORTILING ⇐⇒

L(A1) ⊆ L(A2) (∗)

Beweisskizze (Forts.)

• A1 akzeptiert alle Strings über T derForm u1u2 · · ·ur , wobei

◮ für alle i: |ui| = c,

◮ in u1 sind alle Kacheln unten blau, und

◮ in ur sind alle Kacheln oben blau

• A2 akzeptiert alle Strings, die zwei nichtzusammenpassende Kacheln enthalten

◮ in horizontaler Richtung oder

◮ in vertikaler Richtung

• L(A1) ⊆ L(A2) gilt also genau dann,wenn jedes hinsichtlich der Länge und derFärbung der ersten und der letzten Zeilekorrekte Tiling einen Fehler enthält

!Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 16

NFA-CONTAINMENT ist PSPACE-vollständig (2/2)Beweisskizze (Forts.)

• Wir bezeichnen mit CORRIDORTILING dasKomplement von CORRIDORTILING

• Da PSPACE unter Komplementbildungabgeschlossen ist, ist CORRIDORTILING

ebenfalls PSPACE-vollständig ⊞

• Wir zeigen nun:

CORRIDORTILING ≤p NFA-CONTAINMENT

➨ NFA-CONTAINMENT ist PSPACE-schwierig

➨ NFA-CONTAINMENT ist PSPACE-vollständig

• Sei T eine Menge von Kacheln undc ∈ N

• Wir konstruieren NFAsA1,A2 mit:(T,1c) ∈ CORRIDORTILING ⇐⇒

L(A1) ⊆ L(A2) (∗)

Beweisskizze (Forts.)

• A1 akzeptiert alle Strings über T derForm u1u2 · · ·ur , wobei

◮ für alle i: |ui| = c,

◮ in u1 sind alle Kacheln unten blau, und

◮ in ur sind alle Kacheln oben blau

• A2 akzeptiert alle Strings, die zwei nichtzusammenpassende Kacheln enthalten

◮ in horizontaler Richtung oder

◮ in vertikaler Richtung

• L(A1) ⊆ L(A2) gilt also genau dann,wenn jedes hinsichtlich der Länge und derFärbung der ersten und der letzten Zeilekorrekte Tiling einen Fehler enthält

• Dies ist genau dann der Fall, wenn es kei-ne c× r-Lösung gibt

!Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 16

NFA-CONTAINMENT ist PSPACE-vollständig (2/2)Beweisskizze (Forts.)

• Wir bezeichnen mit CORRIDORTILING dasKomplement von CORRIDORTILING

• Da PSPACE unter Komplementbildungabgeschlossen ist, ist CORRIDORTILING

ebenfalls PSPACE-vollständig ⊞

• Wir zeigen nun:

CORRIDORTILING ≤p NFA-CONTAINMENT

➨ NFA-CONTAINMENT ist PSPACE-schwierig

➨ NFA-CONTAINMENT ist PSPACE-vollständig

• Sei T eine Menge von Kacheln undc ∈ N

• Wir konstruieren NFAsA1,A2 mit:(T,1c) ∈ CORRIDORTILING ⇐⇒

L(A1) ⊆ L(A2) (∗)

Beweisskizze (Forts.)

• A1 akzeptiert alle Strings über T derForm u1u2 · · ·ur , wobei

◮ für alle i: |ui| = c,

◮ in u1 sind alle Kacheln unten blau, und

◮ in ur sind alle Kacheln oben blau

• A2 akzeptiert alle Strings, die zwei nichtzusammenpassende Kacheln enthalten

◮ in horizontaler Richtung oder

◮ in vertikaler Richtung

• L(A1) ⊆ L(A2) gilt also genau dann,wenn jedes hinsichtlich der Länge und derFärbung der ersten und der letzten Zeilekorrekte Tiling einen Fehler enthält

• Dies ist genau dann der Fall, wenn es kei-ne c× r-Lösung gibt

• Details: siehe Übungsaufgabe

!Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 16

QBF: Quantifizierte Boolesche Formeln

• Die Frage, ob die SAT-Formelϕ = (x1 ∨ x2) ∧ (¬x1 ∨ ¬x2)

erfüllbar ist, ist äquivalent zu der Frage, ob∃x1∃x2ϕ wahr ist

◮ wobei die Quantoren über {0,1} „laufen“

!Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 17

QBF: Quantifizierte Boolesche Formeln

• Die Frage, ob die SAT-Formelϕ = (x1 ∨ x2) ∧ (¬x1 ∨ ¬x2)

erfüllbar ist, ist äquivalent zu der Frage, ob∃x1∃x2ϕ wahr ist

◮ wobei die Quantoren über {0,1} „laufen“

• Wir erlauben nun auch Allquantoren in aussagen-logischen Formeln, z.B.:∀x1∃x2((x1 ∨ x2) ∧ (¬x1 ∨ ¬x2))

• Die Menge der wahren quantifizierten aussagen-logischen Formeln (in Pränex-Normalform), de-ren quantorenfreie Matrix in KNF ist, bezeichnenwir mit QBF

◮ Auf eine formale Definition der Semantik vonQBF-Formeln verzichten wir

!Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 17

QBF: Quantifizierte Boolesche Formeln

• Die Frage, ob die SAT-Formelϕ = (x1 ∨ x2) ∧ (¬x1 ∨ ¬x2)

erfüllbar ist, ist äquivalent zu der Frage, ob∃x1∃x2ϕ wahr ist

◮ wobei die Quantoren über {0,1} „laufen“

• Wir erlauben nun auch Allquantoren in aussagen-logischen Formeln, z.B.:∀x1∃x2((x1 ∨ x2) ∧ (¬x1 ∨ ¬x2))

• Die Menge der wahren quantifizierten aussagen-logischen Formeln (in Pränex-Normalform), de-ren quantorenfreie Matrix in KNF ist, bezeichnenwir mit QBF

◮ Auf eine formale Definition der Semantik vonQBF-Formeln verzichten wir

Satz 2.4

• QBF ∈ PSPACE

Beweisidee

• Mit einer QBF-Formel mitm Quanto-ren lässt sich in natürlicher Weise einbinärer Baum T der Tiefem verbin-den ⊞

• Der Wert von ϕ kann entlang T sy-stematisch ausgewertet werden

• T hat Tiefem

➨ SpeicherplatzO(m logm) reichtaus

!Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 17

QBF: Quantifizierte Boolesche Formeln

• Die Frage, ob die SAT-Formelϕ = (x1 ∨ x2) ∧ (¬x1 ∨ ¬x2)

erfüllbar ist, ist äquivalent zu der Frage, ob∃x1∃x2ϕ wahr ist

◮ wobei die Quantoren über {0,1} „laufen“

• Wir erlauben nun auch Allquantoren in aussagen-logischen Formeln, z.B.:∀x1∃x2((x1 ∨ x2) ∧ (¬x1 ∨ ¬x2))

• Die Menge der wahren quantifizierten aussagen-logischen Formeln (in Pränex-Normalform), de-ren quantorenfreie Matrix in KNF ist, bezeichnenwir mit QBF

◮ Auf eine formale Definition der Semantik vonQBF-Formeln verzichten wir

Satz 2.4

• QBF ∈ PSPACE

Beweisidee

• Mit einer QBF-Formel mitm Quanto-ren lässt sich in natürlicher Weise einbinärer Baum T der Tiefem verbin-den ⊞

• Der Wert von ϕ kann entlang T sy-stematisch ausgewertet werden

• T hat Tiefem

➨ SpeicherplatzO(m logm) reichtaus

• Wir wollen jetzt zeigen, dass QBF auchPSPACE-schwierig ist

• Dazu verwenden wir das Konzept des„Konfigurationsgraphen“

!Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 17

Der Konfigurationsgraph einer Berechnung

• Für eine String-Zeiger-Beschreibungs = (w,z) bezeichne s den Stringw

Definition

• SeiM eine k-String-RO-TM mitPlatzschranke S• Sei x eine Eingabe fürM der Län-

ge n

• K(M,S,x): Menge aller Konfigu-

rationen (q,s1, . . . ,sk) mit

◮ s1 = ✄x oder s1 = ✄x⊔

◮ und

k∑

i=2

|si| ≤ S(|x|)

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 18

Der Konfigurationsgraph einer Berechnung

• Für eine String-Zeiger-Beschreibungs = (w,z) bezeichne s den Stringw

Definition

• SeiM eine k-String-RO-TM mitPlatzschranke S• Sei x eine Eingabe fürM der Län-

ge n

• K(M,S,x): Menge aller Konfigu-

rationen (q,s1, . . . ,sk) mit

◮ s1 = ✄x oder s1 = ✄x⊔

◮ und

k∑

i=2

|si| ≤ S(|x|)

• K(M,S,x) enthält also zumindestalle Konfigurationen, die in einer Be-rechnung mit Eingabe x und Platz-schranke S „im Prinzip“ vorkommenkönnen

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 18

Der Konfigurationsgraph einer Berechnung

• Für eine String-Zeiger-Beschreibungs = (w,z) bezeichne s den Stringw

Definition

• SeiM eine k-String-RO-TM mitPlatzschranke S• Sei x eine Eingabe fürM der Län-

ge n

• K(M,S,x): Menge aller Konfigu-

rationen (q,s1, . . . ,sk) mit

◮ s1 = ✄x oder s1 = ✄x⊔

◮ und

k∑

i=2

|si| ≤ S(|x|)

• K(M,S,x) enthält also zumindestalle Konfigurationen, die in einer Be-rechnung mit Eingabe x und Platz-schranke S „im Prinzip“ vorkommenkönnen

• FürK = (q,s1, . . . ,sk), si = (wi,zi) sei

◮ cs(K)def= (q,z1,s2, . . . ,sk),

◮ also die Kodierung vonK , in der statt s1 nurdie Position des Zeigers auf String 1 als Binär-string repräsentiert wird

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 18

Der Konfigurationsgraph einer Berechnung

• Für eine String-Zeiger-Beschreibungs = (w,z) bezeichne s den Stringw

Definition

• SeiM eine k-String-RO-TM mitPlatzschranke S• Sei x eine Eingabe fürM der Län-

ge n

• K(M,S,x): Menge aller Konfigu-

rationen (q,s1, . . . ,sk) mit

◮ s1 = ✄x oder s1 = ✄x⊔

◮ und

k∑

i=2

|si| ≤ S(|x|)

• K(M,S,x) enthält also zumindestalle Konfigurationen, die in einer Be-rechnung mit Eingabe x und Platz-schranke S „im Prinzip“ vorkommenkönnen

• FürK = (q,s1, . . . ,sk), si = (wi,zi) sei

◮ cs(K)def= (q,z1,s2, . . . ,sk),

◮ also die Kodierung vonK , in der statt s1 nurdie Position des Zeigers auf String 1 als Binär-string repräsentiert wird

• Klar: FürK ∈ K(M,S,x) gilt:

◮ |cs(K)| ≤ log(|Q|) + log(|x|)+S(|x|) + 5k + 2

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 18

Der Konfigurationsgraph einer Berechnung

• Für eine String-Zeiger-Beschreibungs = (w,z) bezeichne s den Stringw

Definition

• SeiM eine k-String-RO-TM mitPlatzschranke S• Sei x eine Eingabe fürM der Län-

ge n

• K(M,S,x): Menge aller Konfigu-

rationen (q,s1, . . . ,sk) mit

◮ s1 = ✄x oder s1 = ✄x⊔

◮ und

k∑

i=2

|si| ≤ S(|x|)

• K(M,S,x) enthält also zumindestalle Konfigurationen, die in einer Be-rechnung mit Eingabe x und Platz-schranke S „im Prinzip“ vorkommenkönnen

• FürK = (q,s1, . . . ,sk), si = (wi,zi) sei

◮ cs(K)def= (q,z1,s2, . . . ,sk),

◮ also die Kodierung vonK , in der statt s1 nurdie Position des Zeigers auf String 1 als Binär-string repräsentiert wird

• Klar: FürK ∈ K(M,S,x) gilt:

◮ |cs(K)| ≤ log(|Q|) + log(|x|)+S(|x|) + 5k + 2

• Cs(M,S,x)def=

{cs(K) | K ∈ K(M,S,x)}

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 18

Der Konfigurationsgraph einer Berechnung

• Für eine String-Zeiger-Beschreibungs = (w,z) bezeichne s den Stringw

Definition

• SeiM eine k-String-RO-TM mitPlatzschranke S• Sei x eine Eingabe fürM der Län-

ge n

• K(M,S,x): Menge aller Konfigu-

rationen (q,s1, . . . ,sk) mit

◮ s1 = ✄x oder s1 = ✄x⊔

◮ und

k∑

i=2

|si| ≤ S(|x|)

• K(M,S,x) enthält also zumindestalle Konfigurationen, die in einer Be-rechnung mit Eingabe x und Platz-schranke S „im Prinzip“ vorkommenkönnen

• FürK = (q,s1, . . . ,sk), si = (wi,zi) sei

◮ cs(K)def= (q,z1,s2, . . . ,sk),

◮ also die Kodierung vonK , in der statt s1 nurdie Position des Zeigers auf String 1 als Binär-string repräsentiert wird

• Klar: FürK ∈ K(M,S,x) gilt:

◮ |cs(K)| ≤ log(|Q|) + log(|x|)+S(|x|) + 5k + 2

• Cs(M,S,x)def=

{cs(K) | K ∈ K(M,S,x)}

• KonfigurationsgraphGs(M,S,x):

◮ Knotenmenge:Cs(M,S,x)

◮ Kante (cs(K),cs(K′)), fallsK ⊢M K′

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 18

Der Konfigurationsgraph einer Berechnung

• Für eine String-Zeiger-Beschreibungs = (w,z) bezeichne s den Stringw

Definition

• SeiM eine k-String-RO-TM mitPlatzschranke S• Sei x eine Eingabe fürM der Län-

ge n

• K(M,S,x): Menge aller Konfigu-

rationen (q,s1, . . . ,sk) mit

◮ s1 = ✄x oder s1 = ✄x⊔

◮ und

k∑

i=2

|si| ≤ S(|x|)

• K(M,S,x) enthält also zumindestalle Konfigurationen, die in einer Be-rechnung mit Eingabe x und Platz-schranke S „im Prinzip“ vorkommenkönnen

• FürK = (q,s1, . . . ,sk), si = (wi,zi) sei

◮ cs(K)def= (q,z1,s2, . . . ,sk),

◮ also die Kodierung vonK , in der statt s1 nurdie Position des Zeigers auf String 1 als Binär-string repräsentiert wird

• Klar: FürK ∈ K(M,S,x) gilt:

◮ |cs(K)| ≤ log(|Q|) + log(|x|)+S(|x|) + 5k + 2

• Cs(M,S,x)def=

{cs(K) | K ∈ K(M,S,x)}

• KonfigurationsgraphGs(M,S,x):

◮ Knotenmenge:Cs(M,S,x)

◮ Kante (cs(K),cs(K′)), fallsK ⊢M K′

Lemma 2.5

• Ist S(n) ≥ logn, so hatGs(M,S,x)

höchstens 2O(S(|x|)) Knoten

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 18

Notation

• Endliche Folgen x1, . . . ,xn aus-agenlogischer Variablen schreibenwir im Folgenden in Vektorschreib-weise: ~x = x1, . . . ,xn

• Sind ~y = y1, . . . ,yn und~z = z1, . . . ,zm Vekto-ren aussagenlogischer Va-riablen, so schreiben wirauch ϕ(~y,~z) anstelle vonϕ(y1, . . . ,yn,z1, . . . ,zm)

• Entsprechend schreiben wir dann~a für eine Folge a1, . . . ,an von

Wahrheitswerten und ϕ(~a,~b) fürden Wahrheitswert von ϕ unterder Belegung

◮ ~y 7→ ~a,

◮ ~z 7→ ~b

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 19

Notation

• Endliche Folgen x1, . . . ,xn aus-agenlogischer Variablen schreibenwir im Folgenden in Vektorschreib-weise: ~x = x1, . . . ,xn

• Sind ~y = y1, . . . ,yn und~z = z1, . . . ,zm Vekto-ren aussagenlogischer Va-riablen, so schreiben wirauch ϕ(~y,~z) anstelle vonϕ(y1, . . . ,yn,z1, . . . ,zm)

• Entsprechend schreiben wir dann~a für eine Folge a1, . . . ,an von

Wahrheitswerten und ϕ(~a,~b) fürden Wahrheitswert von ϕ unterder Belegung

◮ ~y 7→ ~a,

◮ ~z 7→ ~b

• Im folgenden Beweis wird S ein Polynom sein

• Ähnlich wie im Beweis des Satzes von Cook werdenwir Konfigurationen durch Wertebelegungen aussa-genlogischer Variablen kodieren, z.B.:◮ y2,12 7→ 1 falls der Zeiger des 2. Strings an Po-

sition 12 ist◮ y2,12,σ 7→ 1 falls an Position 12 des 2. Strings

ein σ steht

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 19

Notation

• Endliche Folgen x1, . . . ,xn aus-agenlogischer Variablen schreibenwir im Folgenden in Vektorschreib-weise: ~x = x1, . . . ,xn

• Sind ~y = y1, . . . ,yn und~z = z1, . . . ,zm Vekto-ren aussagenlogischer Va-riablen, so schreiben wirauch ϕ(~y,~z) anstelle vonϕ(y1, . . . ,yn,z1, . . . ,zm)

• Entsprechend schreiben wir dann~a für eine Folge a1, . . . ,an von

Wahrheitswerten und ϕ(~a,~b) fürden Wahrheitswert von ϕ unterder Belegung

◮ ~y 7→ ~a,

◮ ~z 7→ ~b

• Im folgenden Beweis wird S ein Polynom sein

• Ähnlich wie im Beweis des Satzes von Cook werdenwir Konfigurationen durch Wertebelegungen aussa-genlogischer Variablen kodieren, z.B.:◮ y2,12 7→ 1 falls der Zeiger des 2. Strings an Po-

sition 12 ist◮ y2,12,σ 7→ 1 falls an Position 12 des 2. Strings

ein σ steht• So lässt sich die Kodierung cs(K) jeder Konfigura-

tionK durch einen Vektor ~a von Wahrheitswertenrepräsentieren (via ~y 7→ ~a)

• Notation:K(~a)def=durch ~a repräsentierte Konfiguration

• Es lässt sich eine quantorenfreie KNF-FormelϕM,S,x(~y,~z) polynomieller Länge (in |x|) konstru-ieren, die die 1-Schritt-Konfigurations-Übergänge be-schreibt• Es sind dann also äquivalent:

◮ K(~a) ⊢M K(~b) und

◮ ϕM,S,x(~a,~b) ist wahr

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 19

QBF ist PSPACE-vollständigSatz 2.6

• QBF ist PSPACE-schwierig(also insgesamt PSPACE-vollständig)

Beweisskizze

• Sei L ∈ PSPACE,M TM für L mit Platzschran-ke nℓ, für ein ℓ, und x Eingabe der Länge n

• Idee: Wir konstruieren induktiv QBF-Formelnψi(~y,~z), so dass äquivalent sind:

◮ ψi(~a,~b) = 1

◮ es gibt inGs(M,S,x) einen Weg der Länge

≤ 2i von cs(K(~a)) zu cs(K(~b))

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 20

QBF ist PSPACE-vollständigSatz 2.6

• QBF ist PSPACE-schwierig(also insgesamt PSPACE-vollständig)

Beweisskizze

• Sei L ∈ PSPACE,M TM für L mit Platzschran-ke nℓ, für ein ℓ, und x Eingabe der Länge n

• Idee: Wir konstruieren induktiv QBF-Formelnψi(~y,~z), so dass äquivalent sind:

◮ ψi(~a,~b) = 1

◮ es gibt inGs(M,S,x) einen Weg der Länge

≤ 2i von cs(K(~a)) zu cs(K(~b))

• Dann sind äquivalent:

◮ x ∈ L◮ ∃~z (ψdnℓ(~s,~z) ∧ χ(~z)) ist wahr, wobei

� der Konstantenvektor ~s die Startkonfigurati-on repräsentiert,

� χ(~z) ausdrückt, dassK(~z) akzeptiert,� und d eine geeignete Konstante ist

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 20

QBF ist PSPACE-vollständigSatz 2.6

• QBF ist PSPACE-schwierig(also insgesamt PSPACE-vollständig)

Beweisskizze

• Sei L ∈ PSPACE,M TM für L mit Platzschran-ke nℓ, für ein ℓ, und x Eingabe der Länge n

• Idee: Wir konstruieren induktiv QBF-Formelnψi(~y,~z), so dass äquivalent sind:

◮ ψi(~a,~b) = 1

◮ es gibt inGs(M,S,x) einen Weg der Länge

≤ 2i von cs(K(~a)) zu cs(K(~b))

• Dann sind äquivalent:

◮ x ∈ L◮ ∃~z (ψdnℓ(~s,~z) ∧ χ(~z)) ist wahr, wobei

� der Konstantenvektor ~s die Startkonfigurati-on repräsentiert,

� χ(~z) ausdrückt, dassK(~z) akzeptiert,� und d eine geeignete Konstante ist

Beweisskizze (Forts.)

• Klar:ψ0

def= ϕM,S,x(~y,~z) ∨ ~y = ~z

• 1. Versuch für Induktion:

◮ ψi+1(~y,~z)def=

∃~u(ψi(~y,~u) ∧ ψi(~u,~z))

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 20

QBF ist PSPACE-vollständigSatz 2.6

• QBF ist PSPACE-schwierig(also insgesamt PSPACE-vollständig)

Beweisskizze

• Sei L ∈ PSPACE,M TM für L mit Platzschran-ke nℓ, für ein ℓ, und x Eingabe der Länge n

• Idee: Wir konstruieren induktiv QBF-Formelnψi(~y,~z), so dass äquivalent sind:

◮ ψi(~a,~b) = 1

◮ es gibt inGs(M,S,x) einen Weg der Länge

≤ 2i von cs(K(~a)) zu cs(K(~b))

• Dann sind äquivalent:

◮ x ∈ L◮ ∃~z (ψdnℓ(~s,~z) ∧ χ(~z)) ist wahr, wobei

� der Konstantenvektor ~s die Startkonfigurati-on repräsentiert,

� χ(~z) ausdrückt, dassK(~z) akzeptiert,� und d eine geeignete Konstante ist

Beweisskizze (Forts.)

• Klar:ψ0

def= ϕM,S,x(~y,~z) ∨ ~y = ~z

• 1. Versuch für Induktion:

◮ ψi+1(~y,~z)def=

∃~u(ψi(~y,~u) ∧ ψi(~u,~z))◮ Problem:|ψi+1| ≈

|ψi|+ |ψi| = 2|ψi|

➞ |ψdnℓ| ≈ 2dnℓ

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 20

QBF ist PSPACE-vollständigSatz 2.6

• QBF ist PSPACE-schwierig(also insgesamt PSPACE-vollständig)

Beweisskizze

• Sei L ∈ PSPACE,M TM für L mit Platzschran-ke nℓ, für ein ℓ, und x Eingabe der Länge n

• Idee: Wir konstruieren induktiv QBF-Formelnψi(~y,~z), so dass äquivalent sind:

◮ ψi(~a,~b) = 1

◮ es gibt inGs(M,S,x) einen Weg der Länge

≤ 2i von cs(K(~a)) zu cs(K(~b))

• Dann sind äquivalent:

◮ x ∈ L◮ ∃~z (ψdnℓ(~s,~z) ∧ χ(~z)) ist wahr, wobei

� der Konstantenvektor ~s die Startkonfigurati-on repräsentiert,

� χ(~z) ausdrückt, dassK(~z) akzeptiert,� und d eine geeignete Konstante ist

Beweisskizze (Forts.)

• Klar:ψ0

def= ϕM,S,x(~y,~z) ∨ ~y = ~z

• 1. Versuch für Induktion:

◮ ψi+1(~y,~z)def=

∃~u(ψi(~y,~u) ∧ ψi(~u,~z))◮ Problem:|ψi+1| ≈

|ψi|+ |ψi| = 2|ψi|

➞ |ψdnℓ| ≈ 2dnℓ

• Kleiner Trick: Wir definierenψi+1(~y,~z) als:∃~u∀~v∀~w[(~v = ~y ∧ ~w = ~u)∨

(~v = ~u ∧ ~w = ~z)]→ ψi(~v, ~w)

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 20

QBF ist PSPACE-vollständigSatz 2.6

• QBF ist PSPACE-schwierig(also insgesamt PSPACE-vollständig)

Beweisskizze

• Sei L ∈ PSPACE,M TM für L mit Platzschran-ke nℓ, für ein ℓ, und x Eingabe der Länge n

• Idee: Wir konstruieren induktiv QBF-Formelnψi(~y,~z), so dass äquivalent sind:

◮ ψi(~a,~b) = 1

◮ es gibt inGs(M,S,x) einen Weg der Länge

≤ 2i von cs(K(~a)) zu cs(K(~b))

• Dann sind äquivalent:

◮ x ∈ L◮ ∃~z (ψdnℓ(~s,~z) ∧ χ(~z)) ist wahr, wobei

� der Konstantenvektor ~s die Startkonfigurati-on repräsentiert,

� χ(~z) ausdrückt, dassK(~z) akzeptiert,� und d eine geeignete Konstante ist

Beweisskizze (Forts.)

• Klar:ψ0

def= ϕM,S,x(~y,~z) ∨ ~y = ~z

• 1. Versuch für Induktion:

◮ ψi+1(~y,~z)def=

∃~u(ψi(~y,~u) ∧ ψi(~u,~z))◮ Problem:|ψi+1| ≈

|ψi|+ |ψi| = 2|ψi|

➞ |ψdnℓ| ≈ 2dnℓ

• Kleiner Trick: Wir definierenψi+1(~y,~z) als:∃~u∀~v∀~w[(~v = ~y ∧ ~w = ~u)∨

(~v = ~u ∧ ~w = ~z)]→ ψi(~v, ~w)

• Dann: |ψi+1| = |ψi|+O(nℓ)

➨ |ψdnℓ| = O(n2ℓ)

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 20

Die bisher betrachteten Klassen

P

NP

PSPACE

TILING, SAT

CORRIDORTILING, QBF

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 21

Quellen

• Lehrbücher

◮ Papadimitriou. Kapitel 19

◮ Wegener. 13.2, 13.3

◮ Arora, Barak. 4.1, 4.2

◮ Kozen. 8

• Originalarbeiten

◮ QBF ist vollständig für PSPACE:

� L. J. Stockmeyer and A. R. Meyer. Word problems requiringexponential time: Preliminary report. pages 1–9, 1973

◮ NFA-CONTAINMENT ist vollständig für PSPACE:

� Harry B. Hunt III, Daniel J. Rosenkrantz, and Thomas G. Szy-manski. On the equivalence, containment, and covering pro-blems for the regular and context-free languages. J. Comput.

Syst. Sci., 12(2):222–268, 1976

Kompl.-Theorie / Schwentick / SoSe 15 A: 2. Puzzle und Speicherplatz . ✁✄ Folie 22


Recommended