Turing-Maschine

Download Report

Transcript Turing-Maschine

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 TuringMaschine
• 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 TuringMaschine 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}
δ:
n
n
ab
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
n
n
ab
M = (X, Z, Γ, δ, q0, $, ZE)
mit
X = Γ = {a,b, $}
Z = {q0, q1,q2,q3,q4,q5}
ZE = {q5}
δ:
n
n
n
abc
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
n
n
n
abc
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
Automaten
Mealy
Akzeptor
Kellerautomat TM
Unendliches
Eingabeband
Ja
Ja
Ja
Ja
Verarbeitungs
einheit
Ja
Ja
Ja
Ja
Unendliches
Ausgabeband
Ja
Nein
Nein
Ist auch
Eingabeband
Zustände
Ja
Ja
Ja
Ja
Eingabealpha
bet
Ja
Ja
Ja
Ja
Ausgabealpha
bet
Ja
Nein
Nein
Nein
Ja/Ja
Ja/Ja
Ja/Ja
Anfangszusta- Ja/Nein
nd/
Endzustand
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/wpcontent/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/Ala
n_Turing_photo.jpg
• http://images.zeit.de/wissen/2012-07/s34-turingmaschine/s34-turing-maschine-540x304.jpg
• Lehrbuch Technische und theoretische Informatik
Bayrischer Schulbuch-Verlag München