610 likes | 1.94k Views
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
E N D
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} δ:
Ü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 • 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 nichtanbncn- 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 InformatikBayrischer Schulbuch-Verlag München