Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick /...

39
Grundbegriffe der Theoretischen Informatik Sommersemester 2016 - Thomas Schwentick Teil C: Berechenbarkeit und Entscheidbarkeit 12: Verschiedene Berechnungsmodelle Version von: 9. Juni 2016 (07:47)

Transcript of Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick /...

Page 1: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

Grundbegriffe der Theoretischen InformatikSommersemester 2016 - Thomas Schwentick

Teil C: Berechenbarkeit und Entscheidbarkeit

12: Verschiedene Berechnungsmodelle

Version von: 9. Juni 2016 (07:47)

Page 2: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

Inhalt

✄ 12.1 Einleitung in Teil C

12.2 WHILE-Programme

12.3 GOTO-Programme

12.4 Turingmaschinen

GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 1

Page 3: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

Ein einfaches algorithmisches Puzzle-Problem‚ Wir betrachten zwei Varianten eines

„Puzzle-Problems“

– Eine wird sich als deutlich schwierigerals die andere herausstellen

‚ Einfache Variante des Puzzlespiels:

– Gegeben: schwarze und gelbe Spiel-steintypen mit Strings

– Von jedem Steintyp stehen beliebig vie-le Steine zur Verfügung

– Lässt sich das selbe Wort aus schwar-zen wie aus gelben Spielsteinen legen?

Beispiel

‚ Schwarze Steintypen: 01 , 10 , 011

‚ Gelbe Steintypen: 101 , 00 , 11

‚ Lösungswort: 1010011

– ... in schwarz: 10 10 011

– ...und in gelb: 101 00 11

Def.: Pseudo-PCP

Gegeben: eine Folgepu1, v1q, . . . , puk, vkq von Paa-ren nicht-leerer Strings

Frage: Gibt es Indexfolgen i1, . . . , in undj1, . . . , jm mit n ě 1, so dass

ui1ui2 ¨ ¨ ¨ uin “ vj1vj2 ¨ ¨ ¨ vjm?

‚ Die Frage ist also: Gibt es einen String w,der sowohl aus uis als auch aus vjs zu-sammen gesetzt werden kann

‚ Pseudo-PCP lässt sich mit Hilfe von Auto-maten in polynomieller Zeit entscheiden:

– Konstruiere einen Automaten A, dernichtleere Strings akzeptiert, die ausden ui zusammengesetzt sind

– Konstruiere einen Automaten B, dernichtleere Strings akzeptiert, die ausden vi zusammengesetzt sind

– Teste ob LpAq X LpBq ­“ HGTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 2

Page 4: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

Ein schwieriges algorithmisches Puzzle-Problem‚ Jetzt betrachten wir die schwierigere Variante

‚ Gegeben eine Menge von Spielsteintypenu1

v1

,u2

v2

, . . .uk

vk

‚ Von jedem Typ stehen beliebig viele Steinezur Verfügung

‚ Lassen sich die Steine so in einer Reihe aus-legen, dass das schwarze (obere) Wort gleichdem gelben (unteren) Wort ist?

Beispiel

‚ Steintypen:1

101,

10

00,011

11

‚ Mögliche Lösung:1

101

011

11

10

00

011

11

Beispiel

‚ 10

101,011

11,101

011hat keine Lösung

Def.: Postsches Korrespondenzproblem (PCP)

Gegeben: eine Folgepu1, v1q, . . . , puk, vkq vonPaaren nicht-leerer Strings

Frage: Gibt es eine Indexfolge i1, . . . , inmit n ě 1, so dass

ui1ui2 ¨ ¨ ¨ uin “ vi1vi2 ¨ ¨ ¨ vin?

‚ Die Frage ist also: Gibt es einen Stringw, der sowohl aus uis als auch ausvis zusammen gesetzt werden kann,und zwar mit derselben nicht-leerenIndexfolge?

‚ Wir nennen eine solche Indexfolge~i “ i1, . . . , in eine Lösung und denString ui1ui2 ¨ ¨ ¨ uin einen Lösungs-string

GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 3

Page 5: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

Ein komplizierteres BeispielDrittes Beispiel

‚ Steintypen:001

0,

01

011,

01

101,

10

001

‚ Kleinste Lösung:

01

011

10

001

01

101

10

001

10

001

01

011

001

0

01

011

10

001

01

101

10

001

01

101

10

001

10

001

01

101

10

001

10

001

01

011

001

0

10

001

10

001

01

011

001

0

01

101

10

001

001

0

001

0

01

101

10

001

10

001

10

001

01

011

001

0

01

011

001

0

001

0

001

0

01

101

10

001

01

101

10

001

001

0

01

011

001

0

10

001

10

001

01

011

001

0

10

001

001

0

001

0

01

101

10

001

001

0

001

0

01

101

001

0

001

0

01

101

001

0

01

011

001

0

10

001

001

0

001

0

01

101

GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 4

Page 6: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

