• Keine Ergebnisse gefunden

• UnentscheidbarkeitdesHalteproblemsf¨urTuringmaschinen • Entscheidungsprobleme • Church’scheThese • WHILE-Berechenbarkeit • Turing-Berechenbarkeit • IntuitiverBerechenbarkeitsbegriff Script,Kapitel2 Berechenbarkeit

N/A
N/A
Protected

Academic year: 2022

Aktie "• UnentscheidbarkeitdesHalteproblemsf¨urTuringmaschinen • Entscheidungsprobleme • Church’scheThese • WHILE-Berechenbarkeit • Turing-Berechenbarkeit • IntuitiverBerechenbarkeitsbegriff Script,Kapitel2 Berechenbarkeit"

Copied!
20
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Berechenbarkeit

Script, Kapitel 2

• Intuitiver Berechenbarkeitsbegriff

• Turing-Berechenbarkeit

• WHILE-Berechenbarkeit

• Church’sche These

• Entscheidungsprobleme

• Unentscheidbarkeit des Halteproblems f¨ ur Turingmaschinen

(2)

Intuitiver Algorithmusbegriff

Ein Algorithmus

• uberf¨ ¨ uhrt Eingabedaten in Ausgabedaten (wobei die Art der Daten vom Problem, das durch den Algorithmus gel¨ ost werden soll, abh¨ angig ist),

• besteht aus einer endlichen Folge von Anweisungen mit folgenden Eigen- schaften:

– es gibt eine eindeutig festgelegte Anweisung, die als erste auszuf¨ uhren ist,

– nach Abarbeitung einer Anweisung gibt es eine eindeutig festgelegte Anweisung, die als n¨ achste abzuarbeiten ist, oder die Abarbeitung des Algorithmus ist beendet und hat eindeutig bestimmte Ausgabedaten geliefert,

– die Abarbeitung einer Anweisung erfordert keine Intelligenz (ist also

prinzipiell durch eine Maschine realisierbar).

(3)

Beispiele f¨ ur Algorithmen

• der Gauß sche 1 Algorithmus zur L¨ osung von linearen Gleichungssyste- men (¨ uber den rationalen Zahlen),

• Kochrezepte (mit Zutaten und Kochger¨ aten als Eingabe und dem fertigen Gericht als Ausgabe),

• Bedienungsanweisungen f¨ ur Ger¨ ate,

• PASCAL-Programme.

(4)

Idee der Turingmaschine 2

• Arbeitsband

– beidseitig (potenziell) unendliches Band, in Felder eingeteilt;

– jedes Feld enth¨ alt einen Buchstaben aus dem Bandalphabet;

– zum Bandalphabet geh¨ ort das Leerzeichen oder Blank-Symbol .

• Schreib-Lesekopf

– ¨ uber dem Band beweglich – bearbeitet ein aktuelles Feld

• endliche Steuerung oder Kontrolle

– endliche Menge von internen Zust¨ anden, die den Programmablauf regeln

2

(5)

Veranschaulichung einer Turingmaschine

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

unendliches Band

· · · x y z # x $ 1 1 · · ·

...

...

...

...

...

...

...

...

...

...

...

...

...

.

. ...

Schreib-Lesekopf endliche

Kontrolle

(6)

Definition der Turingmaschine

Eine (deterministische) Turingmaschine (kurz: TM) ist gegeben durch ein 7-Tupel M = (Z, Σ, Γ, δ, z 0 , , E). Hierbei sind

• Z eine endliche Menge (Zustandsmenge),

• Σ ein Alphabet (Eingabealphabet),

• Γ ein Alphabet (Bandalphabet) mit Σ ⊆ Γ,

• δ : (Z \ E ) × Γ → Z × Γ × {L, R, N } eine Funktion ( Uberf¨ ¨ uhrungsfunk- tion),

• z 0 ∈ Z (Anfangszustand),

• ∈ Γ \ Σ (Leerzeichen, Blank),

• E ⊆ Z (Menge der Endzust¨ ande).

(7)

Erstes Beispiel einer Turingmaschine

Gegeben sei die Turingmaschine

M = ({z 0 , z 1 , z 2 , z e }, {0, 1}, {0, 1, }, δ, z 0 , , {z e }),

wobei δ wie folgt definiert ist. Wir geben dabei δ in einer Tabelle an, wobei im Kreuzungspunkt der Zeile mit der Bezeichnung a und der Spalte mit der Bezeichnung z der Funktionswert δ(z, a) steht.

δ z 0 z 1 z 2

(z 1 , , L) (z e , 1, N ) (z e , , R)

0 (z 0 , 0, R) (z 2 , 1, L) (z 2 , 0, L)

1 (z 0 , 1, R) (z 1 , 0, L) (z 2 , 1, L)

(8)

Konfiguration einer Turingmaschine

Eine Konfiguration k einer Turingmaschine M = (Z, Σ, Γ, δ, z 0 , , E) ist ein Wort k ∈ Γ Z Γ . Dabei soll k = αzβ folgendermaßen interpretiert werden:

