Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Turingmaschinen Referat am 09.11.2009 Jakob Haller Bernadette Längle Sebastian Steuer Folien basieren auf Referat von David Lanius, 14.11.2007.

Ähnliche Präsentationen


Präsentation zum Thema: "Turingmaschinen Referat am 09.11.2009 Jakob Haller Bernadette Längle Sebastian Steuer Folien basieren auf Referat von David Lanius, 14.11.2007."—  Präsentation transkript:

1 Turingmaschinen Referat am 09.11.2009 Jakob Haller Bernadette Längle Sebastian Steuer Folien basieren auf Referat von David Lanius, 14.11.2007

2 Gliederung Einführende Definitionen Turing und Funktion der Turingmaschine Berechenbare und nicht-berechenbare Funktionen Erweiterungen der TM und andere Ansätze Church-Turing-These

3 Definitionen Ein paar Grundbegriffe: Funktion Algorithmus Berechenbarkeit Entscheidbarkeit

4 Funktion Abbildung von Element(en) einer Menge (Argument, x) auf ein Element einer anderen Menge (Funktionswert, y) f: ℕ n  ℕ Bei uns: Eingabe  Ausgabe Eingabe x 1 Eingabe x 2 Eingabe x n. f Ausgabe y

5 Algorithmus Bearbeitungsvorschrift zur Berechnung der Funktionswerte bei einer Eingabe Deterministisch Durch endlichen Text darstellbar

6 Berechenbarkeit Eine Funktion ist berechenbar wenn es eine Vorschrift (Algorithmus) gibt, der nach endlich vielen Schritten für jede Eingabe zu einer Ausgabe kommt. Beispiel:... ist eine berechenbare Funktion.

7 Entscheidbarkeit Eine Menge ist entscheidbar, wenn die charakteristische Funktion für jedes Element ihrer Obermenge berechenbar ist. Die charakteristische Funktion gibt an (entscheidet), ob ihr Argument Element der Menge ist oder nicht. Beispiel: Die Menge der Primzahlen als Teilmenge der natürlichen Zahlen ist eine entscheidbare Menge. Die charakteristische Funktion ist das f(n) der vorherigen Folie

8 Mathematik entscheidbar? David Hilbert (dt. Mathematiker, 1862-1943): “Gibt es ein Verfahren [= Algorithmus], das für jede ausreichend formalisierte Aussage der Mathematik entscheidet, ob diese wahr oder falsch ist?” David Hilbert: Mathematische Probleme. In: Nachrichten der Königlichen Gesellschaft der Wissenschaften zu Göttingen, mathematisch-physikalische Klasse. Vandenhoeck & Ruprecht 1900,3, S. 253-297

9 Problem: Formalisierung Algorithmus = “Bearbeitungsvorschrift” ? nur “intuitiver” Berechenbarkeitsbegriff  Formalisierung nötig

10 Alan Mathison Turing * 23. Juni 1912 - London † 07. Juni 1954 - Wilmslow Britischer Logiker, Mathematiker und Kryptoanalytiker. Erfinder der “Turingmaschine” Turing, A., On Computable Numbers, With an Application to the Entscheidungsproblem, Proceedings of the London Mathematical Society, Series 2, Volume 42, 1936

11 Was ist eine Turingmaschine? Mathematisches Modell einer Rechenanlage zur mechanischen Lösung logischer und mathematischer Probleme

12 Was ist eine Turingmaschine? unendlich langes Speicherband Lese- und Schreibkopf

13 Was ist eine Turingmaschine? Band: besteht aus unbegrenzt vielen Feldern auf denen jeweils genau ein Zeichen steht. Kopf: Bewegt sich feldweise auf dem Speicherband, liest und schreibt Zeichen nach festgelegten Regeln

14 Steuerung der Turingmaschine Eine TM befindet sich stets in einem Zustand aus einer endlichen Menge möglicher Zustände q 0,…,q N Der Zustand q 0 wird als Startzustand bezeichnet, q N als Endzustand

15 Steuerung der Turingmaschine Das Verhalten einer TM wird durch ein Programm festgelegt, das aus einer Menge von Regeln besteht. Eine Regel ist eine Überführung von aktuellem Zustand und gelesenem Symbol auf einen neuen Zustand, das zu schreibende Symbol und eine Bewegung auf dem Band.