PCP ist algorithmisch nicht lösbar‚ Wir werden in den nächsten Kapiteln den folgenden

Satz beweisen

Satz

‚ PCP ist nicht entscheidbar

‚ Dazu benötigen wir einige Vorbereitung

‚ Zunächst müssen wir den Begriff „entscheidbar“definieren

‚ Informell soll ein algorithmisches Problem ent-scheidbar sein, wenn es einen Algorithmus gibt,der bei jeder Eingabe anhält und immer die richtigeAntwort gibt

‚ Um dies zu formalisieren benötigen wir eine Defini-tion von „Algorithmus“

‚ Um zu definieren, was ein Algorithmus ist, benöti-gen wir ein allgemeines „Berechnungsmodell“

‚ Damit unsere Definition nicht zu modellspezifischwird, ziehen wir lieber mehrere Berechnungsmodel-le in Betracht

!GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 5

Page 7: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

Inhalt

12.1 Einleitung in Teil C

✄ 12.2 WHILE-Programme

12.3 GOTO-Programme

12.4 Turingmaschinen

GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 6

Page 8: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

Übersicht‚ Wir suchen Antworten auf folgende Fragen

– Was ist ein Algorithmus?

– Wann ist eine Funktion berechenbar?

‚ Wir betrachten dazu verschiedene Berechnungsmodelle

‚ Zwei Modelle, die von Programmiersprachen inspiriertsind:

– WHILE-Programme

– GOTO-Programme

‚ Ein Modell, das als mächtige Erweiterung der endlichenAutomaten aufgefasst werden kann, ursprünglich aber alsmathematische Formalisierung des „Rechnens mit Papierund Bleistift“ gedacht war:

– Turingmaschinen

‚ Später betrachten wir noch ein Modell, das durch rekursiveDefinitionen inspiriert ist:

– µ-rekursive Funktionen

‚ Im nächsten Kapitel werden wir die Mächtigkeit dieserBerechnungsmodelle miteinander vergleichen

GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 7

Page 9: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

Partielle Funktionen‚ Wir werden jetzt häufig partielle Funk-

tionen über den natürlichen Zahlen ver-wenden

‚ Bei partiellen Funktionen f muss derFunktionswert nicht für alle Elemente derGrundmenge definiert sein

‚ Notation:

– f : N0 á N0

– Um auszudrücken, dass fpnq unde-finiert ist, schreiben wir: fpnq “ K

Beispiel

‚ Sei sqrt die partielle FunktionN0 á N0, die jeder natürlichen Zahln die natürliche Zahl m mit m2 “ nzuordnet, wenn ein solches m existiert

‚ Es gilt also z.B.:

– sqrtp9q “ 3

– sqrtp10q “ K

Definition

‚ Sei f : N0 á N0 eine partielle Funktion

– Der Definitionsbereich Dpfq einer par-

tiellen Funktion f isttn P N0 | fpnq ­“ Ku

– Der Wertebereich W pfq einer partiellen

Funktion f isttn P N0 | Dm P N0 : fpmq “ nu

‚ Eine totale Funktion N0 Ñ N0 ist eineFunktion, die für alle natürlichen Zahlen de-finiert ist

✎ Zu beachten:

– Der Begriff „partielle Funktion“ erzwingtnicht, dass es Zahlen gibt, für die keinFunktionswert existiert

– Jede totale Funktion ist also auch einepartielle Funktion

✎ Wir werden auch partielle Funktionen überStrings betrachten

GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 8

Page 10: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

WHILE-Programme: BeispieleBeispiel

x1 :“ x2;

WHILE x3 ­“ 0 DO

x1 :“ x1 ` 1;x3 :“ x3 ´ 1

END

‚ Variablen nehmen in WHILE-Programmennur Werte aus N0 an

‚ Der Effekt des Programmes ist also:x1 :“ x2 ` x3

☞ Und: x3 :“ 0

Beispiel

x1 :“ 0;WHILE x3 ­“ 0 DO

x4 :“ x2;

WHILE x4 ­“ 0 DO

x1 :“ x1 ` 1;x4 :“ x4 ´ 1

END;

x3 :“ x3 ´ 1END

‚ Der (wesentliche) Effekt des Programmesist: x1 :“ x2 ˆ x3

Beispiel

x1 :“ 1;WHILE x1 ­“ 0 DO

x3 :“ x2 ` 2END

‚ Dieses Programm hält nie an...

GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 9

Page 11: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

WHILE-Programme: Syntax‚ WHILE-Programme verwenden die folgen-

den syntaktischen Grundelemente:

– Variablen: x1, x2, x3, . . .

– Konstanten: 0, 1, 2, . . .

– Trennsymbole: ; :“– Operationszeichen: ` ´

– Schlüsselwörter: WHILE, DO, END

Definition

‚ Die Syntax von WHILE-Programmen istwie folgt definiert:

Wertzuweisung:– xi :“ c– xi :“ xj

– xi :“ xj ` c– xi :“ xj ´ csind WHILE-Programme

