Turing-Maschine als Akzeptor
Gliederung 1. Alan Turing 2. Nachteil Keller-Automat 3. Turing Maschine 4. Aufbau Turing-Maschine 5. Arbeitsweise Turing-Maschine 6. Wann akzeptiert Turing-Maschine Eingaben? 7. Definition 8. Beispiel 9. Aufgaben 10. Vergleich zu anderen Automaten 11. Quellen
Alan Turing * 23. Juni 1912 in London † 7. Juni 1954 in Wilmslow, Cheshire britischer Logiker, Mathematiker, Kryptoanalytiker und Informatiker einer der einflussreichsten Theoretiker der frühen Computerentwicklung und Informatik erfand die Turing-Maschine -> Nachweis der künstliches Intelligenz
Nachteil Kellerautomat Kellerautomat entscheidenden Nachteil -> erkennt nicht Sprache L = {anbncn | n > 0} nach Auskellern -> keine Information über Anzahl der Zeichen
Turing-Maschine Alan Turing (1912–1954) -> entwickelte abstrakte Maschine nicht Nachteil Kellerautomaten kann sich beliebige Eingaben merken
Aufbau Turing-Maschine ein unendlich langes Eingabeband mit Zellen für jedes Zeichen, eine endliche Menge von Zuständen Lese-Schreib-Kopf auf dem Band
Arbeitsweise Turing-Maschine Lesen des Eingabezeichens Schreiboperation auf das Band -> Bewegung Lese-Schreibkopfes (links/rechts/keine) -> Zustandsübergang in Abhängigkeit vom aktuellen Zustand und dem Eingabezeichen ggf. Wiederholung der Schritte 1 und 2 Turing-Maschine können sowohl deterministisch wie auch nichtdeterministisch arbeiten
Wann akzeptiert Turing-Maschine Eingabe? Turing-Maschine akzeptiert Eingabe, wenn sie im Endzustand stoppt. Aber auch möglich, dass die Maschine nicht stoppt. -> in diesem Fall kann nicht gesagt werden, ob das Wort zur Sprache gehört oder nicht. 1. Leistungsgrenze von Computern
Definition Eine TM w = (X, Z, Γ, δ, z0, $, E) wird durch folgende Angaben definiert: X – Eingabealphabet Z – endliche Zustandsmenge Γ – Bandalphabet δ – partielle Überführungsfunktion z0 – Anfangszustand $ – Bandvorbelegungszeichen ZE – Menge der Endzustände
Bsp.: Wortüberprüfer Implementieren sie eine TM in AutoEdit, welche überprüft, ob das Eingabewort mit 1 beginnt oder nicht! Es sollen nach Möglichkeit maximal 2 Zustände hierfür notwendig sein! X = {0,1,$}
Lösung Wortüberprüfer M = (X, Z, Γ, δ, q0, $, ZE) mit X = Γ = {0, 1, $} Z = {q0, q1} ZE = {q1} δ:
Aufgaben
Überprüfungsautomat Implementieren sie einen Automaten in AutoEdit, welcher überprüft, ob das Eingabewort mit 2 beginnt und ob dann sich 2 und 3 abwechseln! Es sollen nach Möglichkeit maximal 3 Zustände dafür verwendet werden! X = {2,3,$}
Lösung Überprüfungsautomat M = (X, Z, Γ, δ, q0, $, ZE) mit X = Γ = {2,3, $} Z = {q0, q1,q2} ZE = {q2} δ:
Überprüfungsautomat Implementieren sie einen Automaten in AutoEdit, welcher überprüft, ob das Eingabewort mindestens einmal a und einmal b enthält! Es sollen nach Möglichkeit maximal 5 Zustände dafür verwendet werden! X = {a,b,$} Beispielwort: abaaa, baab, ab,…..
Lösung Überprüfungsautomat M = (X, Z, Γ, δ, q0, $, ZE) mit X = Γ = {2,3, $} Z = {q0, q1,q2,q3,q4} ZE = {q4} δ:
Überprüfungsautomat Implementieren sie einen Automaten in AutoEdit, welcher überprüft, ob in dem Eingabewort der Anfangsbuchstabe mindestens 2 mal vor kommt! Es sollen nach Möglichkeit maximal 6 Zustände dafür verwendet werden! X = {a,b,c,$} Beispielwort: abbbccbaabb, abca, baab, cc,…
Lösung Überprüfungsautomat M = (X, Z, Γ, δ, q0, $, ZE) mit X = Γ = {2,3, $} Z = {q0, q1,q2,q3,q4,q5} ZE = {q5} δ:
Überprüfungsautomat Implementieren sie einen Automaten in AutoEdit, welcher überprüft, ob das Eingabewort mit ba beginnt! Es sollen nach Möglichkeit maximal 3 Zustände dafür verwendet werden! X = {a,b,$}
Lösung Überprüfungsautomat M = (X, Z, Γ, δ, q0, $, ZE) mit X = Γ = {a,b, $} Z = {q0, q1,q2,q3} ZE = {q3} δ:
anbn Turing-Maschine Implementieren sie einen Automaten in AutoEdit, welcher überprüft, ob das Eingabewort dem folgenden Schema entspricht: anbn Es sollen nach Möglichkeit maximal 6 Zustände dafür verwendet werden! X = {a,b,$}
Lösung Turing-Maschine anbn M = (X, Z, Γ, δ, q0, $, ZE) mit X = Γ = {a,b, $} Z = {q0, q1,q2,q3,q4,q5} ZE = {q5} δ:
anbncn Turing-Maschine Implementieren sie einen Automaten in AutoEdit, welcher überprüft, ob das Eingabewort dem folgenden Schema entspricht: anbncn Es sollen nach Möglichkeit maximal 8 Zustände dafür verwendet werden! X = {a,b,%,$}
Lösung Turing-Maschine anbncn M = (X, Z, Γ, δ, q0, $, ZE) mit X = Γ = {a,b,c,%,$} Z = {q0, q1,q2,q3,q4,q5,q6,q7} ZE = {q7} δ:
Palindrome Implementieren sie einen Automaten in AutoEdit, welcher überprüft, ob das Eingabewort ein Palindrome ist oder nicht! Es sollen nach Möglichkeit maximal 9 Zustände dafür verwendet werden! X = {a,b,$}
Lösung Palindrome M = (X, Z, Γ, δ, q0, $, ZE) mit X = Γ = {a,b,$} Z = {q0, q1,q2,q3,q4,q5,q6,q7,q8} ZE = {q4,q8}
Vergleich der Automaten Mealy Akzeptor Kellerautomat TM Unendliches Eingabeband Ja Verarbeitungseinheit Unendliches Ausgabeband Nein Ist auch Eingabeband Zustände Eingabealphabet Ausgabealphabet Anfangszusta-nd/ Endzustand Ja/Nein Ja/Ja
Vergleich Akzeptor kann sich nichts merken, außer Zustand Kellerautomat hat Kellerspeicher -> Fortschritt -> aber mangelbehaftet -> löscht beim lesen Kellerautomat beherrscht anbn Turing-Maschine ist in der Lage alle diese Mängel zu beseitigen -> ist in der Lage auf dem Eingabeband Veränderungen vor zunehmen -> bei Lesevorgängen wird der Gelesenes nicht gelöscht
Vergleich Akzeptor: - akzeptieren, ob eine Bedingung erfüllt worden ist Kellerautomat: - kann auch anbn - aber nicht anbncn - Kellerautomat ist durch Kellerspeicher begrenzt Turing-Maschine: - ist in der Lage dies zu erfüllen - könnte auch Berechnungen durchführen Alle akzeptieren Wörter über das Eingabealphabet X
Quellen http://www.worldofcomputing.net/wp-content/uploads/2013/01/turingMachine.gif http://www.tinohempel.de/info/info/ti/tm.htm http://de.wikipedia.org/wiki/Alan_Turing#Arbeit_an_fr.C3.BChen_Computern_.E2.80.93_Der_Turing-Test http://upload.wikimedia.org/wikipedia/en/c/c8/Alan_Turing_photo.jpg http://images.zeit.de/wissen/2012-07/s34-turing-maschine/s34-turing-maschine-540x304.jpg Lehrbuch Technische und theoretische Informatik Bayrischer Schulbuch-Verlag München