Top Banner
Turing- Maschine als Akzeptor
30

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

Apr 06, 2015

Download

Documents

Alrich Wessel
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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