27.11.2014 Aufrufe

Automaten, Formale Sprachen und Berechenbarkeit I

Automaten, Formale Sprachen und Berechenbarkeit I

Automaten, Formale Sprachen und Berechenbarkeit I

MEHR ANZEIGEN
WENIGER ANZEIGEN

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.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!