(für jede Konstante c und i, j ě 1)

Reihung: Falls P1 und P2 WHILE-Programme sind, so auch P1;P2

(Bedingte Wiederholung)Ist P ein WHILE-Programm, so auch

WHILE xi ­“ 0 DO P END

GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 10

Page 12: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

WHILE-Programme: Semantik (1/2)‚ Wir definieren die Semantik von WHILE-

Programmen durch ihre Wirkung auf Speicherin-halte

‚ Dabei modellieren wir Speicherinhalte durch Funk-tionen X , die die Werte der Variablen x1, x2, . . .repräsentieren

– Xris repräsentiert den Wert von xi

Definition

‚ Ein Speicherinhalt X ist eine Funktion N Ñ N0,

für die Xris ­“ 0 nur für endlich viele i P N gilt

‚ Der initiale Speicherinhalt XbInit bei Eingabe

b P N0 ist definiert durch:

XbInitris

def“

"

b für i “ 1

0 sonst

✎ Wir schreiben hier Xris statt Xpiq um später dieUnterscheidung zu anderen (runden) Klammern zuerleichtern

✎ Manchmal beschreiben wir Spei-cherinhalte als Folge von ZahlenXr1s, Xr2s, Xr3s, . . .– In dieser Sichtweise wird der

initiale Speicherinhalt XbInit

bei Eingabe b durch die Folgeb, 0, 0, . . . repräsentiert

GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 11

Page 13: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

WHILE-Programme: Semantik (2/2)Definition

‚ Ist X ein Speicherinhalt und P einWHILE-Programm, so bezeichne P pXqden Speicherinhalt nach Bearbeitungvon P

‚ P pXq ist induktiv wie folgt definiert

‚ Falls P von der Form xi :“ xj ` c ist:

P pXqrksdef“

"

Xrjs ` c für k “ i

Xrks sonst

– Analog für xi :“ c und xi :“ xj

‚ Falls P von der Form xi :“ xj ´ c ist:P pXqrks

def“

"

maxpXrjs ´ c, 0q für k “ i

Xrks sonst

‚ Falls P von der Form P1;P2 ist:P pXq

def“ P2pP1pXqq

Definition (Forts.)

‚ Ist P von der FormWHILE xi ­“ 0 DO P1 END

und X ein Speicherinhalt, so seiP pXq

def“

"

X falls Xris “ 0

P pP1pXqq sonst

‚ Die durch ein WHILE-Programm P be-rechnete Funktion fP ist wie folgt definiert:

– Für jedes b P N0 istfP pbq

def“ P pXb

Initqr1s

‚ Eine Funktion f : N0 Ñ N0 heißtWHILE-berechenbar, falls f “ fP fürein WHILE-Programm P

✎ Der durch das Programm berechnete Funk-tionswert entspricht also dem Inhalt von x1

nach Ende der Berechnung

GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 12

Page 14: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

WHILE-Programme: Bemerkungen‚ Intuitive Bedeutung der Semantik der be-

dingten Wiederholung:

– Solange Xris ­“ 0 gilt, wird P1 aus-geführt

‚ Zu beachten:

– Die Semantik-Definition ist rekursiv

– P pXq ist nicht für alle P und X defi-niert

‚ Auch mehrstellige Funktionen lassen sichdurch WHILE-Programme berechnen:

– Für jedes k-Tupel ~a “ pa1, . . . , akqsei fP,kp~aq der Wert von X 1p1q,wobei∗ X 1 “ P pX~a

Initq

∗ und X~aInit der Folge

a1, . . . , ak, 0, 0, . . . entspricht

‚ Wir haben schon gesehen, dass WHILE-Programme verschiedene Konstrukte simu-lieren können:

– Addition zweier Variablen

– Produkt zweier Variablen

‚ Es ist nicht schwer zu sehen, dass mitWHILE-Programmen auch bedingte An-weisungen der Art

IF x1 “ c THEN P END

simuliert werden können

‚ Wir werden im Folgenden solche An-weisungen als „syntaktischen Zucker“erlauben

‚ WHILE-Programme im Sinne der forma-len Definition nennen wir im Folgenden„einfache WHILE-Programme“

‚ Der Begriff „WHILE-berechenbar“ beziehtsich auf einfache WHILE-Programme

GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 13

Page 15: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

Inhalt

12.1 Einleitung in Teil C

12.2 WHILE-Programme

✄ 12.3 GOTO-Programme

12.4 Turingmaschinen

GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 14

Page 16: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

GOTO-Programme: SyntaxDefinition

‚ Ein GOTO-Programm besteht aus einerFolge

– M1 : A1;

– M2 : A2;

–...

– Mk : Ak

von Anweisungen Ai mit SprungmarkenMi

‚ Mögliche Anweisungen:

– Wertzuweisung:

∗ xi :“ c∗ xi :“ xj