16 Steuerung der Turingmaschine Formalisiert dargestellt ist eine Regel also: Ausgangszustand, Eingabesymbol => Nachfolgezustand, neues Symbol, Bewegungsrichtung (q i, x j )  (q k, x l, o m ) q i,q k : Elemente der Zustandsmenge x i,x l : Elemente des Eingabealphabets o m : links, rechts oder unverändert

17 Steuerung der Turingmaschine Beispiel: Die TM befindet sich im Zustand q und liest ein Zeichen x. Die TM wechselt in Nachfolgezustand q' und schreibt ein Zeichen x' Die TM bewegt sich nach links/rechts/bleibt stehen.

18 Steuerung der Turingmaschine Die TM hält an wenn sie den Endzustand erreicht hat oder wenn es keine Regel für den aktuellen Zustand und das gelesene Zeichen gibt

19 Turing - Programm Die folgende Tabelle zeigt ein Turing-Programm mit sechs Zeilen für eine Maschine mit vier möglichen Zuständen q 0, …, q 3.

20 Was kann eine TM? Beispiel: Addition Jede Zahl n > 0 wird durch eine Folge von n Einsen dargestellt (unäre Notation) zum Beispiel die Zahl “4” durch “1111” und die Zahl “3” durch “111”

21 Was kann eine TM? Addition von 4 und 3: Die Zahlen stehen in unärer Notation durch “0” getrennt auf dem Band. Der Lese- und Schreibkopf steht auf dem ersten Symbol des ersten Wortes (der Zahl 4). Die TM ist im Startzustand q 0 001110111100 Lese- und Schreibkopf

22 Was kann eine TM? Der Grundgedanke des Programms ist: ➔ Laufe nach rechts, bis zum ersten Mal eine 0 auftritt. ➔ Ersetze die 0 durch eine 1. ➔ Laufe weiter nach rechts bis wieder eine 0 auftritt. ➔ Gehe einen Schritt zurück und ersetze die letzte 1 durch eine 0.

23 Was kann eine TM? q0q0q0q0q0q1q1q1q1q2q3q0q0q0q0q0q1q1q1q1q2q3 00011110111000 00011111111000 00011111110000 ZustandSpeicherinhalt Durch die Ausführung des gegebenen Turing-Programms erhalten wir eine Lösung: L0q3q3  1q2q2 00q2q2  0q2q2 R1q1q1  1q1q1 L0q2q2  0q1q1 R1q0q0  1q0q0 R1q1q1  0q0q0 Bewe- gungs- richtung Schrei- ben des Eingabe symbols Nach- folge- zustand Lesen des Band symbols Aus- gangs- zustand

24 Was kann eine TM? Addition von 4 und 3: 001110111100 001111111100 001111111100 R1q1q1  1q1q1 L0q2q2  0q1q1 R1q0q0  1q0q0 R1q1q1  0q0q0 Startzustand q 0

25 Was kann eine TM? Turingmaschine, Hauptseminar: Logik, Gehirn, Information bei Prof. Dr. Lauth & Dr. Dr. Brückner, Referat von David Lanius am 14.11.2007 Addition von 4 und 3: 001111111100 001111111100 000111111100 L0q3q3  1q2q2 00q2q2  0q2q2 R1q1q1  1q1q1 L0q2q2  0q1q1 Lese- und Schreibkopf im Endzustand q 3

26 Turingmaschinen können noch viel mehr Zum Beispiel andere Rechenoperationen, wie Subtraktion, Multiplikation und Exponentation. These: Turingmaschinen können alle Arten von logischen und mathematischen Operationen ausführen, die sich durch ein algorithmisches Verfahren beschreiben lassen. Auch moderne Computer leisten prinzipiell höchstens so viel wie eine Turingmaschine!

27 Nicht berechenbare Funktionen Bisher: was können Turingmaschinen? Jetzt: was können Turingmaschinen nicht? Wir wollen nun zeigen, dass es nicht berechenbare Funktionen geben muss. Zwei Konzepte sind dafür noch einzuführen: Terminierung Gödelnummern

28 Terminierung Definition: ein Algorithmus terminiert, wenn er nach endlich vielen Arbeitsschritten zu einem Ende kommt

