Skript in PDF - Theoretische Informatik - Technische Universität ...

Skript in PDF - Theoretische Informatik - Technische Universität ... Skript in PDF - Theoretische Informatik - Technische Universität ...

iti.cs.tu.bs.de
von iti.cs.tu.bs.de Mehr von diesem Publisher
18.09.2013 Aufrufe

164 KAPITEL 6. KOMPLEXITÄT VON ALGORITHMEN Zelle Nr.: −2 −1 0 1 2 n n+1 n+2 n+3 . . . # # # si1 si2 . . . sin # # # . . . ⇑ q0 Initialkonfiguration (d) Die Übergänge sind mit y = 1, 2, . . ., d durchnumeriert und wie folgt in eine Tabelle geschrieben: y Übergang Nr. y 1 (q i(1), s j(1)) → (q i ′ (1), s j ′ (1)) 2 (q i(2), s j(2)) → (q i ′ (2), s j ′ (2)) . . d (q i(d), s j(d)) → (q i ′ (d), s j ′ (d)) Hier ist s j(y) ein Bandsymbol und s j ′ (y) ist entweder L, R oder ein Bandsymbol. Bemerkung 1. In der Zeit p(n) kann die TM höchstens p(n) Felder beschriften, also genügt es, die Bandzellen Nr. −p(n), −p(n) + 1, . . .,0, 1, . . ., p(n) zu betrachten. Die Reduktion der Sprache L auf ERFÜLLBARKEIT bedeutet, dass für jedes Wort w über Σ eine Boolesche Formel φw konstruiert wird, so dass φw ist erfüllbar ⇐⇒ w ∈ L und dass die Konstruktion in polynomialer Zeit durchgeführt wird. Die Aussage w ∈ L bedeutet, dass es eine Berechnung des Wortes w durch M gibt, die im Zustand q1 hält. Eine solche Berechnung können wir durch eine Formel φw eindeutig beschreiben, wenn wir die folgenden Booleschen Variablen einführen: NAME BEDEUTUNG: ist true belegt genau dann, wenn UMFANG q t i Zur Zeit t hat M den Zustand qi. t = 0, . . .,p(n) i = 0, . . .,m k t r Zur Zeit t steht der Kopf im Feld r t = 0, . . .,p(n) r = −p(n), . . .,p(n) s t j,r Zur Zeit t steht im Feld r das Symbol sj t = 0, . . .,p(n) j = 0, . . .,k r = −p(n), . . .,p(n) u t y Zur Zeit t wird der Übergang Nr. y durchgeführt t = 0, . . .,p(n) − 1 y = 1, . . .,d Mit Hilfe dieser Variablen können wir alle Bedingungen einer akzeptierenden Berechnung von w formal darstellen: (a) Initialisierung. Zur Zeit t = 0 ist die folgende Belegung true: q0 0 (Initialzustand q0) k0 1 (initiale Kopfposition 1) s0 i1,1 , . . .,s0 in,n (die gegebene Eingabe w = si1 . . .sin in Feldern 1, . . .,n) s0 0,b für alle b = −p(n), . . .,p(n) außer b = 1, . . .,n (das Symbol s0 = # in allen Zellen des Bandes außer der Eingabe)

6.7. N P-VOLLSTÄNDIGKEIT 165 Jede von diesen Variablen formt eine Klausel von φw, also ist der Anfang von φw: (1) φw = q 0 0 ∧ k 0 1 ∧ n b=1 s 0 ib,b ∧ p(n) b=−p(n) b=1,...,n s 0 0,b ∧ . . . (b) Akzeptanz von w. Eine weitere Klausel von φw gewährleistet, dass w zum Zeitpunkt t = 1, . . .,p(n) akzeptiert wird, d.h., der Zustand ist q1 (finaler Haltezustand). Das ist die Klausel (2) q 1 1 ∨ q 2 1 ∨ · · · ∨ q p(n) 1 (die genau dann true ist, wenn q t 1 für einen Zeitpunkt t true ist). (c) Randbedingungen. Wir müssen auch sicherstellen, dass zu jedem Zeitpunkt t die TM i. genau einen Zustand hat, ii. in jedem Feld genau ein Symbol steht, iii. der Kopf genau eine Position hat und iv. genau ein Übergang (falls es sich um keine Haltekonfiguration handelt) durchgeführt wird. Z.B. verlangt (i), dass φw für jeden Zeitpunkt t = 0, 1, . . ., p(n) die folgende Klausel hat: (3) m i=0 q t i = qt 0 ∨ qt 1 ∨ · · · ∨ qt m (also: es gibt einen Zustand zum Zeitpunkt t), sowie die Klauseln (4) q t i → ¬qt i ′ für alle i = i′ (also: zwei Zustände qi und qi ′ können nicht gleichzeitig vorhanden sein). Analoges gilt für (ii)–(iv). (d) Übergänge. Nehmen wir an, dass die Zeile y der Übergangstabelle die Bewegung des Kopfes nach links darstellt: ZEILE y: (q i(y), s j(y)) → (q i ′ (y), L) (Bewegung nach rechts oder Überschreibung des Bandsymbols werden analog behandelt). Dann müssen wir zu der Konjunktion von φw Klauseln hinzufügen, die gewährleisten, dass ut y die erwartete Auswirkung zum Zeitpunkt t hat: Falls der Kopf im Feld r steht, wird er als nächstes im Feld r − 1 stehen: (5) (u t y ∧ kt r ) → kt+1 r−1 für alle r = −p(n) + 1, . . . , p(n). Der Zustand zum Zeitpunkt t muß q i(y) sein und der zum Zeitpunkt t+1 muß q i ′ (y) sein, also hat φw zwei Klauseln (6) u t y → q t i(y) und u t y → q t i ′ (y) Falls der Kopf im Feld r steht, muß das Symbol im Feld r gleich s j(y) sein: (7) (u t y ∧ k t r) → s t j(y),r für alle r = -p(n), . . . , p(n)