∗ xi :“ xj ` c∗ xi :“ xj ´ c

– Bedingter Sprung:IF xi “ c THEN GOTO Mj

– Stopanweisung: HALT

Beispiel

1: x4 :“ 1;2: x1 :“ x2;

3: IF x3 “ 0 THEN GOTO 7;

4: x1 :“ x1 ` 1;5: x3 :“ x3 ´ 1;6: IF x4 “ 1 THEN GOTO 3;

7: HALT

‚ Intuitiv hat dieses Programm den Effekt:x1 :“ x2 ` x3

(und Seiteneffekte für x3 und x4)

✎ Das Beispiel illustriert, dass sich unbeding-te Sprünge durch bedingte Sprünge simu-lieren lassen

– Wir erlauben im Folgenden deshalbauch unbedingte Sprünge GOTO Mj

als syntaktischen Zucker

✎ Sprungmarken, die nicht als Sprungadres-se dienen, lassen wir oft weg

GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 15

Page 17: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

GOTO-Programme: SemantikDefinition

‚ Eine Konfiguration eines GOTO-Program-

mes P ist ein Paar pM ;Xq, wobei Meine Sprungmarke von P und X ein Spei-cherinhalt ist

‚ Start-Konfiguration bei Eingabe b:

pM1;XbInitq

‚ Ist M eine Sprungmarke eines GOTO-Programms, so bezeichnet M ` 1 dieSprungmarke der folgenden Zeile

‚ Die Nachfolge-Konfiguration pM 1;X 1qeiner Konfiguration pMℓ;Xq ist wie folgtdefiniert:– Ist Aℓ eine Wertzuweisung, so istM 1 def

“ Mℓ ` 1 und X 1 ist definiertwie bei WHILE-Programmen

– Falls Aℓ ein bedingter SprungIF xi “ c THEN GOTO Mj

ist, so ist X 1 def“ X und

M 1 def“

"

Mj falls Xris “ c

Mℓ ` 1 sonst

Definition (Forts.)

