Automatentheorie und formale Sprachen Zusammenfassung Kathrin Hoffmann 27. Juni 2012 Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 329 VL1 Chomsky-Hierarchie Zusammenfassung Kontextsensitive Grammatiken und Sprachen • Eine Grammatik G = (N, T , S, R) heißt kontextsensitiv wenn alle Regeln die Form u → v mit |u| ≤ |v | haben, d.h. wenn die linke Seite einer Regel ist nie länger als die rechte Seite. • Als einzige Ausnahme ist die Regel S → zugelassen, um das leere Wort zu erzeugen. Dann aber darf das Startsymbol S nicht rekursiv sein, d.h. nicht auf der rechten Seite einer Regel auftreten. • Eine Regel, deren linke Seite nicht länger ist als die rechte Seite, heißt monoton bezeichnet. Daher heißt eine kontextsensitive Grammatik auch monotone Grammatik. Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 330 VL1 Chomsky-Hierarchie Zusammenfassung BSP G = (N, T , S, R) mit T = {a, b, c} N = {S, A, B} R: S → aSBc | aXc cB → Bc XB → bX X →b S =⇒ aSBc =⇒ aaSBcBc =⇒ aaaXcBcBc =⇒ aaaXcBBcc =⇒ aaaXBcBcc =⇒ aaaXBBccc =⇒ aaabXBccc =⇒ aaabbXccc =⇒ aaabbbccc L(G) = {an bn c n | n > 0} Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 331 VL1 Chomsky-Hierarchie Zusammenfassung Aufgabe 57: Geben Sie bitte eine ksG für L = {ww | w ∈ {a, b, c}∗ } an und leiten dann bitte abcabc ab. Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 332 VL1 Chomsky-Hierarchie Zusammenfassung Aufgabe 57: Geben Sie bitte eine ksG für L = {ww | w ∈ {a, b, c}∗ } an und leiten dann bitte abcabc ab. Tipp: Benutzen Sie pro Terminal als erstes Regeln der Form S → xXS. X ist der Indikator dafür, dass noch in der anderen Worthälfte an gleicher Stelle ein x zu setzen ist. Entwerfen Sie nun Regeln, die es erlauben X in die zweite Hälfte des Wortes zu schieben. Wandeln Sie dann die X in die entsprechenden Terminale um. Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 332 VL1 Chomsky-Hierarchie Zusammenfassung Lösung von Aufgabe 57 S → aMa | bMb | cMc | Ma → aAMa | bBMa | cCMa | Ea Mb → aAMb | bBMb | cCMb | Eb Mc → aAMc | bBMc | cCMc | Ec Nt → tN für N ∈ {A, B, C} und t ∈ {a, b, c} AMa → Ma a AMb → Mb a AMc → Mc a BMa → Ma b BMb → Mb b BMc → Mc b CMa → Ma c CMb → Mb c CMc → Mc c Ea → a Eb → b Ec → c S =⇒ aMa =⇒ abBMa =⇒ abBcCMa =⇒ abcBCMa =⇒ abcBMa c =⇒ abcMa bc =⇒ abcabc Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 333 VL1 Chomsky-Hierarchie Zusammenfassung Turingmaschine • 1936 Alan Turing • Lösung des Entscheidungsproblems • Maschine besteht aus • endliche Steuerung/Programm, • Lese/Schreibkopf und • unendlich langes Band. Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 334 VL1 Chomsky-Hierarchie Zusammenfassung Formale Definition einer Turingmaschine Definition Ein Turingmaschine (TM) ist ein Tupel M = (Q, Σ, Γ, δ, q0 , B, F ) bestehend aus • der endlichen Menge Q von Zuständen, • dem Eingabealphabeth Σ, • dem Bandalphabet Γ, • der Übergangsfunktion δ : Q × Σ × Γ → Q × Γ × D mit Bewegungsrichtung der Steuerung D = {L, R}, • dem Anfangszustand q0 ∈ Q, • dem leeren Feld (Blank) B ∈ Γ \ Σ und • der Menge F ⊆ Q von Endzuständen. Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 335 VL1 Chomsky-Hierarchie Zusammenfassung Beispiel: L(M) = {0n 1n |n ≥ 1} Turingmaschine (TM) M = (Q, Σ, Γ, δ, q0 , B, F ) mit • der endlichen Menge Q = {q0 , q1 , q2 , q3 , q4 }, • dem Eingabealphabeth Σ = {0, 1}, • dem Bandalphabet Γ = {0, 1, X , Y , B}, • der Übergangsfunktion δ : Q × Σ × Γ → Q × Γ × D, • dem Anfangszustand q0 ∈ Q, • dem leeren Feld (Blank) B ∈ Γ \ Σ und • der Menge F = {q4 } Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 336 VL1 Chomsky-Hierarchie Zusammenfassung Beispiel: L(M) = {0n 1n |n ≥ 1} Übergangsfunktion δ : Q × Σ × Γ → Q × Γ × D mit 0 1 X Y q0 (q1 , X , R) (q3 , Y , R) q1 (q1 , 0, R) (q2 , Y , L) (q1 , Y , R) q2 (q2 , 0, L) (q0 , X , R) (q2 , Y , L) q3 (q3 , Y , R) q4 - Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen B (q4 , B, R) - 27.6. 2012 337 VL1 Chomsky-Hierarchie Zusammenfassung Chomsky-Hierarchie • Reguläre Sprachen • Beispiel: L = {an bm |n, m ∈ N} • Wie werden sie erkannt? • Kontextfreie Sprachen: • Beispiel: L = {an b n |n ∈ N} • Wie werden sie erkannt? • Kontextsensitive Sprachen: • Beispiel: L = {an b n c n |n ∈ N} • Wie werden sie erkannt? Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 338 VL1 Chomsky-Hierarchie Zusammenfassung Chomsky-Hierarchie • Reguläre Sprachen • Beispiel: L = {an bm |n, m ∈ N} • Wie werden sie erkannt? Endliche Automaten • Kontextfreie Sprachen: • Beispiel: L = {an b n |n ∈ N} • Wie werden sie erkannt? Kellerautomaten • Kontextsensitive Sprachen: • Beispiel: L = {an b n c n |n ∈ N} • Wie werden sie erkannt? Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 338 VL1 Chomsky-Hierarchie Zusammenfassung Aufgabe 58: Gegeben ist die Grammatik GN = (N, D, S, RN ) mit RN :S → d0 |dX wobei d0 ∈ {0, 1, .., 9} = D und d ∈ {1, .., 9}. X → d0 X | Geben Sie bitte darauf aufbauend eine Grammatik an für • die ganzen Zahlen Z • die rationalen Zahlen Q • und die reellen Zahlen R Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 339 VL1 Chomsky-Hierarchie Zusammenfassung Aufgabe 58: Gegeben ist die Grammatik GN = (N, D, S, RN ) mit RN :S → d0 |dX wobei d0 ∈ {0, 1, .., 9} = D und d ∈ {1, .., 9}. X → d0 X | Geben Sie bitte darauf aufbauend eine Grammatik an für • die ganzen Zahlen Z GZ = (N ] {V }, D ∪ {−, +}, V , RN ∪ {V → −S | +S | S}) • die rationalen Zahlen Q • und die reellen Zahlen R Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 339 VL1 Chomsky-Hierarchie Zusammenfassung Aufgabe 58: Gegeben ist die Grammatik GN = (N, D, S, RN ) mit RN :S → d0 |dX wobei d0 ∈ {0, 1, .., 9} = D und d ∈ {1, .., 9}. X → d0 X | Geben Sie bitte darauf aufbauend eine Grammatik an für • die ganzen Zahlen Z GZ = (N ] {V }, D ∪ {−, +}, V , RN ∪ {V → −S | +S | S}) • die rationalen Zahlen Q GQ = {N ] {V , Q}, D ∪ {−, +, /}, Q, RN ∪ {V → −S | +S | S} ∪{Q → V /S | V }) • und die reellen Zahlen R Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 339 VL1 Chomsky-Hierarchie Zusammenfassung Aufgabe 58: Gegeben ist die Grammatik GN = (N, D, S, RN ) mit RN :S → d0 |dX wobei d0 ∈ {0, 1, .., 9} = D und d ∈ {1, .., 9}. X → d0 X | Geben Sie bitte darauf aufbauend eine Grammatik an für • die ganzen Zahlen Z GZ = (N ] {V }, D ∪ {−, +}, V , RN ∪ {V → −S | +S | S}) • die rationalen Zahlen Q GQ = {N ] {V , Q}, D ∪ {−, +, /}, Q, RN ∪ {V → −S | +S | S} ∪{Q → V /S | V }) • und die reellen Zahlen R geht nicht!!! Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 339 VL1 Chomsky-Hierarchie Zusammenfassung Abzählbar Definition Eine Menge M ist abzählbar, • falls es eine Funktion f : N → M gibt, die surjektiv ist (d. h. alle Elemente aus M kommen als Bildelement vor), oder • falls M = ∅. Ist eine Menge nicht abzählbar, so ist sie überabzählbar. BSP: Abzählbare Mengen Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 340 VL1 Chomsky-Hierarchie Zusammenfassung Mächtigkeit der Menge aller Wörter über Σ Satz: Sei Σ ein Alphabet. Es gibt abzählbar unendlich viele Wörter über Σ, d.h. die Menge Σ∗ aller Wörter über Σ hat die Mächtigkeit abzählbar unendlich. Beweis: • Σ∗ enthält unendlich viele Elemente: Angenommen, Σ∗ sei endlich. Dann enthält Σ∗ ein Wort w maximaler Länge. Sei a ∈ Σ. Dann wa ∈ Σ∗ , aber andererseits wa < Σ∗ , da Σ∗ nur Wörter der Länge kleiner gleich|w| enthält und |wa| > |w| gilt. Dies ist ein Widerspruch; also ist die Annahme falsch. • Σ∗ ist abzählbar unendlich: Standard-Ordnung auf Σ∗ (zunächst ihrer Länge nach und dann bei gleicher Länge lexikographisch) und liefert eine surjektive Abbildung von N → Σ∗ Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 341 VL1 Chomsky-Hierarchie Zusammenfassung Alle Sprachen sind abzählbar Satz: Jede Teilmenge M 0 einer abzählbaren Menge M ist auch abzählbar. Beweis: Sei surjektives f : N → M gegeben. Definiere f 0 : N → M 0 mit falls f (n) ∈ M 0 f (n) f 0 (n) = w ∈ M 0 sonst Da f surjektiv, werden alle Elemente von M 0 abgedeckt. Dieselben Bildelemente in N decken durch f 0 die Menge M 0 ab. Damit ist f 0 auch surjektiv. Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 342 VL1 Chomsky-Hierarchie Zusammenfassung Aufgabe 59: Zeigen Sie, dass Q abzählbar unendlich ist. Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 343 VL1 Chomsky-Hierarchie Zusammenfassung Aufgabe 59: Zeigen Sie, dass Q abzählbar unendlich ist. Lösung Wir haben Grammatik GQ für Q. Also ist Q = L(G) ⊆ Σ∗ , also ist Q abzählbar unendlich. oder 1. Cantorsche Diagonalisierungsverfahren Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 343 VL1 Chomsky-Hierarchie Zusammenfassung Cantorsche Diagonalisierungsverfahren Zweidimensionale Darstellung aller Brüche 0 1 −1 2 −2 3 ... 1 1 1 −1 1 2 1 −2 1 3 1 ... 2 1 2 −1 2 2 2 −2 2 3 2 ... 3 1 3 −1 3 2 3 −2 3 3 3 ... 1 4 .. . −1 4 .. . 2 4 .. . −2 4 .. . 3 4 .. . ... 4 .. . Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 344 VL1 Chomsky-Hierarchie Zusammenfassung Cantorsche Diagonalisierungsverfahren Zweidimensionale Aufzählung aller Brüche Hausaufgabe 60: Geben Sie bitte die Abbildung f : N → Q an, die diese Aufzählung beschreibt. Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 344 VL1 Chomsky-Hierarchie Zusammenfassung Mächtigkeit der Menge aller Sprachen über Σ∗ Satz: Sei Σ ein Alphabet. Es gibt überabzählbar viele Sprachen über Σ, d.h. die Mächtigkeit der Menge aller Sprachen über Σ ist überabzählbar unendlich. Der Satz lässt sich mit dem 2. Cantorschen Diagonalverfahren beweisen. Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 345 VL1 Chomsky-Hierarchie Zusammenfassung 2. Cantorschen Diagonalverfahren für Sprachen Angenommen, die Menge aller Sprachen über Σ sei abzählbar. • Sprachen L1 , L2 , L3 , ... ⊆ Σ∗ und Wörtern wj ∈ Σ∗ in Standardordnung in folgender Tabelle: w1 w2 w3 w4 w5 w6 ... mit Tabelleneintr ägen L1 1 1 1 0 1 1 ... L2 1 0 1 0 1 0 ... 1 falls w j ∈ Li t = ij L3 0 1 1 0 0 1 ... 0 falls wj < Li .. .. .. .. .. .. . . . . . . • Diagonale der Tabelle ist die charakteristische Funktion von Ld , der Diagonalsprache. Ld enthält hier die Wörter w1 , w3 , ... • Ld ist nicht in der Tabelle, denn Ld kann keine der Li sein, weil sie in der i-ten Spalte genau dann eine 0 hat, wenn Li dort eine 1 hat, und umgekehrt. • WIDERSPRUCH zur Annahme, dass die Menge aller Sprachen über Σ abzählbar ist. Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 346 VL1 Chomsky-Hierarchie Zusammenfassung 2. Cantorschen Diagonalverfahren für Sprachen Angenommen, die Menge aller Sprachen über Σ sei abzählbar. • Sprachen L1 , L2 , L3 , ... ⊆ Σ∗ und Wörtern wj ∈ Σ∗ in Standardordnung in folgender Tabelle: w1 w2 w3 w4 w5 w6 ... mit Tabelleneintr ägen L1 1 1 1 0 1 1 ... L2 1 0 1 0 1 0 ... 1 falls w j ∈ Li t = ij L3 0 1 1 0 0 1 ... 0 falls wj < Li .. .. .. .. .. .. . . . . . . • Diagonale der Tabelle ist die charakteristische Funktion von Ld , der Diagonalsprache. Ld enthält hier die Wörter w1 , w3 , ... • Ld ist nicht in der Tabelle, denn Ld kann keine der Li sein, weil sie in der i-ten Spalte genau dann eine 0 hat, wenn Li dort eine 1 hat, und umgekehrt. • WIDERSPRUCH zur Annahme, dass die Menge aller Sprachen über Σ abzählbar ist. Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 346 VL1 Chomsky-Hierarchie Zusammenfassung 2. Cantorschen Diagonalverfahren für Sprachen Angenommen, die Menge aller Sprachen über Σ sei abzählbar. • Sprachen L1 , L2 , L3 , ... ⊆ Σ∗ und Wörtern wj ∈ Σ∗ in Standardordnung in folgender Tabelle: w1 w2 w3 w4 w5 w6 ... mit Tabelleneintr ägen L1 1 1 1 0 1 1 ... L2 1 0 1 0 1 0 ... 1 falls w j ∈ Li t = ij L3 0 1 1 0 0 1 ... 0 falls wj < Li .. .. .. .. .. .. . . . . . . • Diagonale der Tabelle ist die charakteristische Funktion von Ld , der Diagonalsprache. Ld enthält hier die Wörter w1 , w3 , ... • Ld ist nicht in der Tabelle, denn Ld kann keine der Li sein, weil sie in der i-ten Spalte genau dann eine 0 hat, wenn Li dort eine 1 hat, und umgekehrt. • WIDERSPRUCH zur Annahme, dass die Menge aller Sprachen über Σ abzählbar ist. Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 346 VL1 Chomsky-Hierarchie Zusammenfassung 2. Cantorschen Diagonalverfahren für Sprachen Angenommen, die Menge aller Sprachen über Σ sei abzählbar. • Sprachen L1 , L2 , L3 , ... ⊆ Σ∗ und Wörtern wj ∈ Σ∗ in Standardordnung in folgender Tabelle: w1 w2 w3 w4 w5 w6 ... mit Tabelleneintr ägen L1 1 1 1 0 1 1 ... L2 1 0 1 0 1 0 ... 1 falls w j ∈ Li t = ij L3 0 1 1 0 0 1 ... 0 falls wj < Li .. .. .. .. .. .. . . . . . . • Diagonale der Tabelle ist die charakteristische Funktion von Ld , der Diagonalsprache. Ld enthält hier die Wörter w1 , w3 , ... • Ld ist nicht in der Tabelle, denn Ld kann keine der Li sein, weil sie in der i-ten Spalte genau dann eine 0 hat, wenn Li dort eine 1 hat, und umgekehrt. • WIDERSPRUCH zur Annahme, dass die Menge aller Sprachen über Σ abzählbar ist. Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 346 VL1 Chomsky-Hierarchie Zusammenfassung 2. Cantorschen Diagonalverfahren für Sprachen Angenommen, die Menge aller Sprachen über Σ sei abzählbar. • Sprachen L1 , L2 , L3 , ... ⊆ Σ∗ und Wörtern wj ∈ Σ∗ in Standardordnung in folgender Tabelle: w1 w2 w3 w4 w5 w6 ... mit Tabelleneintr ägen L1 1 1 1 0 1 1 ... L2 1 0 1 0 1 0 ... 1 falls w j ∈ Li t = ij L3 0 1 1 0 0 1 ... 0 falls wj < Li .. .. .. .. .. .. . . . . . . • Diagonale der Tabelle ist die charakteristische Funktion von Ld , der Diagonalsprache. Ld enthält hier die Wörter w1 , w3 , ... • Ld ist nicht in der Tabelle, denn Ld kann keine der Li sein, weil sie in der i-ten Spalte genau dann eine 0 hat, wenn Li dort eine 1 hat, und umgekehrt. • WIDERSPRUCH zur Annahme, dass die Menge aller Sprachen über Σ abzählbar ist. Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 346 VL1 Chomsky-Hierarchie Zusammenfassung Sprachen mit endlicher Beschreibung • überabzählbar viele Sprachen: • sehr, sehr viele • die meisten dieser Sprachen nicht explizit angebbar, • denn keine endliche Beschreibung • endliche Beschreibung einer Sprache • z.B. ein regulärer Ausdruck, eine Grammatik oder auch eine informelle Beschreibung • alle diese endlichen Beschreibungen sind endliche Zeichenfolgen • nur abzählbar viele endliche Beschreibungen, denn • nur abzählbar viele Wörter über einem Alphabet, also • nur abzählbar viele Sprachen mit einer endlichen Beschreibung • ganz, ganz wenige gegenüber der überwältigend großen Menge aller Sprachen Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 347 VL1 Chomsky-Hierarchie Zusammenfassung Aufzählbar Definition Eine Menge M ist aufzählbar (auch rekursiv aufzählbar oder semi-entscheidbar) • falls es eine surjektive Funktion f : N → M gibt, und • einen Algorithmus, der es gestattet, für jedes n ∈ N den Funktionswert f (n) zu berechnen, • oder falls M = ∅. Satz: Die Menge aller Wörter Σ∗ über einem Alphabet Σ ist aufzählbar. Beweis: Wörter können in Standardordnung erzeugt werden Aufgabe 61: : Weshalb heißen aufzählbare Mengen auch semi-entscheidbar? Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 348 VL1 Chomsky-Hierarchie Zusammenfassung Entscheidbar Definition Gegeben sei ein Alphabet Σ. Eine Sprache L ⊆ Σ∗ heißt entscheidbar, • falls es einen abbrechenden Algorithmus, Entscheidungsverfahren genannt, w ∈ L oder gibt, der für jedes w ∈ Σ∗ feststellt, ob w <L BSP: Aufzählbare Sprache, die nicht entscheidbar ist L ⊆ ASCII ∗ L = {xy|x ist ein Programm, y ist eine Eingabe, und x stoppt bei der Eingabe von y nach endlich vielen Schritten} Halteproblem !! Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 349 VL1 Chomsky-Hierarchie Zusammenfassung Aufgabe 62: Wahr oder falsch und warum???? 1 Jede Teilmenge einer aufzählbaren Sprache ist aufzählbar. wahr oder falsch 2 Jede Teilmenge einer aufzählbaren Sprache ist abzählbar. wahr oder falsch 3 Jede Teilmenge einer abzählbaren Sprache ist aufzählbar. wahr oder falsch 4 Jede Teilmenge einer abzählbaren Sprache ist abzählbar. wahr oder falsch 5 Jede Teilmenge einer entscheidbaren Sprache ist aufzählbar. wahr oder falsch 6 Jede Teilmenge einer entscheidbaren Sprache ist abzählbar. wahr oder falsch Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 350 VL1 Chomsky-Hierarchie Zusammenfassung Aufgabe 62: Wahr oder falsch und warum???? 1 Jede Teilmenge einer aufzählbaren Sprache ist aufzählbar. X wahr oder X falsch 2 Jede Teilmenge einer aufzählbaren Sprache ist abzählbar. X wahr oder X falsch 3 Jede Teilmenge einer abzählbaren Sprache ist aufzählbar. X wahr oder X falsch 4 Jede Teilmenge einer abzählbaren Sprache ist abzählbar. X wahr oder X falsch 5 Jede Teilmenge einer entscheidbaren Sprache ist aufzählbar. X wahr oder X falsch 6 Jede Teilmenge einer entscheidbaren Sprache ist abzählbar. X wahr oder X falsch Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 350 VL1 Chomsky-Hierarchie Zusammenfassung Vergleich von Grammatiken Falsche Annahme: Je mächtiger, desto mehr Wörter Umfangreichste Sprache Σ∗ für gegebenes Alphabet Σ kann durch reguläre Grammatik beschrieben werden: S → aS| für alle a ∈ Σ Statt dessen: Grenze zwischen Wörter in und außerhalb der Sprache hat einen komplexeren Verlauf Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 351 VL1 Chomsky-Hierarchie Zusammenfassung Mengendiagramm für Sprachen Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 352 VL1 Chomsky-Hierarchie Zusammenfassung Chomsky-Hierarchie mit Ergänzungen Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 353 VL1 Chomsky-Hierarchie Zusammenfassung Zusammenfassung • Kontextfreie Grammatiken sind geeignet, Blockstrukturen und richtig geklammerte Ausdrücke zu erzeugen. • Reguläre Sprachen sind kontextfrei. Es gibt kontextfreie Sprachen, die nicht regulär sind. • Kontextfreie Grammatiken werden zur Syntaxdefinition von Programmiersprachen benutzt. Sie werden üblicherweise in der Backus-Naur-Form notiert. • Nicht-deterministische PDAs akzeptieren kontextfreie Sprachen. Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 354 VL1 Chomsky-Hierarchie Zusammenfassung Wörter & Sprachen • Verkettung, Vereinigung, Komplement, Schnitt, Kleene-Hülle, Spiegelung, Potenz • Σ+ , Σ∗ , Σn • Typ der Sprache: • regulär, • kontextfrei, • kontextsensitiv, • aufzählbar • Abgeschlossenheit von Sprachklassen Aufgabe 63: Sei Σ = {a, b, c} das Alphabet. Verketten Sie bitte die beiden Sprachen L1 = {a, bb, ccc} und L2 = Σ+ . Geben Sie L1 ◦ L2 formal und als RA an. Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 355 VL1 Chomsky-Hierarchie Zusammenfassung Wörter & Sprachen • Verkettung, Vereinigung, Komplement, Schnitt, Kleene-Hülle, Spiegelung, Potenz • Σ+ , Σ∗ , Σn • Typ der Sprache: • regulär, • kontextfrei, • kontextsensitiv, • aufzählbar • Abgeschlossenheit von Sprachklassen Aufgabe 63: Sei Σ = {a, b, c} das Alphabet. Verketten Sie bitte die beiden Sprachen L1 = {a, bb, ccc} und L2 = Σ+ . Geben Sie L1 ◦ L2 formal und als RA an. {av , bbv , cccv | v ∈ L2 } und (a + bb + ccc) · (a + b + c)+ Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 355 VL1 Chomsky-Hierarchie Zusammenfassung Automaten • DEA,NEA, -NEA, NKA, DKA • Semantik • Akzeptierte Sprachen • Konfigurationen, erweiterte Zustandsüberführung • Äquivalenzen zu • anderen Automaten NEA −→ DEA, -NEA −→ DEA, Minimierung • reguläre Ausdrücken • Grammatiken • Abgeschlossenheit • Input,Output Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 356 VL1 Chomsky-Hierarchie Zusammenfassung Aufgabe 64: Gegeben der NEA N. 1 Berechnen Sie bitte b δN (q0 , ab). 2 Geben Sie bitte L(N) an. 3 Geben Sie bitte den äquivalenten DEA D an. 4 Berechnen Sie bitte b δD (q0 , ab). Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 357 VL1 Chomsky-Hierarchie Zusammenfassung Lösung von Aufgabe 64 Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 358 VL1 Chomsky-Hierarchie Zusammenfassung Lösung von Aufgabe 64 1 b δN (q0 , ) = {q0[ } b δN (q0 , a) = δN (q, a) = {q1 , q2 } q∈b δN (q0 ,) [ b δN (q0 , ab) = δN (q, b) = δN (q1 , b) ∪ δN (q2 , b) = {q0 , q2 } q∈b δN (q0 ,a) 2 (ab+ )∗ (a + ) 3 → ∗{q0} ∗{q1, q2} ∅ ∗{q0, q2} a b {q1, q2} ∅ ∅ {q0, q2} ∅ ∅ {q1, q2} {q0, q2} Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 358 VL1 Chomsky-Hierarchie Zusammenfassung Lösung von Aufgabe 64(ff) Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 359 VL1 Chomsky-Hierarchie Zusammenfassung Lösung von Aufgabe 64(ff) 4 b δD ({q0 }, ab) = δD (b δD ({q0 }, a), b) = δD (δD (b δD ({q0 }, )a), b) = δD (δD ({q0 }, a), b) = δD ({q1, q2}, b) = {q0, q2} Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 359 VL1 Chomsky-Hierarchie Zusammenfassung Aufgabe 65: Minimieren Sie bitte diesen DEA A: Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 360 VL1 Chomsky-Hierarchie Zusammenfassung Aufgabe 65: Minimieren Sie bitte diesen DEA A: Table-Filling q1 q2 q3 q4 q5 q6 X X X X X X q0 X X X X X q1 X X q2 Hoffmann (HAW Hamburg) X X X q3 Äquivalent sind q4, q5 und q2 X q4 X q5 Automatentheorie und formale Sprachen 27.6. 2012 360 VL1 Chomsky-Hierarchie Zusammenfassung Reguläre Sprachen und Ausdrücke • reguläre Ausdrücke Syntax, Sematik, Äquivalenzen • RA zu -NEA rekursiver Aufbau • DEA zu RA k -Pfade, Eliminierung • Abschlusseigenschaften Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 361 VL1 Chomsky-Hierarchie Zusammenfassung Aufgabe 66: Für eine Alphabet Σ, seien zwei reguläre Sprachen gegeben mit Li = L(Ai ) für zwei DEAs Ai = (Qi , Σ, δi , qi , Fi für i ∈ {1, 2}. 1 Konstruieren Sie eine Automaten A, der L1 ∩ L2 erkennt. 2 Geben Sie dafür ein BSP mit Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 362 VL1 Chomsky-Hierarchie Zusammenfassung Aufgabe 66: Für eine Alphabet Σ, seien zwei reguläre Sprachen gegeben mit Li = L(Ai ) für zwei DEAs Ai = (Qi , Σ, δi , qi , Fi für i ∈ {1, 2}. 1 Konstruieren Sie eine Automaten A, der L1 ∩ L2 erkennt. 2 Geben Sie dafür ein BSP mit 1 • Variante 1: Wir kennen den Automaten für das Komplement und für die Vereinigung. • Variante 2: Produktautomat A = A1 × A2 = (Q1 × Q2 , Σ, δ, (q1 , q2 ), F1 × F2 ) mit δ((p1 , p2 ), a) := δ1 × δ2 ((p1 , p2 ), a) = (δ1 (p1 , a), δ2 (p2 , a)) Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 362 VL1 Chomsky-Hierarchie Zusammenfassung Lösung von Aufgabe 66 2 • Variante 1: Es gilt L1 ∩ L2 = (L1 ∪ L2 ). Achtung : Komplementbildung für nur DEAS!! DEA für (L1 ∪ L2 ): -NEA für (L1 ∪ L2 ): a → ∗{q, q0, p0} {q1, p1} ∗{q1, p1} {q2, p3} ∗{q1, p3} {q2, p3} ∗{q2, p3} {q0, p3} {q2, p0} {q0, p1} ∗{q0, p3} {q1, p3} ∗{q0, p1} {q1, p3} ∗{q1, p0} {q2, p1} ∗{q2, p1} {q0, p3} ∗{q0, p0} {q1, p1} Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen b {q1, p3} {q2, p0} {q2, p3} {q0, p3} {q0, p3} {q1, p3} {q1, p0} {q2, p3} {q0, p0} {q1, p3} 27.6. 2012 363 VL1 Chomsky-Hierarchie Zusammenfassung Lösung von Aufgabe 66 2 • Variante 1: Es gilt L1 ∩ L2 = (L1 ∪ L2 ). Achtung : Komplementbildung für nur DEAS!! DEA zu (L1 ∪ L2 ): → {q, q0, p0} {q1, p1} {q1, p3} {q2, p3} ∗{q2, p0} {q0, p3} {q0, p1} {q1, p0} {q2, p1} {q0, p0} a {q1, p1} {q2, p3} {q2, p3} {q0, p3} {q0, p1} {q1, p3} {q1, p3} {q2, p1} {q0, p3} {q1, p1} Hoffmann (HAW Hamburg) b {q1, p3} {q2, p0} {q2, p3} {q0, p3} {q0, p3} {q1, p3} {q1, p0} {q2, p3} {q0, p0} {q1, p3} Automatentheorie und formale Sprachen 27.6. 2012 364 VL1 Chomsky-Hierarchie Zusammenfassung Lösung von Aufgabe 66 2 • Variante 2: A = A1 × A2 = (Q1 × Q2 , Σ, δ, (q1 , q2 ), F1 × F2 ) mit δ((p1 , p2 ), a) := δ1 × δ2 ((p1 , p2 ), a) = (δ1 (p1 , a), δ2 (p2 , a)) Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 365 VL1 Chomsky-Hierarchie Zusammenfassung Pumping-Lemma (für reguläre Sprachen) Pumping Lemma Sei L eine reguläre Sprache. Dann gibt es eine natürliche Zahl p ∈ N, (die so genannte PL-Konstante) so dass jedes Wort w ∈ L mit |w| ≥ p zerlegt werden kann in w = xyz mit • |xy | ≤ p • y , • xy i z ∈ L für alle i ∈ N Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 366 VL1 Chomsky-Hierarchie Zusammenfassung Chomsky-Grammatiken • Terminale und Nonterminale (Symbole), Regeln • Regeln Aufgabe 67: Wie sind Regeln u → v definiert für regulär: kontextfrei: kontext-sensitiv: • Ableitungen • Abschlusseigenschaften • Chomsky-Hierarchie Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 367 VL1 Chomsky-Hierarchie Zusammenfassung Chomsky-Grammatiken • Terminale und Nonterminale (Symbole), Regeln • Regeln Aufgabe 67: Wie sind Regeln u → v definiert für regulär: links ein Nonterminal, rechts höchstens ein Nonterminal, und dann ganz rechts kontextfrei: links ein Nonterminal, rechts ist alles erlaubt kontext-sensitiv: links kürzer als rechts, ausser S → für nicht-rekursive S • Ableitungen • Abschlusseigenschaften • Chomsky-Hierarchie Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 367 VL1 Chomsky-Hierarchie Zusammenfassung Aufgabe 68: 1 Geben Sie eine Grammatik an, die weder regulär noch kontextfrei ist, und die L = {an |n teilbar durch 3} erzeugt. 2 Seien C eine kontextfreie und R eine reguläre Sprache. Ist C ∩ R kontextfrei oder regulär? Warum? Geben Sie bitte eine Beweisidee an. 3 Zeigen Sie, dass L = {w|w ∈ {a, b, c}∗ enthält gleich viele a0 s, b0 s und c 0 s} nicht kontextfrei ist. PL für kfG’s oder unter Verwendung von 2. Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 368 VL1 Chomsky-Hierarchie Zusammenfassung Lösung von Aufgabe 68 1 2 S → aaaS | | XCX , CX → CX Produktautomat zwischen NKA und DEA: Sei K = (Q, Σ, Γ, δK , q0 , Z , FK ) mit L(K ) = Cund D = (P, Σ, δD , p0 , FD ) mit L(D) = R, dann erkennt der NKA P = (Q × P, Σ, Γ, δ, (q0 , p0 ), FK × FD ) mit δ((q, p), a, X ) = {((q 0 , δD (p, a)), α) | (q 0 , α) ∈ δK (q, a, X )} Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 369 VL1 Chomsky-Hierarchie Zusammenfassung Lösung von Aufgabe 68 3 L = {w|w ∈ {a, b, c}∗ enthält gleich viele a0 s, b0 s und c 0 s} • PL für kfG: L sei kontextfrei, also gilt das Pumping-Lemma. Sei z = ap bp c p , dann z ∈ L und |z| ≥ p. vwx enthält höchstens zwei unterschiedliche Zeichen, denn |vwx| ≤ p. Weil vx , , wird durch das Löschen von v und x für ein oder zwei Zeichen der Exponent erniedrigt, aber für den dritten auf jeden Fall nicht, also uv 0 wx 0 y = uwy < L. Widerspruch zur Aussage des Pumping-Lemmas. • Es gilt L ∩ {ai b j c k | i, j, k ≥ 0} = {an b n c n | n ≥ 0}, wobei {ai bj c k | i, j, k ≥ 0} offensichtlich regulär und {an bn c n | n ≥ 0} bekanntermaßen nicht kontextfrei ist. Wegen Ë kann dann L nicht kontextfrei sein. Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 370 VL1 Chomsky-Hierarchie Zusammenfassung Viel Erfolg bei der Klausur!! Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 27.6. 2012 371