gti mitschrift

Download GTI Mitschrift

Post on 24-Jun-2015

581 views

Category:

Documents

7 download

Embed Size (px)

TRANSCRIPT

Grundlagen der Theoretischen Informatikmitgeschrieben von Martin LendersDieses Dokument vom 6. Juli 2009 steht unter einer Creative Commons BY-NC-ND 3.0 Deutschland Lizenz f r die Seite http://page.mi.fu-berlin.de/mlenders/mitschriften/gti/ u

Inhaltsverzeichnis1 Turing-Maschine, Berechenbarkeit, Entscheidbarkeit 1.1 Denition der Turing-Maschine . . . . . . . . . . . . . . 1.2 Churchsche These . . . . . . . . . . . . . . . . . . . . . 1.3 Registermaschinen . . . . . . . . . . . . . . . . . . . . . 1.4 Formale Sprachen . . . . . . . . . . . . . . . . . . . . . . 1.4.1 Multiplikation von Wrtern . . . . . . . . . . . . o 1.4.2 Multiplikation von Sprachen . . . . . . . . . . . . 1.4.3 Potenz von Wrtern und von Sprachen . . . . . . o 1.5 Konguration (Momentaufnahme einer Turingmaschine) 1.6 Turingmaschine mit mehreren Bndern . . . . . . . . . . a 1.7 Die universelle Turingmaschine . . . . . . . . . . . . . . 1.8 Unentscheidbarkeit . . . . . . . . . . . . . . . . . . . . . 1.8.1 Universelle Sprache und Diagonalsprache . . . . 1.8.2 Das Halteproblem . . . . . . . . . . . . . . . . . 1.8.3 Reduzierbarkeit von Problemen . . . . . . . . . . 1.8.4 Das Postsche Korrespondenzproblem (PKP) . . 1.8.5 Andere unentscheidbare Probleme . . . . . . . . 1.8.6 Satz von RICE (1953) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5 6 7 7 8 8 8 8 9 10 10 10 12 13 13 16 16 17 17 18 20 22 22 23 25 26 27 29 30 31 31 32 32 33 34 35 35 35 36 37 38 40 41 42 43 44 44

2 Regulre Sprachen und endliche Automaten a 2.1 Deterministische endliche Automaten . . . . . . . . . . . . . . 2.2 Regulre Ausdr cke . . . . . . . . . . . . . . . . . . . . . . . a u 2.3 Nichtdeterministische endliche Automaten . . . . . . . . . . . 2.4 NEA mit -Ubergngen . . . . . . . . . . . . . . . . . . . . . a 2.4.1 Elimination von -Ubergngen . . . . . . . . . . . . . a 2.5 Minimierung deterministischer endlicher Automaten . . . . . 2.5.1 Algorithmus zur Bestimmung des Minimalautomaten: 2.5.2 Satz von Nerode . . . . . . . . . . . . . . . . . . . . . 2.6 Das Pumping-Lemma f r regulre Sprachen . . . . . . . . . . u a 2.7 Abschlusseigenschaften regulrer Sprachen . . . . . . . . . . . a 2.8 Zusammenfassung: regulre Sprachen . . . . . . . . . . . . . . a 3 Grammatiken 3.1 Denition von Grammatiken . . . . . . . . . . . 3.2 Die Chomsky-Hierarchie . . . . . . . . . . . . . . 3.3 Typ-0-Sprachen (rekursiv aufzhlbare Sprachen) a 3.4 Typ-3-Sprachen (regulre Sprachen) . . . . . . . a 3.5 Typ-1-Sprachen (kontextsensitive Sprachen) . . . 4 Kontextfreie Sprachen (Typ-2-Sprachen) 4.1 Tiefenstruktur von Sprachen . . . . . . . . . . . 4.2 Dyck-Sprache . . . . . . . . . . . . . . . . . . . . 4.3 Kontextfreie Grammtiken als Gleichungssysteme 4.4 Eindeutigkeit . . . . . . . . . . . . . . . . . . . . 4.5 Chomsky-Normalform . . . . . . . . . . . . . . . 4.6 Algorithus von CYK . . . . . . . . . . . . . . . 4.7 (Erweiterte) Backus-Naur-Form (E)BNF . . . . . 4.8 Pumping-Lemma f r kontextfreie Sprachen . . . u 4.9 Abschlusseigenschaften kontextfreier Sprachen . . 4.10 Entscheidungsprobleme kontextfreier Sprachen . 4.11 Kellerautomaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

Inhaltsverzeichnis

4.12 Abschlusseigenschaften kontextfreier Sprachen gegen ber regulren Sprachen u a 4.13 Deterministische kontextfreie Sprachen . . . . . . . . . . . . . . . . . . . . . . 4.14 Deterministische Zweiwege-Kellerautomaten . . . . . . . . . . . . . . . . . . . 4.14.1 Teilwortproblem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

48 48 48 49

4

1 Turing-Maschine, Berechenbarkeit, Entscheidbarkeit1.1 Denition der Turing-MaschineSteuerung

Zustand (Programmzhler)

(q, a)

Programm

Schreib/Lesekopf

(q , a , b)1X

B

B

B

0

B

B

B

Zweiseitiges, unendliches Band