• αβ steht auf dem Eingabeband, des weiteren stehen nur noch Blankzei- chen auf dem Band,

• die Turingmaschine befindet sich im Zustand z und

• der Kopf der Turingmaschine steht ¨ uber dem ersten Symbol von β.

Eine Startkonfiguration ist k 0 = z 0 w mit w ∈ Σ .

Eine Endkonfiguration ist k e = m z e w 0 n mit z e ∈ E, w 0 ∈ Σ , m, n ∈ N .

(9)

Die bin¨ are Relation ` in der Menge der Konfigurationen

(¨ Anderung der Konfiguration in einem Schritt der TM)

a 1 . . . a m zb 1 . . . b n

`

 

 

a 1 . . . a m z 0 cb 2 . . . b n falls δ(z, b 1 ) = (z 0 , c, N ), m ≥ 0, n ≥ 1, a 1 . . . a m cz 0 b 2 . . . b n falls δ(z, b 1 ) = (z 0 , c, R), m ≥ 0, n ≥ 2, a 1 . . . a m−1 z 0 a m cb 2 . . . b n falls δ(z, b 1 ) = (z 0 , c, L), m ≥ 1, n ≥ 1,

a 1 . . . a m zb 1 ` a 1 . . . a m cz 0 falls δ(z, b 1 ) = (z 0 , c, R), m ≥ 0,

zb 1 . . . b n ` z 0 cb 2 . . . b n falls δ(z, b 1 ) = (z 0 , c, L), n ≥ 1.

(10)

Die bin¨ are Relation `*

(¨ Anderung der Konfiguration in endlich vielen Schritten der TM)

Mit ` bezeichnen wir den reflexiven und transitiven Abschluss der bin¨ aren Relation `, also es gilt k 0 ` k e genau dann, wenn

(i) k 0 = k e ist, oder

(ii) eine Zahl n ≥ 0 und Konfigurationen k 1 , k 2 , . . . , k n existieren, so dass

k 0 ` k 1 ` k 2 ` · · · ` k n ` k e .

(11)

Turingberechenbarkeit

Eine Funktion f : Σ → Σ heißt Turingberechenbar, falls es eine Tu- ringmaschine M = (Z, Σ, Γ, δ, z 0 , , E ) gibt, so dass f¨ ur alle x, y ∈ Σ gilt:

f (x) = y genau dann, wenn z 0 x ` . . . z e y . . . f¨ ur ein z e ∈ E.

