Theoretische Informatik Mitschrift 7. Turingmaschinen Automatenmodell für Typ-0-Sprachen Einschränkung liefert Automatenmodell für Typ-1-Sprachen Alan Turing 1936, ursprüngliches Ziel: Formalisierung des Berechenbarkeitsbegriffs Modell einer Turingmaschine:...... Unendliches Schreib-/Leseband endl. Kontrolle Definition 7.1: Eine Turingmaschine (TM) ist ein 7-Tupel = Q,,,,,t 0, F mit endlicher Zustandsmenge Q Eingabealphabet Σ Arbeitsalphabet (Bandalphabet) Transitionsfunktion :Q Q {L, R, N im deterministischen Fall :Q Q {L, R, N im nichtdeterministischen Fall Startzustand Q Blank (Leerzeichen) b Endzustandsmenge F Q Bezeichnung: TM, DTM q,a, x q,b bedeutet: Falls die TM im Zustand q unter dem Schreib-/Lesekopf ein b sieht, kann sie das b mit a überschreiben, in den Zustand q wechseln und den Schreib-/Lesekopf gemäß der Positionsangabe x {L, R, N bewegen: L - ein Zeichen nach links R - ein Zeichen nach rechts N (neutral) - keine Kopfbewegung. Definition 7.2 (Sprache einer Turingmaschine): Menge der Konfigurationen: * * Bandinhalt links vom Lesekopf Q Zustand Lesekopf Bandinhalt rechts vom Lesekopf Einzelschrittrelation * Q * * Q * mit q X q' X ' falls q', X ', N q, x q Y XY X ' q' Y q X X ' q' b q X q' YX ' q X q' b X ' falls q', X ', R q, x falls q', X ', L q, x Anfangskonfiguration: w b bei Eingabe von w *
Endkonfigurationen: q X mit q F Von A erkannte Sprache: L ={w * w b * q X mit q F Beachte: Die Turingmaschine braucht nicht zu stoppen. Es genügt das Erreichen eines Endzustandes. Die Eingabe muß nicht vollständig gelesen werden. L,TM : Klasse der durch Turingmaschinen erkennbaren Sprachen, L, DTM analog Beispiel: Turingmaschine mit L ={a n b n c n n 1 Idee: Ersetze für k = 1, 2,... k-tes a, b, c nacheinander durch A, B, C, bis hinter C ein b folgt Teste vom Wortende aus, ob nur Cs, Bs und As in dieser Reihenfolge auf dem Band stehen = Q,{a,b, c,,,,b,{q f mit Q={,q f,,,,, ={a,b,c, A, B,C,b gegeben durch Turingtafel = Folge von Quintupeln q a b x q' mit der Bedeutung q',b, x q,a a A R % ersetze erstes a a a R b B R % suche erstes b B B R b b R c C R % suche erstes c C C R c c L % noch nicht am Wortende zurück b b L % Wortende Testphase Y Y L für alle Y {C,b,B,a A A R Y Y L für Y {C, B, A b b R q f % Testphase Konfigurationsfolge bei Eingabe von aabbcc: aabbccb A abbccb Aa bbccb AaB bccb AaBb cc b 4 AaBbC c b AaBb Cc b AaBbCcb A abbcc b AA BbCc b AAB bcc b AABB Cc b AABBC cb AABBCC b AABBC 5 C b AABBCC b b AABBCC b b q f AABBCC b Beobachtung: Turingmaschine arbeitet nur auf dem Eingabebereich linear beschränkter Automat
Definition 7.3: Eine nichtdeterministische Turingmaschine = Q,,,,, b,f heißt linear beschränkt (linear beschränkter Automat: LBA), falls,$ und q, {q',, R q ' Q für alle q Q q,$ {q',$, L q' Q für alle q Q Sonst dürfen und $ nicht geschrieben werden. Bezeichnung: LBA. Die von einem LBA A akzeptierte Sprache ist L={w * w $ * q X für ein q F. Sprachklasse: L,LBA Zum Beispiel: = Q,{a,b, c,,,,b,{q f mit Q={,q f,,,,, ={a,b,c, A, B,C,,$ gegeben durch Turingtafel = Folge von Quintupeln q a b x q' mit der Bedeutung q',b, x q,a a A R % ersetze erstes a a a R b B R % suche erstes b B B R b b R c C R % suche erstes c C C R c c L % noch nicht am Wortende zurück $ $ L % Wortende Testphase Y Y L für alle Y {C,b,B,a A A R Y Y L für Y {C, B, A R q f % Testphase Satz 7.1: 1) L,TM=L 0 2) L,LBA=L 1 Beweis 1): " ": Simulation von Turingmaschine durch Typ-0-Grammatik Satzformen: Konfigurationen der Turingmaschine Ableitschritte: Schritte der Turingmaschine Nonterminale der Grammatik: - Zustände der TM - Felder des Arbeitsbandes in 2 Spuren 1. Spur: Sicherung der Eingabe 2. Spur: Simulation der TM
3 Phasen bei der Ableitung eines Wortes: 1. Konstruktion der Anfangskonfiguration mit genügend vielen Blank an den Rändern,b m a 1, a 1 a 2, a 2...a r, a r, b n 1. Spur: Eingabewort a 1... a r 2. Spur: Anfangskonfiguration der Turingmaschine 2. Simulation der Turingmaschine in zweiter Spur 3. Projektion auf Eingabe, falls Endzustand erreicht Konstruktion von G= N,, P, S mit N =Q { {S,,C 2 und P mit den folgenden Produktionen: Phase 1: S,b S a,a für alle a C 2 C 2,bC 2, b Phase 2: Falls q', X ', N q, X : q a, x q' a, X ' Falls q', X ',R q, X : qa, x a, X ' q' Falls q', X ', L q, X :b,y qa, x q' b,y a, X ' Phase 3: q falls q F a, X a für alle a {, X Es folgt: w LG S * w w b * q X mit q F w L Beweis für L,LBA L 1 analog; es sind keine ε-regeln nötig, weil der LBA nur auf dem Eingabebereich arbeitet und der Zustand in die Paare integriert werden kann. " ": Sei L L 0 mit G= N,,P,S Typ-0-Grammatik mit L= LG. Simulation von G durch TM : Idee: Neben Eingabewort Ableitungen von G simulieren und dann mit der Eingabe vergleichen. 1. Anfangsphase: w b *[w][s q G ] = N {b, [, ] 2. Simulationsphase [w][ w g ] [w ][ q i ] mit = X 1... X n, Regel i: X 1... X n Y 1...Y m *[w][ q i X 1... X n ] Erkennen linker Regelseite Ziel dieser Phase [w][v q g ] mit v * 3. Vergleichsphase q [ ]b...b[ ] mit Erkennung falls w=v. [w][q i, Y 1... Y m ] *[ w][ Y 1...Y m q G ] Ersetzen durch rechte Regelseite Bei LBA: beide Bereiche übereinanderlegen, d.h. Paare als Bandzeichen.
Satz 7.2: L,TM =L, DTM Beweisidee: DTM durchsucht systematisch alle Berechnungsalternativen der TM. Offenes Problem: L,LBA? L, DLBA? =?