of 30 /30
Turing- Maschine als Akzeptor

Turing-Maschine als Akzeptor. Gliederung 1. Alan Turing 2. Nachteil Keller-Automat 3. Turing Maschine 4. Aufbau Turing-Maschine 5. Arbeitsweise Turing-Maschine

Embed Size (px)

Citation preview

Page 1: Turing-Maschine als Akzeptor. Gliederung 1. Alan Turing 2. Nachteil Keller-Automat 3. Turing Maschine 4. Aufbau Turing-Maschine 5. Arbeitsweise Turing-Maschine

Turing-Maschine

als Akzeptor

Page 2: Turing-Maschine als Akzeptor. Gliederung 1. Alan Turing 2. Nachteil Keller-Automat 3. Turing Maschine 4. Aufbau Turing-Maschine 5. Arbeitsweise Turing-Maschine

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

Page 3: Turing-Maschine als Akzeptor. Gliederung 1. Alan Turing 2. Nachteil Keller-Automat 3. Turing Maschine 4. Aufbau Turing-Maschine 5. Arbeitsweise Turing-Maschine

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

Page 4: Turing-Maschine als Akzeptor. Gliederung 1. Alan Turing 2. Nachteil Keller-Automat 3. Turing Maschine 4. Aufbau Turing-Maschine 5. Arbeitsweise Turing-Maschine

Nachteil Kellerautomat

• Kellerautomat entscheidenden Nachteil-> erkennt nicht Sprache L = {anbncn | n > 0}

• nach Auskellern-> keine Information über Anzahl der Zeichen

Page 5: Turing-Maschine als Akzeptor. Gliederung 1. Alan Turing 2. Nachteil Keller-Automat 3. Turing Maschine 4. Aufbau Turing-Maschine 5. Arbeitsweise Turing-Maschine

Turing-Maschine

• Alan Turing (1912–1954) -> entwickelte abstrakte Maschine

• nicht Nachteil Kellerautomaten • kann sich beliebige Eingaben merken

Page 6: Turing-Maschine als Akzeptor. Gliederung 1. Alan Turing 2. Nachteil Keller-Automat 3. Turing Maschine 4. Aufbau Turing-Maschine 5. Arbeitsweise Turing-Maschine

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

Page 7: Turing-Maschine als Akzeptor. Gliederung 1. Alan Turing 2. Nachteil Keller-Automat 3. Turing Maschine 4. Aufbau Turing-Maschine 5. Arbeitsweise Turing-Maschine

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

Page 8: Turing-Maschine als Akzeptor. Gliederung 1. Alan Turing 2. Nachteil Keller-Automat 3. Turing Maschine 4. Aufbau Turing-Maschine 5. Arbeitsweise Turing-Maschine

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

Page 9: Turing-Maschine als Akzeptor. Gliederung 1. Alan Turing 2. Nachteil Keller-Automat 3. Turing Maschine 4. Aufbau Turing-Maschine 5. Arbeitsweise Turing-Maschine

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

Page 10: Turing-Maschine als Akzeptor. Gliederung 1. Alan Turing 2. Nachteil Keller-Automat 3. Turing Maschine 4. Aufbau Turing-Maschine 5. Arbeitsweise Turing-Maschine

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,$}

Page 11: Turing-Maschine als Akzeptor. Gliederung 1. Alan Turing 2. Nachteil Keller-Automat 3. Turing Maschine 4. Aufbau Turing-Maschine 5. Arbeitsweise Turing-Maschine

Lösung Wortüberprüfer

M = (X, Z, Γ, δ, q0, $, ZE) mitX = Γ = {0, 1, $}Z = {q0, q1}ZE = {q1}δ:

Page 12: Turing-Maschine als Akzeptor. Gliederung 1. Alan Turing 2. Nachteil Keller-Automat 3. Turing Maschine 4. Aufbau Turing-Maschine 5. Arbeitsweise Turing-Maschine

Aufgaben

Page 13: Turing-Maschine als Akzeptor. Gliederung 1. Alan Turing 2. Nachteil Keller-Automat 3. Turing Maschine 4. Aufbau Turing-Maschine 5. Arbeitsweise Turing-Maschine

Ü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,$}

Page 14: Turing-Maschine als Akzeptor. Gliederung 1. Alan Turing 2. Nachteil Keller-Automat 3. Turing Maschine 4. Aufbau Turing-Maschine 5. Arbeitsweise Turing-Maschine

Lösung Überprüfungsautomat

M = (X, Z, Γ, δ, q0, $, ZE) mitX = Γ = {2,3, $}Z = {q0, q1,q2}ZE = {q2}δ:

Page 15: Turing-Maschine als Akzeptor. Gliederung 1. Alan Turing 2. Nachteil Keller-Automat 3. Turing Maschine 4. Aufbau Turing-Maschine 5. Arbeitsweise Turing-Maschine

