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

Slides:



Advertisements
Ähnliche Präsentationen
Seminar über Algorithmen
Advertisements

Vorlesung Compilertechnik Sommersemester 2008
Wiederholung Was ist Informatik?
7. Automaten Ein Automat ist ein Sechstupel A= (I, O, Q, , q0, F).
Suche in Texten (Stringsuche )
Institut für Informatik Abt. Intelligente Systeme
3. Berechenbarkeit Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar? Intuitiv: Wenn es einen Algorithmus gibt, der sie berechnet! Was heißt,
Einführung in Berechenbarkeit und Formale Sprachen
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Notationen A = ist eine endliche, nichtleere menge,
Grammatiken, Definitionen
Einige entscheidbare bzw. rekursiv aufzählbare Sprachen
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Reduktionen Def: L · L (L ist reduzierbar auf.
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Universelle Turingmaschinen Eine universelle Turingmaschine.
Christian Schindelhauer
FH-Hof Grammatiken Richard Göbel. FH-Hof Begriffe Eine Grammatik definiert die Struktur (Syntax) einer Zeichenkette Eine Grammatik definiert nicht die.
Formale Sprachen – Mächtigkeit von Maschinenmodellen
Übung 6.1Turing-Maschine 1.Machen Sie sich mit der Funktionsweise des Busy Beaver-Programms vertraut Vollziehen sie die 11 Schritte der ersten Turing-Tabelle.
Algorithmus. Ein Kochrezept, zum Beispiel: Kartoffelbrei.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (12 – Kellerautomaten, PDA) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (04 – Automaten mit ε-Transitionen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (17 –Turingmaschinen) Prof. Dr. Th. Ottmann.
High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen.
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
§8 Gruppen und Körper (8.1) Definition: Eine Gruppe G ist eine Menge zusammen mit einer Verknüpfung, die jedem Paar (a,b) von Elementen aus G ein weiteres.
Berechenbarkeit. Fragestellungen Können Computer alles ausrechnen? Kann man alles ausrechnen? Was kann man berechnen? Was nicht? Was heißt Berechenbarkeit?
Formale Sprachen Grundbegriffe für formale Sprachen
Was ist ein Computer? Was ist ein Programm? Können Computer Alles?
1. Mengenlehre Grundbegriffe.
Endliche Automaten Informatik JgSt. 13, Abitur 2009
Turingmaschine als Akzeptor
1. Mengenlehre Grundbegriffe.
Formale Sprachen Grammatiken und die Chomsky-Hierarchie
Grundlagen der Informatik - Prof. Slany 1 Grundlagen der Informatik Prof. Wolfgang SLANY.
Formale Sprachen Reguläre Sprachen Rudolf FREUND, Marian KOGLER.
POCKET TEACHER Mathematik Algebra
Dieser nicht Fehler finden Algorithmus enthält einfach einen gravierenden welcher zu ist.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Informatik III Christian Schindelhauer Wintersemester 2006/07
Arne Vater Wintersemester 2006/ Vorlesung
Christian Schindelhauer Wintersemester 2006/07 3. Vorlesung
Informatik III Christian Schindelhauer Wintersemester 2006/07
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Arne Vater Wintersemester 2006/ Vorlesung
Christian Schindelhauer Wintersemester 2006/07 2. Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Arne Vater Wintersemester 2006/ Vorlesung
Turing-Maschine als Akzeptor.
Wintersemester 2005 / Vorlesung
7. Formale Sprachen und Grammatiken
Inhalt Einordnung und Funktion der lexikalische Analyse Grundlagen
2 Grundlagen In diesem Abschnitt werden die Grundbegriffe und Methoden der Theorie der formalen Sprachen und der Automaten wiederholt, soweit diese ben.
Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar?
Automatentheorie Jendrik und Jeyhannes. Allgemeines Modelle mit Zuständen, die Eingaben annehmen und Ausgaben erstellen Endliche Automaten Auch Zustandsmaschine.
1 DigInf 05/06 Beispiele für berechenbare Funktionen Diagonalisierung Alles gemäß handschriftlicher Folien.
§8 Gruppen und Körper (8.1) Definition: Eine Gruppe G ist eine Menge zusammen mit einer Verknüpfung, die jedem Paar (a,b) von Elementen aus G ein weiteres.
Gliederung 0. Motivation und Einordnung 1. Endliche Automaten
Lösung der Aufgabe 1: Die Erweiterung des Diagramms auf „Winged Egde“ besteht in zwei Beziehungen, nr-Kante und vl-Kante, zwischen der Klasse Kante. Jede.
Algorithmen.
Technische Informatik II
Logik in der Informatik V
Kapitel IV. Matrizen Inhalt:
1. Die rekursive Datenstruktur Liste 1.3 Rekursive Funktionen
REKURSION + ITERATION.
Komplexität und Berechenbarkeit
Zusammengesetzte Ereignisse
 Präsentation transkript:

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

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

Definitionen Ein paar Grundbegriffe: Funktion Algorithmus Berechenbarkeit Entscheidbarkeit

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

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

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.

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

Mathematik entscheidbar? David Hilbert (dt. Mathematiker, ): “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

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

Alan Mathison Turing * 23. Juni London † 07. Juni 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

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

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

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

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

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.

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

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.

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

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.

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”

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 Lese- und Schreibkopf

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.

Was kann eine TM? q0q0q0q0q0q1q1q1q1q2q3q0q0q0q0q0q1q1q1q1q2q 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

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

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

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!

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

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

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 · 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.

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“).

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

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.

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 * * * *

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? ● ?

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

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

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

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

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

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)

Church-Turing-These Turing-Berechenbarkeit = intuitive Berechenbarkeit

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