‚ Halte-Konfiguration: pMk ` 1;Xqoder pMℓ;Xq und Aℓ ist HALT

‚ Die Berechnung von P bei Einga-be b ist die eindeutig bestimmte FolgeK1,K2, . . . von Konfigurationen mit:

– K1 “ pM1, XbInitq und

– jede Konfiguration Ki ist die Nachfol-gekonfiguration von Ki´1 (für i ą 1)

‚ Falls die Berechnung von P bei Eingabeb endlich ist, so ist die letzte Konfigurationeine Halte-Konfiguration pM ;Xq

‚ Dann sei wieder: fP pbqdef“ Xr1s

‚ Falls die Berechnung von P bei Eingabeb unendlich ist, so ist fP pbq

def“ K,

‚ Eine Funktion f : N0 Ñ N0 heißt GO-TO-berechenbar, falls f “ fP für einGOTO-Programm P

GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 16

Page 18: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

Inhalt

12.1 Einleitung in Teil C

12.2 WHILE-Programme

12.3 GOTO-Programme

✄ 12.4 Turingmaschinen

GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 17

Page 19: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

Warum Turingmaschinen?‚ Bisher haben wir Berechnungsmo-

delle betrachtet, die sich an Pro-grammiersprachen anlehnen:

WHILE- und GOTO-Programme

‚ Jetzt betrachten wir ein Berech-nungsmodell, das „menschlicheRechner“ zum Vorbild nimmt

‚ Dieses Modell wurde 1936 von AlanTuring „erfunden“

‚ Warum hat jemand

– etliche Jahre vor dem Bau des ersten Compu-ters und

– Jahrzehnte vor der Entwicklung „richtiger Pro-grammiersprachen“

ein abstraktes Berechnungsmodell erfunden?

‚ Turing war Mathematiker und wollte beweisen,dass es kein automatisches Verfahren gibt, daszu jeder mathematischen Aussage entscheidet,ob sie wahr oder falsch ist

‚ Etwas anders formuliert, wollte er zeigen, dasses keinen Algorithmus für das folgende algorith-mische Problem gibt

Definition: Allgemeingültigkeitsproblem

Gegeben: Prädikatenlogische Formel ϕ

Frage: Gilt für alle passenden Modelle M:M |ù ϕ?

GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 18

Page 20: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

Turings Ideen zur Berechenbarkeit (1/4)‚ Wie gesagt: zu Turings Zeit gab es noch keine

künstlichen programmierbaren Rechner

‚ Wenn er von einem Computer sprach, meinte ereinen Menschen, der nach einem festgelegten Ver-fahren etwas berechnet

‚ Seine Vorstellungen, wie ein solcher Computer

arbeitet, hat er in der folgenden Arbeit beschrieben:

– A. M. Turing. On computable numbers, with anapplication to the Entscheidungsproblem. Proc.

London Math. Soc., 2(42):230–265, 1936

‚ Die Abstraktion des Computers, die Turing in die-ser Arbeit definierte, wird heute Turingmaschinegenannt

‚ Schauen wir mal, welche Gedanken sich AlanTuring 1936 so gemacht hat...

GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 19

Page 21: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

Turings Ideen zur Berechenbarkeit (2/4)‚ Computing is normally done by writing certain sym-

bols on paper

‚ We may suppose this paper is divided into squareslike a child’s arithmetic book

‚ In elementary arithmetic the two-dimensional cha-racter of the paper is sometimes used

‚ But such a use is always avoidable, and I think thatit will be agreed that the two-dimensional characterof paper is no essential of computation

‚ I assume then that the computation is carried outon one-dimensional paper, i.e. on a tape dividedinto squares

‚ I shall also suppose that the number of symbolswhich may be printed is finite

– If we were to allow an infinity of symbols, thenthere would be symbols differing to an arbitrarilysmall extent

GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 20

Page 22: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

Turings Ideen zur Berechenbarkeit (3/4)‚ The behaviour of the computer at any mo-

ment is determined by the symbols whichhe is observing and his ”state of mind”at that moment

‚ We may suppose that there is a boundB to the number of symbols or squareswhich the computer can observe at onemoment

‚ If he wishes to observe more, he must usesuccessive observations

‚ We will also suppose that the number ofstates of mind which need be taken intoaccount is finite

‚ Let us imagine the operations performedby the computer to be split up into ”simpleoperations” which are so elementary that itis not easy to imagine them further divided

‚ Every such operation consists of somechange of the physical system consisting ofthe computer and his tape

‚ We know the state of the system if weknow the sequence of symbols on thetape, which of these are observed by thecomputer (possibly with a special order),and the state of mind of the computer

‚ We may suppose that in a simple ope-ration not more than one symbol isaltered

– Any other changes can be set up intosimple changes of this kind

‚ The situation in regard to the squareswhose symbols may be altered in this wayis the same as in regard to the observedsquares

‚ We may, therefore, without loss of gene-rality, assume that the squares whosesymbols are changed are always ”ob-served” squares

GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 21

Page 23: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

Turings Ideen zur Berechenbarkeit (4/4)‚ Besides these changes of symbols, the

simple operations must include changes ofdistribution of observed squares

‚ The new observed squares must be imme-diately recognisable by the computer

‚ I think it is reasonable to suppose that theycan only be squares whose distance fromthe closest of the immediately previouslyobserved squares does not exceed a cer-tain fixed amount

‚ Let us say that each of the new observedsquares is within L squares of an immedia-tely previously observed square

‚ The most general single operation musttherefore be taken to be one of the followi-ng:

(A) A possible change (a) of symbol to-gether with a possible change of stateof mind

(B) A possible change (b) of observedsquares, together with a possiblechange of state of mind

‚ The operation actually performed is deter-mined, as has been suggested on p.250,by the state of mind of the computer andthe observed symbols

‚ In particular, they determine the state ofmind of the computer after the operation iscarried out

GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 22

Page 24: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

Vom Automaten zur Turingmaschine‚ Turingmaschinen können als Erweiterung

von endlichen Automaten in drei Stufenaufgefasst werden:

(1) Mehr Bewegung:– Der Kopf darf sich nach rechts und

nach links bewegen✎ Endliche Automaten mit dieser Erwei-

terung können nur reguläre Sprachenentscheiden

(2) Schreiben:– Die Symbole der Eingabe können

verändert werden — jeweils an derPosition des Kopfes

‚ Das Berechnungsmodell, das endlicheAutomaten um (1) und (2) erweitert, wirdlinear beschränkte Automaten genannt

– Sie entscheiden genau die kontextsen-sitiven Sprachen

(3) Mehr Platz:– Der Arbeitsbereich kann über die Ein-

gabe hinaus erweitert werden (nachrechts)

– Links von der Eingabe steht ein Sym-bol (✄), das den linken Rand mar-kiert, der nicht verschoben werdenkann

– Berechnungen enden nicht mehrdurch Verlassen der Eingabe sonderndurch Erreichen spezieller Endzu-stände

‚ Wir betrachten nun zunächst Beispiele vonTuringmaschinen

GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 23

Page 25: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

Turingmaschinen: 1. BeispielBeispiel

Turingmaschine zum Test, ob die Eingabe von der Form wwR ist

Idee: Vergleiche jeweils das erste mit dem letzten Symbol und löschebeide (durch Überschreiben mit # bzw. \)

a : 0 und 1 überlesen, nach links — falls ✄ oder # nach rechts inb

b: Falls 0 nach rechts in c — falls 1 nach rechts in d (dabei 0/1durch # überschreiben) — falls \ akz.

c: 0 und 1 überlesen nach rechts bis \, dann nach links in e

d: 0 und 1 überlesen nach rechts bis \, dann nach links in f

e: Falls 0 durch \ ersetzen nach links in a — falls 1 oder # ableh-nen

f : Falls 1 durch \ ersetzen nach links in a — falls 0 oder # ableh-nen

1. Beispielberechnung:

✄ 0 1 1 1 1 0

bbc#

ccccc\

ea\

aaaabd#

dddfa\

aabd#

dfa\

b

GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 24

Page 26: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

Turingmaschinen: 1. Beispiel, 2. BerechnungBeispiel

Turingmaschine zum Test, ob die Eingabe von der Form wwR ist

a : 0 und 1 überlesen, nach links — falls ✄ oder # nach rechts inb

b: Falls 0 nach rechts in c — falls 1 nach rechts in d (dabei 0/1durch # überschreiben) — falls \ akz.

c: 0 und 1 überlesen nach rechts bis \, dann nach links in e

d: 0 und 1 überlesen nach rechts bis \, dann nach links in f

e: Falls 0 durch \ ersetzen nach links in a — falls 1 oder # ableh-nen

f : Falls 1 durch \ ersetzen nach links in a — falls 0 oder # ableh-nen

2. Beispielberechnung:

✄ 0 1 1 0 1 1 0

bbc#

cccccc\

ea\

aaaaabd#

ddddfa\

aaabd#

ddfa\

abc#

e

GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 25

Page 27: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

Turingmaschinen: DefinitionDefinition

‚ Eine Turingmaschine M “ pQ,Γ, δ, sq besteht aus

– einer endliche Menge Q, (Zustandsmenge)

– einem Alphabet Γ, mit \,✄ P Γ, (Arbeitsalphabet)

– einer Funktionδ : Q ˆ Γ Ñ pQ Y tja, nein, huq ˆ Γ ˆ tÐ, Ó, Ñu

(Transitionsfunktion),

– einem ausgezeichneten Zustand s P Q (Startzustand)

‚ Dabei seien Q,Γ, th, ja, neinu und tÐ, Ó, Ñu paarweise dis-junkt

‚ Turingmaschinen müssen außerdem die folgenden Bedingungenerfüllen:

– Das Symbol ✄ für den linken Rand darf nicht überschriebenwerden

– von ✄ darf sich der Kopf nicht nach links bewegen

‚ Das lässt sich dadurch erreichen, dass δpq,✄q immer von derForm pq1,✄, dq mit d P tÓ, Ñu ist

GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 26

Page 28: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

Turingmaschinen: Diagramm-DarstellungZustände der Beispiel-TM

a : 0 und 1 überlesen, nachlinks — falls ✄ oder # nachrechts in b

b: Falls 0 nach rechts in c —falls 1 nach rechts in d (da-bei 0/1 durch # überschrei-ben) — falls \ akz.

c: 0 und 1 überlesen nachrechts bis \, dann nach linksin e

d: 0 und 1 überlesen nachrechts bis \, dann nach linksin f

e: Falls 0 durch \ ersetzennach links in a — falls 1oder # ablehnen

f : Falls 1 durch \ ersetzennach links in a — falls 0oder # ablehnen

Beispiel-Turingmaschine als Diagramm

ab

c

d

e

f`

