Automaten, Formale Sprachen und Berechenbarkeit I
Automaten, Formale Sprachen und Berechenbarkeit I
Automaten, Formale Sprachen und Berechenbarkeit I
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
5. ÜBERBLICK 147<br />
Beweisidee: Wir deuten hier nur kurz an, wie man eine Berechnung einer Turing-Maschine<br />
durch eine µ-rekursive Funktion ausdrückt. Es gibt eine primitiv rekursive Funktion f, so daß<br />
f(x, k) die (geeignet kodierte) Konfiguration der Turing-Maschine bei Eingabe x nach k Berechnungsschritten<br />
liefert. Sei nun g eine Funktion, so daß g(y) für eine kodierte Konfiguration<br />
y der Turing-Maschine das Ergebnis 0 liefert, wenn die Turing-Maschine in einem Endzustand<br />
ist, <strong>und</strong> 1 sonst. Dann liefert µ(gf)(x) die Anzahl der Berechnungsschritte, die die Turing-<br />
Maschine bis zur Terminierung auf Eingabe x benötigt. Dann liefert h(f(x, µ(gf)(x)) das Ergebnis<br />
der Turing-Maschine, wenn h eine Funktion ist, die aus der kodierten Endkonfiguration<br />
das eigentliche Ergebnis der Turing-Maschine berechnet.<br />
Diese Beweisidee zeigt auch, daß man auch hier wieder genau eine µ-Operation braucht, um die<br />
Berechnung einer Turing-Maschine zu simulieren. Dies ist das Analogon (bzw. die ursprüngliche<br />
Formulierung) der Kleene’schen Normalform für µ-rekursive Funktionen: Jede µ-rekursive<br />
Funktion kann mit genau einer Anwendung des µ-Operators definiert werden.<br />
5 Überblick<br />
Nachfolgend sind nochmals die verschiedenen (bzw. gleichen) Berechnungsbegriffe dargestellt,<br />
die wir in diesem Kapitel betrachtet haben. Auf der linken Seite sind die korrespondierenden<br />
Konzepte aus den <strong>Formale</strong>n <strong>Sprachen</strong> angegeben:<br />
Analogie bei<br />
<strong>Sprachen</strong><br />
Turing-<br />
Maschine<br />
Register-<br />
Maschine<br />
Rekursionen<br />
Terminierung<br />
aufzählbare<br />
<strong>Sprachen</strong><br />
partiell rekursive<br />
Funktionen<br />
Register-Maschinen-,<br />
GOTO-, WHILEberechenbare<br />
Funktionen<br />
µ-rekursive<br />
Funktionen<br />
Nichtterminierung<br />
möglich<br />
<br />
<br />
<br />
<br />
entscheidbare<br />
<strong>Sprachen</strong><br />
✎<br />
✍<br />
total rekursive Funktionen<br />
☞<br />
✌<br />
Terminierung<br />
semantisch<br />
gefordert<br />
<br />
<br />
<br />
<br />
FOR-berechenbare<br />
Funktionen<br />
primitiv rekursive<br />
Funktionen<br />
Terminierung<br />
syntaktisch<br />
erzwungen<br />
kontextsensitive<br />
<strong>Sprachen</strong><br />
<br />
kontextfreie<br />
<strong>Sprachen</strong><br />
- Die total rekursiven Funktionen lassen sich nicht<br />
syntaktisch Charakterisieren (siehe Übung 13,<br />
Aufgabe 2)!<br />
- Church’sche These: “Mehr als partiell rekursiv<br />
geht nicht!”<br />
Um etwas mehr über <strong>Berechenbarkeit</strong> zu lernen, sollten Sie mal einen Blick in das Buch von<br />
E. Smith [8] werfen. Insbesondere sind dort die hier nur angedeuteten Beweise ausgeführt.