Eine Funktion f : N k → N f¨ ur ein k ∈ N heißt Turingberechenbar, falls es eine Turingmaschine M = (Z, {0, 1, #}, Γ, δ, z 0 , , E) gibt, so dass f¨ ur alle n 1 , n 2 , . . . , n k , m ∈ N gilt:

f (n 1 , n 2 , . . . , n k ) = m genau dann, wenn f¨ ur ein z e ∈ E :

z 0 bin(n 1 )#bin(n 2 )# . . . #bin(n k ) ` . . . z e bin(m) . . .

(12)

Beispiele f¨ ur Turingberechenbare Funktionen

Die Nachfolgerfunktion

f : N → N verm¨ oge n 7→ f (n) = n + 1

ist Turingberechenbar, da die Turingmaschine aus unserem ersten Beispiel die Eingabe bin(n) in die Ausgabe bin(n + 1) transformiert.

Die f¨ ur alle W¨ orter aus {a, b} nicht-definierte Funktion

Ω : {a, b} → {a, b} verm¨ oge w 7→ Ω(w) = nicht definiert ist Turing-berechenbar, da sie von der Turingmaschine

M = ({z 0 , z e }, {a, b}, {a, b, }, δ, z 0 , , {z e })

(13)

Mehrband-Turingmaschinen

• k ≥ 1 B¨ ander (Eingabe/Ausgabe auf Band 1)

• Jedes Band hat einen eigenen Schreib-Lesekopf, der separat bewegt wird.

• Formal δ : Z × Γ k → Z × Γ k × {L, R, N } k

(14)

Aquivalenz von Mehrband- und (Einband)-TM ¨

Zu jeder Mehrband-TM M gibt es eine (Einband-)TM M 0 , die dieselbe Funktion berechnet wie M .

a a b a

?

b a b b a

?

a a a b b a a

?

Mehrband-TM

• k B¨ ander

• 1 Schritt

a a b a

?

b a b b a

? a a a b b a a

?

?

Einband-TM

`

-

• 1 Band mit 2k Spuren

• ≈ 2(` + k ) Schritte

(15)

Notationen

“ − q ”: modifizierte Subtraktion

− q : N 2 → N verm¨ oge (n 1 , n 2 ) 7→ n 1q n 2 =

( n 1 − n 2 falls n 1 ≥ n 2 ,

0 sonst.

“Band := Band + 1”: TM, die zu einer Zahl 1 dazuaddiert

“Band(i) := Band(i) + 1”: k-Band-TM, die auf i-tem Band 1 addiert und alle anderen B¨ ander unver¨ andert l¨ aßt

“Band(i) := Band(i) − q 1”: k-Band-TM, die auf i-tem Band 1 modifiziert subtrahiert und alle anderen B¨ ander unver¨ andert l¨ aßt

“Band(i) := Band(j )”: k-Band-TM, die Inhalt des j -ten Bandes auf i-tes

Band kopiert

(16)

Nacheinanderausf¨ uhrung von Turingmaschinen

Seien M 1 und M 2 zwei Turingmaschinen, so wollen wir durch start −→ M 1 −→ M 2 −→ stop

oder auch durch

M 1 ; M 2

diejenige Turingmaschine verstehen, die zuerst wie die Turingmaschine

M 1 arbeitet und wenn M 1 einen Stopzustand erreichen w¨ urde in den

Anfangszustand von M 2 ¨ ubergeht und jetzt wie die Turingmaschine M 2

arbeitet. Sie stoppt dann, wenn M 2 einen Stopzustand erreichen w¨ urde.

(17)

Beispiel f¨ ur Nacheinanderausf¨ uhrung von TM

Betrachten wir das Diagramm in folgender Abbildung.

So erkennen wir, dass dort das schematische Flussbild einer Turingmaschine

steht, welche dreimal nacheinander zur Zahl auf dem Band 1 addiert, also

es sich um die Turingmaschine “Band := Band + 3” handelt.

(18)

Beispiel f¨ ur Verzweigung von TM

Folgende Abbildung stellt eine sich verzweigende TM dar.

Sie soll nach Simulation der Turingmaschine M die Turingmaschine M 1

simulieren, falls sie bei der Simulation von M im Zustand z e1 stoppt. Analog

soll sie die Turingmaschine M 2 abarbeiten, falls sie bei der Simulation von

M im Zustand z e2 stoppt.

(19)

Beispiel f¨ ur “Band (i) = 0 ?”

Es sei M = ({z 0 , z 1 , ja, nein}, Σ, Γ, δ, z 0 , , {ja, nein}) mit 0 ∈ Σ sowie mit der ¨ Uberf¨ uhrungsfunktion δ, gegeben durch

δ(z 0 , a) = (nein, a, N ) f¨ ur a 6= 0, δ(z 0 , 0) = (z 1 , 0, R),

δ(z 1 , a) = (nein, a, L) f¨ ur a 6= , δ(z 1 , ) = (ja, , L).

Diese Turingmaschine testet, ob die Eingabe genau das Wort 0 ist. Falls ja, stoppt sie im Zustand ja, falls nein, stoppt sie im Zustand nein. Wir wollen diese Turingmaschine mit “Band = 0 ?” bezeichnen.

Die k-Band-TM, die das i-te Band auf 0 testet, nennen wir “Band(i) = 0 ?”

(20)

Beispiel f¨ ur WHILE-Schleife

Sei M eine beliebige Turingmaschine.

start

...

“Band

.. ...

(i) = 0 ?”

... ...

stop

...

...

...

...

...

...

...

...

...

M

...

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

.

ja nein

Dann bezeichnen wir die Turingmaschine, die durch das Diagramm gegeben

ist, mit “WHILE Band(i) 6= 0 DO M ”. Die Arbeitsweise ist einfach zu

erkennen.

Referenzen

ÄHNLICHE DOKUMENTE

mungsangebote, die eine Kunst und überhaupt alles Wahrnehmbare im Digitalen machen können, unterliegen den Gesetzen der Rasterung und der Quantisierung.. Das wäre noch

Wir m¨ussen zeigen, dass die Formel auch dann noch erf¨ullbar ist, wenn wir C durch C ′ ∧ C ′′ ersetzen. Aus B erhalten wir eine erf¨ullende Belegung f¨ur die neue Formel,

• Bitte verwenden Sie einen dokumentenechten Stift mit blauer oder schwarzer Tinte und verwenden Sie keinen Tintenkiller oder Ähnliches!. Benutzen Sie aus- schließlich das zur

zeigte.. die Rekursive Analysis eine größere Rolle. Am gebräuchlichsten im täglichen Leben ist wohl die Darstellung reeller Zahlen durch Dezimalbrüche. Wir wollen,

Wir sagen, dass eine Menge M (algorithmisch) entscheidbar (oder rekursiv) ist, wenn die zugeh¨ orige charakteristische Funktion ϕ M Turing -berechenbar ist. Anderenfalls heißt

• nach Abarbeitung einer Anweisung gibt es eine eindeutig festgelegte Anweisung, die als n¨ achste abzuarbeiten ist, oder die Abarbeitung des Algorithmus ist beendet.. Ein Problem

Wir sagen, dass eine Menge M (algorithmisch) entscheidbar (oder rekursiv) ist, wenn die zugeh¨ orige charakteristische Funktion ϕ M Turing -berechenbar ist. Anderenfalls heißt

– nach Abarbeitung einer Anweisung gibt es eine eindeutig festgelegte Anweisung, die als n¨ achste abzuarbeiten ist, oder die Abarbeitung des Algorithmus ist beendet und hat