´0 : 0, Ð1 : 1, Ð

# : #, Ñ✄ : ✄, Ñ

0 : #, Ñ

1 : #, Ñ\ : \, Ó

0 : 0, Ñ1 : 1, Ñ

\ : \, Ð

0 : 0, Ñ1 : 1, Ñ

\ : \, Ð

0 : \, Ð

1 : \, Ó# : #, Ó

1 : \, Ð

0 : \, Ó# : #, Ó

‚ Konvention: ist für ein Paar pq, σq P Q ˆ Γ kein Über-gang eingezeichnet, so sei δpq, σq

def“ pnein, σ, Óq

GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 27

Page 29: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

Turingmaschinen: 2. Beispiel2. Beispiel-TM: Inkrementieren einer Binärzahl

‚ Beschreibung der Zustände:

a: Die TM läuft, ohne etwas zu verändern, nach rechts bis zumersten Leerzeichen, und dann einen Schritt nach links in denZustand b.

b: Das maximale Suffix der Form 1i wird durch 0i ersetzt.– Ist davor eine 0, so wird sie durch 1 ersetzt und M geht in

den Zustand e✎ Das Suffix der Eingabe ist von der Form 01i und wird

durch 10i ersetzt– Ist davor ein ✄, so geht M in Zustand c✎ Die Eingabe war von der Form 1i, wurde in 0i geändert,

und muss noch in 10i umgewandelt werden

c: Ersetzt die erste 0 durch eine 1, und geht in den Zustand d

d: Fügt eine 0 hinten an und geht in den Zustand e

e: läuft zum linken Rand und geht in den Endzustand h

✄ 1 0 0 1 1

baaaaaa\

bb0

b0

e1

eeh

!GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 28

Page 30: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

Turingmaschinen: 2. Beispiel, 2. Berechnung2. Beispiel-TM: Inkrementieren einer Binärzahl (Forts.)

