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) mitX = Γ = {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) mitX = Γ = {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üfungsautomatM = (X, Z, Γ, δ, q0, $, ZE) mitX = Γ = {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üfungsautomatM = (X, Z, Γ, δ, q0, $, ZE) mitX = Γ = {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üfungsautomatM = (X, Z, Γ, δ, q0, $, ZE) mitX = Γ = {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) mitX = Γ = {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) mitX = Γ = {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 PalindromeM = (X, Z, Γ, δ, q0, $, ZE) mitX = Γ = {a,b,$}Z = {q0, q1,q2,q3,q4,q5,q6,q7,q8}ZE = {q4,q8}
Vergleich der Automaten
Automaten Mealy Akzeptor Kellerautomat
TM
Unendliches Eingabeband
Ja Ja Ja Ja
Verarbeitungseinheit
Ja Ja Ja Ja
Unendliches Ausgabeband
Ja Nein Nein Ist auch Eingabeband
Zustände Ja Ja Ja Ja
Eingabealphabet
Ja Ja Ja Ja
Ausgabealphabet
Ja Nein Nein Nein
Anfangszusta-nd/ Endzustand
Ja/Nein Ja/Ja Ja/Ja 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_a
n_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 InformatikBayrischer Schulbuch-Verlag München