164 KAPITEL 6. KOMPLEXITÄT VON ALGORITHMEN<br />

Zelle Nr.:<br />

−2 −1 0 1 2 n n+1 n+2 n+3<br />

. . . # # # si1<br />

si2 . . . s<strong>in</strong> # # # . . .<br />

⇑<br />

q0<br />

Initialkonfiguration<br />

(d) Die Übergänge s<strong>in</strong>d mit y = 1, 2, . . ., d durchnumeriert und wie folgt <strong>in</strong><br />

e<strong>in</strong>e Tabelle geschrieben:<br />

y Übergang Nr. y<br />

1 (q i(1), s j(1)) → (q i ′ (1), s j ′ (1))<br />

2 (q i(2), s j(2)) → (q i ′ (2), s j ′ (2))<br />

.<br />

.<br />

d (q i(d), s j(d)) → (q i ′ (d), s j ′ (d))<br />

Hier ist s j(y) e<strong>in</strong> Bandsymbol und s j ′ (y) ist entweder L, R oder e<strong>in</strong> Bandsymbol.<br />

Bemerkung 1. In der Zeit p(n) kann die TM höchstens p(n) Felder beschriften,<br />

also genügt es, die Bandzellen Nr. −p(n), −p(n) + 1, . . .,0, 1, . . ., p(n) zu<br />

betrachten.<br />

Die Reduktion der Sprache L auf ERFÜLLBARKEIT bedeutet, dass für jedes<br />

Wort w über Σ e<strong>in</strong>e Boolesche Formel φw konstruiert wird, so dass<br />

φw ist erfüllbar ⇐⇒ w ∈ L<br />

und dass die Konstruktion <strong>in</strong> polynomialer Zeit durchgeführt wird. Die Aussage<br />

w ∈ L bedeutet, dass es e<strong>in</strong>e Berechnung des Wortes w durch M gibt,<br />

die im Zustand q1 hält. E<strong>in</strong>e solche Berechnung können wir durch e<strong>in</strong>e Formel<br />

φw e<strong>in</strong>deutig beschreiben, wenn wir die folgenden Booleschen Variablen<br />

e<strong>in</strong>führen:<br />

NAME BEDEUTUNG: ist true belegt genau dann, wenn UMFANG<br />

q t i Zur Zeit t hat M den Zustand qi. t = 0, . . .,p(n)<br />

i = 0, . . .,m<br />

k t r Zur Zeit t steht der Kopf im Feld r t = 0, . . .,p(n)<br />

r = −p(n), . . .,p(n)<br />

s t j,r Zur Zeit t steht im Feld r das Symbol sj t = 0, . . .,p(n)<br />

j = 0, . . .,k<br />

r = −p(n), . . .,p(n)<br />

u t y Zur Zeit t wird der Übergang Nr. y durchgeführt t = 0, . . .,p(n) − 1<br />

y = 1, . . .,d<br />

Mit Hilfe dieser Variablen können wir alle Bed<strong>in</strong>gungen e<strong>in</strong>er akzeptierenden<br />

Berechnung von w formal darstellen:<br />

(a) Initialisierung. Zur Zeit t = 0 ist die folgende Belegung true:<br />

q0 0 (Initialzustand q0)<br />

k0 1 (<strong>in</strong>itiale Kopfposition 1)<br />

s0 i1,1 , . . .,s0 <strong>in</strong>,n (die gegebene E<strong>in</strong>gabe w = si1 . . .s<strong>in</strong> <strong>in</strong> Feldern 1, . . .,n)<br />

s0 0,b<br />

für alle b = −p(n), . . .,p(n) außer b = 1, . . .,n<br />

(das Symbol s0 = # <strong>in</strong> allen Zellen des Bandes außer der E<strong>in</strong>gabe)

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!