29 Terminierung (Busy Beaver) Eine folgendermaßen definierte TM: Für Eingabealphabet {0,1} und gegebene Anzahl von Zuständen Maximale Anzahl von geschriebenen 1 auf leerem Band Terminierend Bereits mit nur 6 Zustände existiert ein Busy Beaver, der erst nach 4,64 · 10 1439 geschrieben 1 anhält. Es ist nicht entscheidbar, ob eine bestimmte TM mit n Zuständen tatsächlich maximal viele, endliche Schritte ausführt und dann hält.

30 Gödelisierung Kurt Friedrich Gödel (*1906; † 1978) Logiker und Mathematiker Ziel der Gödelisierung: Jeder Turingmaschine umkehrbar eindeutig eine natürliche Zahl als Codenummer zuordnen („Gödelnummer“).

31 Gödelisierung Jedes Turing-Programm besteht aus einer endlichen Anzahl von Regeln. Jede Regel hat die Form: (q i, x j )  (q k, x l, o m ) Wir definieren die Gödelnummer dieser Zeile durch die Vorschrift: G s = 2 i * 3 j * 5 k * 7 l * 11 m

32 Gödelisierung Gödelnummer der gesamten TM: Primzahlen als Basiszahlen Gödelnummern der einzelnen Zeilen als Exponenten G M = 2 G 1 * 3 G 2 * 5 G 3 *... Die Zuordnung von Turingmaschine und Gödelnummer ist umkehrbar eindeutig (bijektiv). => alle möglichen TM sind somit durchnumeriert.

33 Gödelisierung Als Beispiel betrachten wir wieder unser Additionsprogramm: L0q3q3  1q2q2 6 00q2q2  0q2q2 5 R1q1q1  1q1q1 4 L0q2q2  0q1q1 3 R1q0q0  1q0q0 2 R1q1q1  0q0q0 1 G s Zeilencode G s Turing-ProgrammZeile Daraus ergibt sich für unsere Turingmaschine insgesamt die Gödelnummer G M = 2 35 * 3 21 * 5 550 * 7 210 * 11 12100 * 13 16500

34 Selbstanwendungsproblem ● Wir betrachten eine Turingmaschine M i, die Gödelnummern G anderer Turingmaschinen M G als Eingabe erhält ● Wenn M G terminieren würde, terminiert M i nicht und umgekehrt. ● Was passiert, wenn M i mit der Eingabe i gestartet wird? ● ?

35 Halteproblem Aus dem Selbstanwendungsproblem folgt: Die Menge der terminierenden Turingmaschinen ist nicht entscheidbar.

36 Weitere klassische unentscheidbare Probleme ● Äquivalenzproblem ● Postsches Korrespondenzproblem ● Lösbarkeit diophantischer Gleichungen ● Entscheidungsproblem für die Prädikatenlogik

37 Erweiterungen der TM Erweiterte Turingmaschine (mehr Bänder, mehr Leseköpfe) Nichtdeterministische TM Langtons Ameise

38 Andere Ansätze Lambda-Kalkül µ-Rekursion Programmiersprachen (GOTO- und WHILE-Berechenbarkeit)

39 Vergleich zur Turing- Berechenbarkeit ● Alle genannten Erweiterungen und alternative Ansätze sind äquivalent zur Turing-Berechenbarkeit ● Es gibt natürlich weniger mächtige Modelle (Endliche Automaten, primitive Rekursion, LOOP- Berechenbarkeit) ● Es gibt aber bisher keinen Hinweis auf ein mächtigeres Berechenbarkeitsmodell

40 Turing-Berechenbarkeit als Obergrenze der Berechenbarkeit? ● Universelle Turingmaschine ● Unvollständigkeitssatz von Gödel ● “Jedes hinreichend mächtige formale System ist entweder widersprüchlich oder unvollständig.” ● => Mathematik nicht entscheidbar. (vgl. Hilbert)

41 Church-Turing-These Turing-Berechenbarkeit = intuitive Berechenbarkeit

42 “Entweder ist die Mathematik zu groß für den menschlichen Verstand oder der menschliche Verstand ist mehr als eine Maschine.” - Kurt Gödel


Herunterladen ppt "Turingmaschinen Referat am 09.11.2009 Jakob Haller Bernadette Längle Sebastian Steuer Folien basieren auf Referat von David Lanius, 14.11.2007."

Ähnliche Präsentationen


Google-Anzeigen