Ü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,…..

Page 16: Turing-Maschine als Akzeptor. Gliederung 1. Alan Turing 2. Nachteil Keller-Automat 3. Turing Maschine 4. Aufbau Turing-Maschine 5. Arbeitsweise Turing-Maschine

Lösung ÜberprüfungsautomatM = (X, Z, Γ, δ, q0, $, ZE) mitX = Γ = {2,3, $}Z = {q0, q1,q2,q3,q4}ZE = {q4}δ:

Page 17: Turing-Maschine als Akzeptor. Gliederung 1. Alan Turing 2. Nachteil Keller-Automat 3. Turing Maschine 4. Aufbau Turing-Maschine 5. Arbeitsweise Turing-Maschine

Ü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,…

Page 18: Turing-Maschine als Akzeptor. Gliederung 1. Alan Turing 2. Nachteil Keller-Automat 3. Turing Maschine 4. Aufbau Turing-Maschine 5. Arbeitsweise Turing-Maschine

Lösung ÜberprüfungsautomatM = (X, Z, Γ, δ, q0, $, ZE) mitX = Γ = {2,3, $}Z = {q0, q1,q2,q3,q4,q5}ZE = {q5}δ:

Page 19: Turing-Maschine als Akzeptor. Gliederung 1. Alan Turing 2. Nachteil Keller-Automat 3. Turing Maschine 4. Aufbau Turing-Maschine 5. Arbeitsweise Turing-Maschine

Ü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,$}

Page 20: Turing-Maschine als Akzeptor. Gliederung 1. Alan Turing 2. Nachteil Keller-Automat 3. Turing Maschine 4. Aufbau Turing-Maschine 5. Arbeitsweise Turing-Maschine

Lösung ÜberprüfungsautomatM = (X, Z, Γ, δ, q0, $, ZE) mitX = Γ = {a,b, $}Z = {q0, q1,q2,q3}ZE = {q3}δ:

Page 21: Turing-Maschine als Akzeptor. Gliederung 1. Alan Turing 2. Nachteil Keller-Automat 3. Turing Maschine 4. Aufbau Turing-Maschine 5. Arbeitsweise Turing-Maschine

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,$}

Page 22: Turing-Maschine als Akzeptor. Gliederung 1. Alan Turing 2. Nachteil Keller-Automat 3. Turing Maschine 4. Aufbau Turing-Maschine 5. Arbeitsweise Turing-Maschine

Lösung Turing-Maschine anbn

M = (X, Z, Γ, δ, q0, $, ZE) mitX = Γ = {a,b, $}Z = {q0, q1,q2,q3,q4,q5}ZE = {q5}δ:

Page 23: Turing-Maschine als Akzeptor. Gliederung 1. Alan Turing 2. Nachteil Keller-Automat 3. Turing Maschine 4. Aufbau Turing-Maschine 5. Arbeitsweise Turing-Maschine

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,%,$}

Page 24: Turing-Maschine als Akzeptor. Gliederung 1. Alan Turing 2. Nachteil Keller-Automat 3. Turing Maschine 4. Aufbau Turing-Maschine 5. Arbeitsweise Turing-Maschine

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}δ:

Page 25: Turing-Maschine als Akzeptor. Gliederung 1. Alan Turing 2. Nachteil Keller-Automat 3. Turing Maschine 4. Aufbau Turing-Maschine 5. Arbeitsweise Turing-Maschine

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,$}

Page 26: Turing-Maschine als Akzeptor. Gliederung 1. Alan Turing 2. Nachteil Keller-Automat 3. Turing Maschine 4. Aufbau Turing-Maschine 5. Arbeitsweise Turing-Maschine

Lösung PalindromeM = (X, Z, Γ, δ, q0, $, ZE) mitX = Γ = {a,b,$}Z = {q0, q1,q2,q3,q4,q5,q6,q7,q8}ZE = {q4,q8}

Page 27: Turing-Maschine als Akzeptor. Gliederung 1. Alan Turing 2. Nachteil Keller-Automat 3. Turing Maschine 4. Aufbau Turing-Maschine 5. Arbeitsweise Turing-Maschine

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

Page 28: Turing-Maschine als Akzeptor. Gliederung 1. Alan Turing 2. Nachteil Keller-Automat 3. Turing Maschine 4. Aufbau Turing-Maschine 5. Arbeitsweise Turing-Maschine

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

Page 29: Turing-Maschine als Akzeptor. Gliederung 1. Alan Turing 2. Nachteil Keller-Automat 3. Turing Maschine 4. Aufbau Turing-Maschine 5. Arbeitsweise Turing-Maschine

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

Page 30: Turing-Maschine als Akzeptor. Gliederung 1. Alan Turing 2. Nachteil Keller-Automat 3. Turing Maschine 4. Aufbau Turing-Maschine 5. Arbeitsweise Turing-Maschine

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