Informatik III

45
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester 2006/07 9. Vorlesung 22.11.2006 [email protected]

description

Informatik III. Christian Schindelhauer Wintersemester 2006/07 9. Vorlesung 22.11.2006. Turing-maschinen. Turingmaschinen. DFA mit unbeschränktem Band Eingabe steht zu Beginn am Anfang des Bands Auf dem Rest des Bandes steht _ (Blank) - PowerPoint PPT Presentation

Transcript of Informatik III

Page 1: Informatik III

1

Albert-Ludwigs-Universität FreiburgRechnernetze und Telematik

Prof. Dr. Christian Schindelhauer

Informatik III

Christian Schindelhauer

Wintersemester 2006/07

9. Vorlesung

[email protected]

Page 2: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 2

Turing-maschinen

Page 3: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 3

Turingmaschinen

DFA mit – unbeschränktem Band

Eingabe steht zu Beginn am Anfang des BandsAuf dem Rest des Bandes steht _ (Blank)Position auf dem Band wird durch Lesekopf beschrieben

Page 4: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 4

Turingmaschinen

Page 5: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 5

Beispiel einer Turingmaschine

Teste, ob ein Wort in der folgenden Sprache liegt:– L = {w#w | w {0, 1} }

Vorgehensweise:– Von links nach rechts über das Wort laufen– Erstes Zeichen links merken und markieren– Erstes Zeichen rechts von # vergleichen und markieren– Für alle Zeichen wiederholen bis erreicht– Links dürfen dann nur noch Blanks folgen– Falls Zeichen an einer Stelle nicht übereinstimmen ablehnen,

sonst am Ende akzeptieren

Page 6: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 6

Beispielrechnung einer Turingmaschine

0 1 1 0 0 0 # 0 1 1 0 0 0 _ _ _ …

x 1 1 0 0 0 # 0 1 1 0 0 0 _ _ _ …

x 1 1 0 0 0 # x 1 1 0 0 0 _ _ _ …

x 1 1 0 0 0 # x 1 1 0 0 0 _ _ _ …

x x 1 0 0 0 # x 1 1 0 0 0 _ _ _ …

x x x x x x # x x x x x x _ _ _ …

Page 7: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 7

Turingmaschinen

Eine (deterministische 1-Band) Turingmaschine (DTM) wird beschrieben durch ein 7-Tupel

– M = (Q, q0, qaccept, qreject).

Dabei sind Q, endliche, nichtleere Mengen und es gilt:– F Q, , q0 Q– _ ist das Blanksymbol.

Q ist die Zustandsmengeist das Eingabealphabetdas Bandalphabet.

Zustände– q0 Q ist der Startzustand.– qaccept Q ist der akzeptierende Endzustand– qreject Q ist der ablehnende Endzustand

: Q Q {L, R} ist die (partielle) Übergangsfunktion– ist nicht definiert für q {qaccept, qreject} definiert

Page 8: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 8

Arbeitsweise einer Turingmaschine

Initial: – Eingabe steht links auf dem Band– Der Rest des Bands ist leer– Kopf befindet sich ganz links

Berechnungen finden entsprechend der Übergangsfunktion statt

Wenn der Kopf sich am linken Ende befindet und nach links bewegen soll, bleibt er an seiner Position

Wenn qaccept oder qreject erreicht wird, ist die Bearbeitung beendet

Page 9: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 9

Konfiguration

Momentaufnahme einer TM– Bei Bandinschrift uv

• dabei beginnt u am linken des Bandes und hinter vstehen nur Blanks

– Zustand q,– Kopf auf erstem Zeichen von v

Konfiguration C = uqv

Page 10: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 10

Aufeinanderfolgende Konfigurationen

Gegeben: Konfigurationen C1, C2

Wir sagen: – Konfiguration C1 führt zu C2, falls die TM von C1 in einem

Schritt zu C2 übergehen kann.

Formal:– Seien a, b, c , u, v * und Zustände qi , qj gegeben

Wir sagen – u a qi b v führt zu u qj a c v,

• falls (qi,b) = (qj,c,L) und– u a qi b v führt zu u a c qj v,

• falls (qi,b) = (qj,c,R)

Page 11: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 11

Konfigurationen

Startkonfiguration:

– q0w, wobei w die Eingabe ist

Akzeptierende Konfiguration:

– Konfigurationen mit Zustand qaccept

Ablehnende Konfiguration:

– Konfigurationen mit Zustand qreject

Haltende Konfiguration: – akzeptierende oder ablehnende Konfigurationen

Page 12: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 12

Akzeptanz von Turingmaschinen

Eine Turingmaschine M akzeptiert eine Eingabe w, falls es eine Folge von Konfigurationen C1, C2, …, Ck gibt, so dass

– C1 ist die Startkonfiguration von M bei Eingabe w

– Ci führt zu Ci+1

– Ck ist eine akzeptierende Konfiguration

Die von M akzeptierten Worte bilden die von M akzeptierte Sprache L(M)

Eine Turingmaschine entscheidet eine Sprache, wenn jede Eingabe in einer haltende Konfiguration Ck resultiert

Page 13: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 13

Rekursive und rekursiv aufzählbare

Sprachen

Eine Sprache L heißt rekursiv aufzählbar, falls es eine Turingmaschine M gibt, die L akzeptiert

Eine Sprache L heißt rekursiv oder entscheidbar, falls es eine Turingmaschine M gibt, die L entscheidet

Page 14: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 14

Beispiel für eine Turingmaschine

Gesucht: Turingmaschine, die

– L = {02n | n {0,1,2,...}} entscheidet

Arbeitsweise:1. Gehe von links nach rechts über die Eingabe und ersetze

jede zweite 0 durch x2. Wenn nur eine 0 auf dem Band ist, akzeptiere3. Falls die Anzahl der 0en ungerade ist, lehne ab4. Bewege den Kopf zurück an das linke Ende

Page 15: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 15

Beispiel

Definition der Turingmaschine:

– Q = {q1, q2, q3, q4, q5, qaccept, qreject} = {0} = {0, x, t}

Besondere Zustände:

– Startzustand q1

– Akzeptierender Endzustand qaccept

– Ablehnender Endzustand qreject

Übergangsfunktion

Page 16: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 16

Darstellung von als Diagramm

Page 17: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 17

Darstellung von als Diagramm

0 x t

q1 (q2, t, R) (qreject, x, R) (qreject, t, R)

q2 (q3, x, R) (q2, x, R) (qaccept, t, R)

q3 (q4, 0, R) (q3, x, R) (q5, t, L)

q4 (q3, x, R) (q4, x, R) (qreject, t, R)

q5 (q5, 0, L) (q5, x, L) (q2, t, R)

Page 18: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 18

Abarbeitung eines Beispielworts

Beispiel für dasWort: 0000

Startkonfiguration:q10000

0 0 0 0 t t

q1

Page 19: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 19

Abarbeitung eines Beispielworts

Beispiel für dasWort: 0000

Konfiguration:tq2000

t 0 0 0 t t

q2

Page 20: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 20

Abarbeitung eines Beispielworts

Beispiel für dasWort: 0000

Konfiguration:txq300

t x 0 0 t t

q3

Page 21: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 21

Abarbeitung eines Beispielworts

Beispiel für dasWort: 0000

Konfiguration:tx0q40

t x 0 0 t t

q4

Page 22: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 22

Abarbeitung eines Beispielworts

Beispiel für dasWort: 0000

Konfiguration:tx0xq3t

t x 0 x t t

q3

Page 23: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 23

Abarbeitung eines Beispielworts

Beispiel für dasWort: 0000

t x 0 x t t

q5

Page 24: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 24

Abarbeitung eines Beispielworts

Beispiel für dasWort: 0000

t x 0 x t t

q5

Page 25: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 25

Abarbeitung eines Beispielworts

Beispiel für dasWort: 0000

t x 0 x t t

q5

Page 26: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 26

Abarbeitung eines Beispielworts

Beispiel für dasWort: 0000

t x 0 x t t

q5

Page 27: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 27

Abarbeitung eines Beispielworts

Beispiel für dasWort: 0000

t x 0 x t t

q2

Page 28: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 28

Abarbeitung eines Beispielworts

Beispiel für dasWort: 0000

t x 0 x t t

q2

Page 29: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 29

Abarbeitung eines Beispielworts

Beispiel für dasWort: 0000

t x x x t t

q3

Page 30: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 30

Abarbeitung eines Beispielworts

Beispiel für dasWort: 0000

t x x x t t

q3

Page 31: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 31

Abarbeitung eines Beispielworts

Beispiel für dasWort: 0000

t x x x t t

q5

Page 32: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 32

Abarbeitung eines Beispielworts

Beispiel für dasWort: 0000

t x x x t t

q5

Page 33: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 33

Abarbeitung eines Beispielworts

Beispiel für dasWort: 0000

t x x x t t

q5

Page 34: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 34

Abarbeitung eines Beispielworts

Beispiel für dasWort: 0000

t x x x t t

q5

Page 35: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 35

Abarbeitung eines Beispielworts

Beispiel für dasWort: 0000

t x x x t t

q2

Page 36: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 36

Abarbeitung eines Beispielworts

Beispiel für dasWort: 0000

t x x x t t

q2

Page 37: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 37

Abarbeitung eines Beispielworts

Beispiel für dasWort: 0000

t x x x t t

q2

Page 38: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 38

Abarbeitung eines Beispielworts

Beispiel für dasWort: 0000

t x x x t t

q2

Page 39: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 39

Abarbeitung eines Beispielworts

Beispiel für dasWort: 0000

Endkonfiguration:txxxtqaccept

t x x x t t

qaccept

Page 40: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 40

Mehrband Turingmaschinen

Eine Mehrband oder k-Band Turingmaschine (k-Band DTM) hat k Bänder mit je einem Kopf.

Die Übergangsfunktion ist dann von der Form : Q k Q k {L, R}k

Die Arbeitsweise ist analog zu 1-Band-DTMs definiert.

– Zu Beginn steht die Eingabe auf Band 1,

– sonst stehen überall Blanks.

Page 41: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 41

Äquivalenz von 1-Band und Mehrband

TuringmaschinenSatz:

– Zu jeder Mehrband Turingmaschine gibt es eine äquivalente 1-Band Turingmaschine

Beweis: – Idee: Simuliere Mehrband DTM M auf 1-Band DTM S

Page 42: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 42

Beweis Fortsetzung

Schreibe k Bänder hintereinander auf ein BandSei # zusätzliches Symbol

–Verwende # um Bänder zu trennenFür füge zum Alphabet hinzuDer Punkt repräsentiert die aktuelle Position des Kopfes auf dem Band

Page 43: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 43

Beweis Fortsetzung

Bei Eingabe w = w1, … , wn:1. S bildet Startkonfiguration von M ab:

2. Simulation eines Schrittes:• Gehe von links nach rechts über das Band und suche die

Markierungen # und finde die Zeichen unter den virtuellen Köpfen• Gehe von links nach rechts über das Band und führe die

Änderungen entsprechend der Übergangsfunktion von M durch

3. Falls ein virtueller Kopf rechts auf ein # bewegt wird, schreibe ein t und bewege alle folgenden Zeichen eine Position nach rechts

Page 44: Informatik III

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Informatik III 9. Vorlesung - 44

Äquivalenz von 1-Band und Mehrband Turingmaschinen

Korollar:– Eine Sprache L ist genau dann rekursiv aufzählbar, wenn es

eine Mehrband-Turingmaschine gibt, die L akzeptiert

Page 45: Informatik III

45

Albert-Ludwigs-Universität FreiburgRechnernetze und Telematik

Prof. Dr. Christian Schindelhauer

Ende der9. Vorlesung

Dank an Michael Kortenjan für die Folienvorlage

Informatik III

Christian [email protected]