Eine Turingmaschine wird beschrieben durch: Ein Eingabealphabet ein Bandalphabet ein Leerzeichen B \ eine endliche Menge Q von Zustnden a eine Uberf hrungsfunktion : Q Q {1, 0, 1} u ein Anfangszustand q0 Q (eventuell) eine Menge von akzeptierenden Zustnden F Q a ist das Programm der TM (q, a) = (q , a , b) bedeutet: Wenn die Maschine im Zustand q ist und unter dem Kopf das Symbol a steht, dann wird a durch a auf dem Band ersetzt (a = a ist mglich), das Band wird um b verschoben und die o Maschine geht in den Zustand q Die Eingabe ist eine Folge von Symbolen aus (ein Wort uber ). Sie steht am Anfang auf dem Band; der Kopf steht uber dem ersten Symbol. Der Zustand ist q0 . Beispiel: = {0, 1}, = {0, 1, B, X} Erkenne die Eingabe der Form: 0 1 , f r n 1 u 01, 0011, 000111, ... (richtig) 001, 1100, 0100101, ... (falsch) rechts und links von der Eingabe stehen unendlich viele B-Symbole Phase 1: laufe einmal von links nach rechts uber das Band und uberpr fe, ob dort eine Folge von 0en u gefolgt von eine Folge von 1en steht. Phase 2: Fahre abwechselnd nach links und nach rechts und ersetze jeweils 0 und eine 1 durch X. Akzeptiere, wenn am Ende alles durch X erstzt ist und kene 0, 1 ubrig bleibt n n

5

KAPITEL 1. TURING-MASCHINE, BERECHENBARKEIT, ENTSCHEIDBARKEIT

q0 q1 q2 q3 q4

0 (q0 , 0, 1) (q , 0, 0) (q3 , X, 1) (q3 , 0, 1) (q4 , 0, 1)

1 (q1 , 1, 1) (q1 , 1, 1) (q2 , 1, 1) (q2 , X, 1) (q , 1, 1)

B (q , B, 0) (q2 , B, 1) (q4 , B, 1) (q4 , B, 1) (q+ , B, 0)

X egal egal (q2 , X, 1) (q3 , X, 1) (q4 , X, 1)

Kommentar fahre nach rechts uber Nullen fahre nach rechts uber Einsen fahre nach links und suche 0, ersetze sie durch X fahre nach rechts und suche 1, ersetze sie durch X fahre nach rechts und suche 1; akzeptiere wenn keine 1 mehr vorhanden ist.

q q+

(q , 0, 0) (q+ , 0, 0)

(q , 1, 0) (q+ , 1, 0)

(q , B, 0) (q+ , B, 0)

(q , X, 0) (q+ , X, 0)

Die Maschine hlt, wenn sie in einen Zustand q uber einen Symbol a mit (q, a) = (q, a, 0) steht. a Q = {q0 , q1 , q2 , q3 , q4 , q+ , q } q0 = q0 F = {q+ } Die T. M. akzeptiert die Eingabe, wenn sie in einem Zustand aus F hlt. a

1.2 Churchsche TheseDas was von einer Turing-Maschine berechnet werden kann, entspricht dem, was man intuitiv unter algorith misch berechenbar versteht. Beispiel: Addition zweier Binrzahlen a Eingabe: bin(x)#bin(y)$ (bin(x) := Binrdarstellung einer positiven Zahl, f hrende Nullen sind egal) a u Ausgabe: bin(x + y)#bin(y)$ Programmiertechniken: Verwenden mehrerer Spuren: Jedes Feld des Bandes wird als aus mehreren Unterfeldern bestehend betrachtet. X 1 X 0 X 1

0

1

formal: = 1 2 3 . . . k , i . . . Bandalphabet f r die i-te Spur. u z. B.: { , x} {0, 1, B, . . .} Speichern von Variablen mit endlichen Wertebereich als Teil des Zustandes. formal: Q = Q0 V , V . . . Wertebereich der Variablen. 1. Wandere nach rechts zur 1. unmarkierten Zier a. s := a (merken) Markiere diese Zier auf dem Band. 2. Wandere nach links zur 1. unmarkierten Zier b von x Ersetze b durch b + s + u, u := Ubertrag. (Markiere diese Zier) 3. Gehe zu 1 solange noch Ziern ubrig sind. 4. Lsche alle Markierungen o s qu , Zustand (Programmzeile) q mit Werten s, u der Variablen, Haltezustand: h s {0, 1} u {0, 1} Eingabealphabet: = {0, 1, #, $} Bandalphabet: = {B, 0, 1}

6

1.3. REGISTERMASCHINEN

0 qu 0 ru s0 u ti u ui 0 u0 0 u1 , u0 0 1 u1 1 0 vu 0 wu 0 xu 0 y0 0 y1 z p

0 0 qu , 0, + 0 ru , 0, + t0 , u 0, t0 , u 0, 0 q0 , + 0, 0 q0 , + 1, 0 q1 , + 0, 0 vu , 0, + 0 ru , 0, +

1 0 q0 , 1, + 0 ru , 1, + t1 , u 1, t1 , u 1, 0 q0 , + 1, 0 q0 , + 0, 0 q1 , + 1, 0 vu , 1, + 0 ru , 1, +

0 0 qu ,