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

76 KAPITEL 3. TURINGMASCHINEN Die Berechnung von Eingaben formalisieren wir jetzt. Konfigurationen: Eine Konfiguration einer Turingmaschine ist die vollständige Information über die TM zu einem Zeitpunkt der Berechnung; sie wird durch (1) den momentanen Zustand q, (2) den Inhalt des Bandes und (3) die Position des Kopfes bestimmt. Also ist (1) ein Element der Menge Q. Wir können (2) und (3) zusammenfassen, indem wir sagen, welches Wort u links vom Kopf steht, welches Wort v rechts steht und welches Symbol a aus Σ = Σ ∪ {#} der Kopf liest. Dabei ist u entweder leer, oder hat das erste Symbol aus Σ und die weiteren aus Σ: u ∈ Σ × Σ ∗ ∪ {ε}. Analog v ∈ Σ ∗ × Σ ∪ {ε}. Eine Konfiguration ist also ein Quadrupel (q, u, a, v), wobei q ∈ Q, u ∈ Σ × Σ ∗ ∪ {ε}, a ∈ Σ und v ∈ Σ ∗ × Σ ∪ {ε}. Die Menge K = Q × (Σ × Σ ∗ ∪ {ε}) × Σ × (Σ ∗ × Σ ∪ {ε}) heißt Konfigurationsmenge. Die üblichere (und übersichtlichere) Schreibweise ist, u, a, v zu konkatenieren und a zu unterstreichen: (q, uav). In Beispiel 1 in Abschnitt 3.1 hat die Berechnung also die Konfigurationen (q0, 132) (q0, 132) (q0, 132) (q0, 132#) und (q1, 132) Berechnung: Die Eingabe s1s2 . . . sn ∈ Σ ∗ wird immer so auf das Band geschrieben, dass die Buchstaben ohne Leerzeichen hintereinander stehen. Der Kopf wird auf den ersten Buchstaben gestellt und der Zustand ist initial. Mit anderen Worten heißt das: wir erwarten am Anfang, dass die Konfiguration die folgende Form hat: (∗) (q0, s1s2 . . .sn), wobei s1 . . . sn ∈ Σ ∗ . Der Fall der leeren Eingabe ε ∈ Σ ∗ (also n = 0) entspricht der Konfiguration (q0, #). Konfigurationen der Form (∗) heißen Initialkonfigurationen. Falls die Turingmaschine eine Konfiguration (q, s1s2 . . .si−1sisi+1 . . . sn) erreicht hat, gibt es zwei Möglichkeiten: entweder ist δ(q, si) nicht definiert, dann heißt die Konfiguration Haltekonfiguration, oder es gilt δ(q, si) = (q ′ , s ′ ) mit s ′ ∈ {L,R} ∪ Σ, dann definieren wir die Folgekonfiguration wie folgt: 1. falls s ′ =L, dann ist die Folgekonfiguration (q ′ , s1s2 . . . si−1sisi+1 . . . sn) 2. falls s ′ =R, dann ist die Folgekonfiguration (q ′ , s1s2 . . . si−1sisi+1 . . . sn) 3. falls s ′ ∈ Σ, dann ist die Folgekonfiguration (q ′ , s1s2 . . . si−1s ′ si+1 . . . sn). Diese Definition ist in Tabelle 3.1 zusammengefasst.

3.1. DEFINITION EINER TURINGMASCHINE 77 Konfiguration δ(q, si) Folgekonfiguration (q, s1s2 . . . si−1sisi+1 . . . sn) (q ′ , L) (q ′ , s1s2 . . .si−1sisi+1 . . .sn) (q, s1s2 . . . si−1sisi+1 . . . sn) (q ′ , R) (q ′ , s1s2 . . .si−1sisi+1 . . .sn) (q, s1s2 . . . si−1sisi+1 . . . sn) (q ′ , s ′ ) (q ′ , s1s2 . . .si−1s ′ si+1 . . .sn) (q, s1s2 . . . si−1sisi+1 . . . sn) nicht definiert keine (Haltekonfiguration) Tabelle 3.1: Definition der Folgekonfiguration der TM Bemerkung 1. Wie ist der Fall 1 zu verstehen, falls i = 1 gilt? Die Folgekonfiguration zu (q0, s1 . . . sn) ist natürlich (q ′ , #s1 . . .sn). Analog folgt im Fall 2 aus i = n, dass die Folgekonfiguration (q ′ , s1 . . . sn#) ist. Notation. Die Relation ” Folgekonfiguration“ auf der Menge K aller Konfigurationen bezeichnen wir mit dem Symbol ⊢. Also ergibt der 1. Fall (q, s1s2 . . .si−1sisi+1 . . . sn) ⊢ (q ′ , s1s2 . . . si−1sisi+1 . . .sn) usw. Die reflexive und transitive Hülle dieser Relation wird mit ⊢ ∗ bezeichnet; d.h., K ⊢ ∗ K ′ bedeutet, dass K und K ′ zwei Konfigurationen sind, die entweder gleich sind oder dass es Konfigurationen K = K0, K1, . . .,Kn = K ′ mit Ki−1 ⊢ Ki für i = 1, . . .,n gibt. Wir sagen, dass die Konfiguration K ′ von K berechenbar ist. In Beispiel 1 in Abschnitt 3.1 gilt (q0, 132) ⊢ (q0, 132) ⊢ . . . ⊢ (q1, 132) und, die letzte Konfiguration hat keine Folgekonfiguration, da sie eine Haltekonfiguration ist. Definition. Für jede Turingmaschine ist die Berechnung einer Eingabe s1s2 . . . sn ∈ Σ ∗ eine endliche oder unendliche Liste von Konfigurationen: K0 ⊢ K1 ⊢ K2 ⊢ . . . wobei 1. K0 die Initialkonfiguration mit K0 = (q0, s1s2 . . .sn) ist, und 2. falls die Liste endlich ist, ist die letzte Konfiguration eine Haltekonfiguration. Wir sagen, dass die Turingmaschine die Eingabe genau dann akzeptiert, wenn ihre Berechnung endlich ist und der Zustand der letzten Konfiguration final ist. Bemerkung 2. Die Berechnung einer Eingabe w hat also drei mögliche Ergebnisse: 1. die TM hält und akzeptiert w, 2. die TM hält und akzeptiert w nicht, 3. die TM hält nicht (und akzeptiert w deshalb nicht). Am Anfang ist die Eingabe ” kompakt“, also ohne Unterbrechung (durch #) auf dem Band geschrieben. Im Verlauf der Berechnung kann # an jeder Stelle erscheinen. Beispiel 2. In Beispiel 1 in Abschnitt 3.1 haben wir die Berechnung der Eingabe 132 beschrieben. Die letzte Konfiguration ist (q1, 132). Da q1 nicht final ist, wird 132 nicht akzeptiert. Auch das leere Wort wird nicht akzeptiert: hier haben wir eine 1-Schritt-Berechnung, denn (q0, #) ist eine Haltekonfiguration, und q0 ist nicht final.

76 KAPITEL 3. TURINGMASCHINEN<br />

Die Berechnung von E<strong>in</strong>gaben formalisieren wir jetzt.<br />

Konfigurationen: E<strong>in</strong>e Konfiguration e<strong>in</strong>er Tur<strong>in</strong>gmasch<strong>in</strong>e ist die vollständige<br />

Information über die TM zu e<strong>in</strong>em Zeitpunkt der Berechnung; sie wird durch (1)<br />

den momentanen Zustand q, (2) den Inhalt des Bandes und (3) die Position des<br />

Kopfes bestimmt. Also ist (1) e<strong>in</strong> Element der Menge Q. Wir können (2) und (3)<br />

zusammenfassen, <strong>in</strong>dem wir sagen, welches Wort u l<strong>in</strong>ks vom Kopf steht, welches<br />

Wort v rechts steht und welches Symbol a aus Σ = Σ ∪ {#} der Kopf liest. Dabei<br />

ist u entweder leer, oder hat das erste Symbol aus Σ und die weiteren aus Σ:<br />

u ∈ Σ × Σ ∗ ∪ {ε}.<br />

Analog v ∈ Σ ∗ × Σ ∪ {ε}. E<strong>in</strong>e Konfiguration ist also e<strong>in</strong> Quadrupel<br />

(q, u, a, v), wobei q ∈ Q, u ∈ Σ × Σ ∗ ∪ {ε}, a ∈ Σ und v ∈ Σ ∗ × Σ ∪ {ε}.<br />

Die Menge<br />

K = Q × (Σ × Σ ∗ ∪ {ε}) × Σ × (Σ ∗ × Σ ∪ {ε})<br />

heißt Konfigurationsmenge.<br />

Die üblichere (und übersichtlichere) Schreibweise ist, u, a, v zu konkatenieren und a<br />

zu unterstreichen:<br />

(q, uav).<br />

In Beispiel 1 <strong>in</strong> Abschnitt 3.1 hat die Berechnung also die Konfigurationen<br />

(q0, 132)<br />

(q0, 132)<br />

(q0, 132)<br />

(q0, 132#) und<br />

(q1, 132)<br />

Berechnung: Die E<strong>in</strong>gabe<br />

s1s2 . . . sn ∈ Σ ∗<br />

wird immer so auf das Band geschrieben, dass die Buchstaben ohne Leerzeichen<br />

h<strong>in</strong>tere<strong>in</strong>ander stehen. Der Kopf wird auf den ersten Buchstaben gestellt und der<br />

Zustand ist <strong>in</strong>itial. Mit anderen Worten heißt das: wir erwarten am Anfang, dass<br />

die Konfiguration die folgende Form hat:<br />

(∗) (q0, s1s2 . . .sn), wobei s1 . . . sn ∈ Σ ∗ .<br />

Der Fall der leeren E<strong>in</strong>gabe ε ∈ Σ ∗ (also n = 0) entspricht der Konfiguration<br />

(q0, #).<br />

Konfigurationen der Form (∗) heißen Initialkonfigurationen.<br />

Falls die Tur<strong>in</strong>gmasch<strong>in</strong>e e<strong>in</strong>e Konfiguration<br />

(q, s1s2 . . .si−1sisi+1 . . . sn)<br />

erreicht hat, gibt es zwei Möglichkeiten: entweder ist δ(q, si) nicht def<strong>in</strong>iert, dann<br />

heißt die Konfiguration Haltekonfiguration, oder es gilt<br />

δ(q, si) = (q ′ , s ′ ) mit s ′ ∈ {L,R} ∪ Σ,<br />

dann def<strong>in</strong>ieren wir die Folgekonfiguration wie folgt:<br />

1. falls s ′ =L, dann ist die Folgekonfiguration<br />

(q ′ , s1s2 . . . si−1sisi+1 . . . sn)<br />

2. falls s ′ =R, dann ist die Folgekonfiguration<br />

(q ′ , s1s2 . . . si−1sisi+1 . . . sn)<br />

3. falls s ′ ∈ Σ, dann ist die Folgekonfiguration<br />

(q ′ , s1s2 . . . si−1s ′ si+1 . . . sn).<br />

Diese Def<strong>in</strong>ition ist <strong>in</strong> Tabelle 3.1 zusammengefasst.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!