‚ Turingmaschine zum Inkrementieren einer Binärzahl:

‚ Beschreibung der Zustände:

a: Die TM läuft, ohne etwas zu verändern, nach rechts bis zumersten Leerzeichen, und dann einen Schritt nach links in denZustand b.

b: Das maximale Suffix der Form 1i wird durch 0i ersetzt.– Ist davor eine 0, so wird sie durch 1 ersetzt und M geht in

den Zustand e– Ist davor ein ✄, so geht M in Zustand c

c: Ersetzt die erste 0 durch eine 1, und geht in den Zustand d

d: Fügt eine 0 hinten an und geht in den Zustand e

e: läuft zum linken Rand und geht in den Endzustand h

✄ 1 1 1

baaaa\

bb0

b0

b0

cd1

dde0

eeeh

GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 29

Page 31: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

Turingmaschinen: 2. Beispiel als DiagrammBeispiel: Zustände der 2. TM

a: Laufe nach rechts bis zum ersten \, danneinen Schritt nach links in Zustand b.

b: Gehe nach links bis zur nächsten 0 — er-setze dabei jede 1 durch 0

‚ Ist davor 0, ersetze durch 1 und gehein Zustand e

‚ Ist davor ✄, gehe in Zustand c

c: Ersetze die erste 0 durch eine 1, und gehein den Zustand d

d: Fügt eine 0 hinten an und gehe in den Zu-stand e

e: Laufe zum linken Rand und gehe in denEndzustand h

Diagramm zur 2. TM

a b c

deh

✄ : ✄, Ñ0 : 0, Ñ1 : 1, Ñ

\ : \, Ð

1 : 0, Ð

✄ : ✄, Ñ

0 : 1, Ð 0 : 1, Ñ

0 : 0, Ñ1 : 1, Ñ

\ : 0, Ð

0 : 0, Ð1 : 1, Ð

✄ : ✄, Ó

GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 30

Page 32: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

Turingmaschinen: Konfigurationen (1/2)‚ Um die aktuelle Situation einer TM zu beschreiben

verwenden wir Konfigurationen, bestehend aus ei-nem Zustand und einer String-Zeigerbeschreibung

Definition

‚ Eine String-Zeigerbeschreibung pw, zq bestehtaus

– einem String w P Γ˚

– und einer Zeigerposition z P N0, z ď |w|

✎ Der linke Rand wird in w nicht repräsentiert!

‚ Wir vereinbaren: wr0sdef“ ✄

‚ Manchmal verwenden wir eine andere Notation undschreiben pu, σ, vq statt pw, zq, falls– w “ uσv,– |uσ| “ z

‚ σ ist dann das Zeichen, auf das der Zeiger zeigt,v ist der String rechts vom Zeiger, u ist der Stringlinks vom Zeiger (ohne ur0s “ ✄)

‚ Falls z “ 0: pǫ, ǫ, wq

Beispiel

Die String-Zeigerbeschreibung zu

✄ 1 0 0 0 0 \

bb

ist

‚ p10000\, 3q oder

‚ p10, 0, 00\q

Definition

‚ Eine Konfiguration von M ist ein

Tupel pq, pw, zqq mit

– q P Q Y tja, nein, hu(aktueller Zustand)

– w der aktuelle String

– z die Position des Zeigers derTM (linker Rand ist 0)

GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 31

Page 33: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

Turingmaschinen: Konfigurationen (2/2)Definition

‚ Sei K “ pq, pw, zqq eine Konfiguration mit wrzs “ σ und seiδpq, σq “ pq1, τ, dq mit τ P Γ, d P tÐ, Ó, Ñu

‚ Dann ist die Nachfolgekonfiguration K 1 “ pq1, pw1, z1qq von K wie

folgt definiert: (Schreibweise: K $M K 1)

– z1 “ z ` 1, falls d “Ñ,

– z1 “ z, falls d “Ó,

– z1 “ z ´ 1, falls d “Ð,

– w1 “ w, falls z “ 0

– w1 “ wrz{τ s\, falls z “ |w| und d “Ñ,

– w1 “ wrz{τ s, andernfalls

✎ Dabei bezeichnet wrz{τ s den String, der aus w entsteht, indemdas Zeichen an Position z durch τ ersetzt wird

‚ Wir schreiben K $˚

M K 1, falls es Konfigurationen K1, . . . ,Km gibt

mit K $M K1 $M ¨ ¨ ¨ $M Km $M K 1

GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 32

Page 34: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

Turingmaschinen: Illustration der Nachfolgekonfiguration (1/2)Beispiel: Schritt ohne Kopf-Bewegung

‚ δpe,✄q “ ph,✄, Óq

✄ 1 0 0 0

be

Ñ ✄ 1 0 0 0

bh

pe, p1000, 0qq Ñ ph, p1000, 0qq

Beispiel: Linksschritt

‚ δpb, 0q “ pe, 1, Ðq

✄ 1 0 0 0 0 \

bbÑ ✄ 1 0 1 0 0 \

be

pb, p10000\, 3qq Ñ pe, p10100\, 2qq

GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 33

Page 35: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

Turingmaschinen: Illustration der Nachfolgekonfiguration (2/2)Beispiel: Rechtsschritt

‚ δpc, 0q “ pd, 1, Ñq

✄ 0 0 0

bc

Ñ ✄ 1 0 0

bd

pc, p000, 1qq Ñ pd, p100, 2qq

Beispiel: Rechtsschritt mit neuem Blank

‚ δpa, 1q “ pa, 1, Ñq

✄ 1 1 1

ba

Ñ ✄ 1 1 1 \

ba

pa, p111, 3qq Ñ pa, p111\, 4qq

GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 34

Page 36: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

Turingmaschinen: Semantik (1/2)Definition

‚ Sei Σ Ď Γ ´ t✄, \u (Ein-/Ausgabe-Alphabet)

‚ Die Startkonfiguration von M bei Eingabe u P Σ˚ ist

K0puqdef“ ps, pu, 0qq

‚ pq, pw, zqq heißt Haltekonfiguration, falls

q P th, ja, neinu

‚ K0,K1, . . . ,Kt heißt endliche Berechnung von Mbei Eingabe u, falls

– K0 “ K0puq,

– Ki $M Ki`1 für alle i ă t, und

– Kt eine Haltekonfiguration ist

‚ M akzeptiert u, falls K0puq $˚

M pja, pw, zqq

‚ M lehnt u ab, falls K0puq $˚

M pnein, pw, zqq

– (für gewisse w P Σ˚, z ď |w|)

‚ Mpuqdef“ die (endliche oder unendliche) Berechnung von

M bei Eingabe u ☞ Mpuq ist nicht die Ausgabe!GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 35

Page 37: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

Turingmaschinen: Beispiel einer KonfigurationsfolgeBeispiel

✄ 1 1 1

baaaa\

bb0

b0

b0

cd1

dde0

eeeh

pa, pǫ, ǫ, 111qq $M pa, pǫ, 1, 11qq$M pa, p1, 1, 1qq$M pa, p11, 1, ǫqq$M pa, p111, \, ǫqq$M pb, p11, 1, \qq$M pb, p1, 1, 0\qq$M pb, pǫ, 1, 00\qq$M pb, pǫ, ǫ, 000\qq$M pc, pǫ, 0, 00\qq$M pd, p1, 0, 0\qq$M pd, p10, 0, \qq$M pd, p100, \, ǫqq$M pe, p10, 0, 0qq$M pe, p1, 0, 00qq$M pe, pǫ, 1, 000qq$M pe, pǫ, ǫ, 1000qq$M ph, pǫ, ǫ, 1000qq

GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 36

Page 38: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

Turingmaschinen: Semantik (2/2)Definition

‚ Eine TM M entscheidet eineSprache L, falls für jedes u PΣ˚ gilt:

– u P L ñ M akzeptiert u

– u R L ñ M lehnt u ab

‚ LpMqdef“ Menge aller von M

akzeptierten Wörter

‚ Zu beachten:

– LpMq ist immer definiert

– Aber M entscheidet LpMqnicht immer!∗ Es könnte sein, dass M für

gewisse Eingabewörter, dienicht in LpMq sind, nichtanhält

– M entscheidet LpMq ge-nau dann, wenn M für jedesEingabewort anhält

‚ Turingmaschinen können auch Funktionen berech-nen:

Definition

‚ fM puqdef“ v P Σ˚, falls

– K0puq $˚

M ph, pv, 0qq oder

– K0puq $˚

M ph, pvτw, 0qqfür ein τ P Γ ´ Σ, w P Γ˚

✎ fM puq ist nur dann definiert, wenn der Zeiger vonM im Haltezustand ganz links steht

– fM puq ist dann die maximale Folge von Zei-chen aus Σ, die direkt rechts vom Zeiger stehen

‚ Im Allgemeinen ist fM also eine partielle FunktionΣ˚ á Σ˚

Definition

‚ Eine partielle Funktion f : Σ˚ á Σ˚ heißt Tu-ring-berechenbar, falls f “ fM , für eine Turing-maschine M

GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 37

Page 39: Grundbegriffe der Theoretischen Informatik file– Teste ob LpAq X LpBq “ H GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle. Folie 2. Ein schwieriges algorithmisches

Literaturangaben

‚ Die Darstellung in diesem Kapitel richtet sich weitgehend nach

– Uwe Schöning. Theoretische Informatik - kurzgefaßt (3. Aufl.).Hochschultaschenbuch. Spektrum Akademischer Verlag, 1997

GTI / Schwentick / SoSe 16 C: 12. Verschiedene Berechnungsmodelle . ✁✄ Folie 38