Theoretische Informatik Mitschrift

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Theoretische Informatik Mitschrift"

Transkript

1 6. Kontextfreie Sprachen Theoretische Informatik Mitschrift Typ-2-Grammatiken: Regeln der Form A mit A N und N * Beispiel: Grammatik für arithmetische Ausdrücke G= {E,T,F },{,,,,a}, P, E, P : E ET T T T F F F a E Wörter aus L(G): a, a+a, a*a, a*(a+a)... Anwendungsgebiet kontextfreier Grammatiken: Syntaxbeschreibung von Programmiersprachen Backus-Naur-Form Beispiel: Ableitungsbaum zu a*(a+a) Linksableitung: E g T g T F g F F g a F g a E g a E T g a T T g a F T g a at g a a F g a aa T E T F F E E T F T F a * ( a + a ) Front des Ableitungsbaums Definition 6.1 (Ableitungsbaum): Sei G= N,, P, S kontextfrei, in Zeichen G CFG. Sei N * mit S g 1 g 2 g... g k =. Zu dieser Ableitung von wird induktiv ein Ableitungs- oder Syntaxbaum wie folgt konstruiert: - Der Wurzel des Baumes wird das Symbol S zugeordnet. - Für i=1,...,k wird der Baum wie folgt erweitert: Falls im i -ten Schritt Nonterminal A mit der Regel A aus P ersetzt wird, werden max {,1}Kindknoten des entsprechenden mit A beschrifteten Knotens erzeugt und mit den Symbolen von beschriftet; falls = mit.

2 Beobachtungen: Ein Ableitungsbaum ist ein mit Symbolen aus N {} beschrifteter Baum. Die Beschriftung der Blattknoten ergibt von links nach rechts konkateniert die Satzform α (Front des Ableitungsbaums). Verschiedene Ableitungen können den selben Ableitungsbaum haben. Die Klasse aller durch einen Ableitungsbaum repräsentierten Ableitungen hat zwei ausgezeichnete Repräsentanten: eine Links- und eine Rechtsableitung. Zu einer Satzform können mehrere Ableitungsbäume existieren Beispiel: Betrachte G= { E },{,,a,, }, P, E mit P : E E E E E a E. Wir betrachten den Ausdruck a + a + a. Dieses Wort besitzt zwei Ableitungsbäume: E E E + E E + E a E + E E + E a a a a a In G gibt es zu a + a + a nur einen Ableitungsbaum: E E + T E + T F T F a F a a Definition 6.2: G CFG heißt eindeutig, falls zu jedem w LG genau ein Ableitungsbaum (und damit genau eine Linksableitung bzw. genau eine Rechtsableitung) existiert. G heißt mehrdeutig, falls G nicht eindeutig. Eine Sprache L L 2 heißt inhärent mehrdeutig, falls jede Grammatik G mit L=L G mehrdeutig ist. Beispiel (inhärent mehrdeutige kontextfreie Sprache): L={a i b j c k i= j oder j=k,i, j, k 1}={a i b i c j i, j 1} {a i b j c j i, j 1} Es gilt: L 1 L 2 ={a i b i c i i 1}. L 1 L 2. G CFG hat Regeln der Form A.

3 6.1 Normalformen kontextfreier Grammatiken Bereits gezeigt: Jede kontextfreie Grammatik lässt sich in eine äquivalente ε-freie kontextfreie Grammatik transformieren. Übung: Elimination nicht-erreichbarer Symbole bzw. nicht produktiver Nonterminalsymbole Lemma (Eliminierung von Kettenregeln): Jede kontextfreie Grammatik G= N,, P, S läßt sich in eine äuivalente ε-freie kontextfreie Grammatik G' ohne Kettenregeln, d.h. Regeln der Form A B mit A, B N, transformieren. Beweis: OBdA sei G bereits ε-frei. Sei N A :={B N A g * B} für A N. Induktive Definition: N 0 A:={A} N k 1 A:=N k A {B N C N k A mit C B P } Es gilt: N A= N k A. k 0 N k A N k 1 A für alle k 0. N k A=N k 1 A N k A=N ki A für alle i 1. N n A= N n1 A für n:= N. N A kann für jedes A N in endlich vielen Schritten berechnet werden. Definiere G '= N,, P ',S durch P ' ={A B N A: B P, N } Offensichtlich enthält P' keine Kettenregeln und L(G) = L(G'). G' ist ebenfalls ε-frei. Beispiel: E E T T N E ={E, T, F } T T F F N T ={T, F } F a E N F ={F } äquivalente Grammatik ohne Kettenregeln: E ET T F a E T T F a E F a E Definition 6.3 (Chomsky-Normalform): G= N,, P, S CFG heißt in Chomsky-Normalform (CNF), falls alle Regeln in P eine der folgenden Formen haben: (a) A BC mit B,C N (b) A a mit a (c) S und S auf keiner rechten Regelseite

4 Bemerkung: Ableitungsbäume bei CNF-Grammatik sind Binärbäume: A B C a a n Ableitung eines w + in w w 1=2 w 1 Schritten. Satz 6.1: Zu jeder Grammatik G CFG existiert eine äquivalente kontextfreie Grammatik in CNF. Beweis: OBdA. G ε-frei, ohne Kettenregeln. Die Regeln in P haben also die Form A a mit a oder A mit N *, Füge für jedes a ein neues Nonterminal N a zu N hinzu und zu P die Regel N a a. Ersetze in der Regel A mit 2 jedes a durch N a. 2. Eliminiere Regeln der Form A B 1... B k mit k 3 durch Hinzunahme von k 2 neuen Nonterminalen C 1,..., C k 2 (für jede solche Regel) und durch Ersetzen der Regel A B 1... B k durch die Regeln A B 1 C 1 C 1 B 2 C 2 C k 2 B k 1 B k Beispiel: G= {S, A, B},{a,b,c}, P,S mit P : S AB Aab aab B c cb LG={a n b n c i i,n 1} G '= {S, A, B,N a, N b, N c,c},{a,b,c}, P ',S mit P ' : S AB A N a N b N a C C AN b B c N c B N a a N b b N c c

5 Definition 6.4 (Greibach-Normalform): G CFG heißt in Greibach-Normalform, falls alle Regeln die Form A ab 1... B k (a, B i N {S }, k 0 ) haben oder S. Bemerkung: Verallgemeinerung rechtslinearer Regeln. Wichtig für Top-Down-Analyse, da keine Linksrekursion. Definition 6.5: Sei G= N,, P, S CFG, A N. A heißt linksrekursiv, falls A + A für ein N *. G heißt linksrekursiv, falls ein A N linksrekursiv. analog: Rechtsrekursion. Übung: Elimination von Linksrekursion 6.2 Der CYK-Algorithmus Wortproblem für Typ 1, 2, 3-Sprachen entscheidbar, aber der allgemeine Algorithmus für Typ-1- Sprachen hat exponentiellen Aufwand. Jetzt: polynomieller Algorithmus für CFGs in Chomsky-Normalform. CYK: Cocke, Younger, Kasami: Entwickler des Algorithmus. Idee: Ableitungsbaum für w = a 1... a n ist Binärbaum. S w = A a 1... a k w 1,k B a k1...a n w k 1, n k Divide et impera! Reduziere das Wortproblem für w = a 1... a n auf Wortprobleme für w 1, k = a 1... a k und w k + 1, n k = a k a n. Problem: Schnittstelle ist nicht bekannt! Chomsky-NF: A BC A a S ε, S auf keiner rechten Regelseite Ableitungsbäume sind Binärbäume 1. Anwendung: CYK-Algotithmus Entscheidung des Wortproblems für beliebige CFL mit kubischem Zeit und quadratischem Platzaufwand

6 Idee: Sei w=a 1...a n *. Falls w L, existiert Ableitungsbaum S w = A a 1...a k w 1,k B a k1...a n w k 1, n k Divide et impera! Das Wortproblem für w wird zerlegt in zwei Wortprobleme für Teilwörter w 1. Index, Länge von w. Problem: Schnittstelle k nicht bekannt. Ansatz: Untersuche induktiv alle Teilwörter der Länge 1, 2,..., n von w auf Ableitbarkeit aus Nonterminalen der Grammatik. Definition: w i, j :=a i... a i j 1,1 i n,1 j n i1 ( w i, j = j ) N i, j :={A N A g * w i, j } Korollar: w LG S N 1, n Verfahren: Berechne: i N 1,1 N 2,1... N n,1 N 1,2 N 2,2 N n-1,2 j N 1,3 N 2,3 N n-2,3... N 1,n Mit: 1. Induktionsanfang: A N i,1 A a i P 2. Induktionsschluss: A N i, j mit i j 1 n i n1 j k :1 k j A BC P, B N i, k C N ik, j k Beispiel: G: S AC a A BS b B b C BS i b a b b b a {A,B} {S} {A,B} {A,B} {A,B} {S} j {A,C} {A,C} {S} {A,C} {S}

7 Pseudo-Code zu CYK-Algorithmus Eingabe: G= N,, P,S CFG in CNF, w=a 1...a n +, n0 for i = 1 to n do N i,1 :={A Aa i P} for j = 2 to n do for i = 1 to n + 1 j do N i,j := for k = 1 to j 1 do N i, j := N i, j {A N A BC P, B N i,k,c N ik, j k } if S N 1,n then write ( w LG ) else write ( w LG ). Komplexität: Zeit: 1. for-schleife über i: c 1 n innerste for-schleife über k: c 2 j 1 for-schleife über i: c 2 n1 j j 1 n for-schleife über j: c 2 n1 j j 1= j=2 n 3 n Gesamtaufwand: c 1 n c 2 O n 3 6 n 1 c 2 O-Notation: f :NN O f n={g :NN c 1 n 0 N: n n 0 g n c f n} Platz: O(n²) j =1 n 1 n j j= c 2 j=1 n 1 n j j=1 j 2 =...= c n 3 n Das Pumping-Lemma Satz 6.2 (Pumping Lemma, uvwxy-theorem): Sei L L 2. Dann existiert ein n N, so dass sich alle Wörter z L mit z nzerlegen lassen in z=uvwxy mit folgenden Eigenschaften: (i) vx 1 ( vx ) (ii) vwx n (iii) für alle i 0:uv i wx i y L. Beweisidee: Bei genügend langen Worten werden die Pfade im Ableitungsbaum so lang, dass Nonterminale sich wiederholen müssen. Pumpstelle Beweis: Sei G= N,,P, S CFG in CNF mit L=LG. Sei k:= N und n:=2 k. Sei z L mit z n. Ableitungsbaum von z ist (bis auf letzte Ableitungsstufe) Binärbaum mit mehr als 2 k Blättern.

8 S / \ / \ / \ / \ / \ / \... / \ / \... / \ es existiert ein Pfad der Länge k 1. Wähle einen minimalen letzter Ableitungsschritt solchen Pfad: auf diesem Pfad liegen einschließlich des Startsymbols mindestens k + 2 Symbole und mindestens k + 1 Nonterminale. Da N = k muss mindestens ein Nonterminal doppelt vorkommen. a 1 a 2 a 3 a 4... a m -1 a m S ~ A ~ A ~ z u v w x y Wähle ein solches Doppelvorkommen, etwa A N, so dass es ausgehend von der Blattebene die erste Nonterminalwiederholung ist. Dann gilt: i vx G ist in CNF und damit -frei. Wäre v=x=, so wären die Ableitungsschritte von denen zum nächsten A nur mit Kettenregeln möglich. (ii) vwx n Wegen der Wahl der ersten Nonterminalwiederholung von der Blattebene aus hat der Baum unterhalb des oberen As höchstens 2 k =n Blätter. (iii) uv i wx i y L für alle i 0, da der Ableitungsbaum von z wie folgt modifiziert werden kann: 1.) Einhängen des unteren A-Baums an der Position des oberen As uwy=uv 0 wx 0 y L S ~ A u w y 2.) Einhängen des oberen A-Baums an der Position des unteren uv i wx i y L i 1 Q.E.D. S ~ A ~ u v A x y ~ v A x... v A x w

9 Pumping Lemma für CFLs: L L 2 n N z L mit z n u, v, w, x, y * mit z=uvwxy : (i) vx (ii) vwx n (iii) i 0: uv i wx i y L. Beispiel: G= {S, A, B,C },{a, b}, S, P mit P : S AC a A BS b B b C BS k=4, n=2 4 =16 S A C B S B S A C B S B S b b a b a b a u v w x y bb i aba i ba L G Beispielanwendung des Pumping Lemmas: L={a k b k c k k 1} L 1. Wir zeigen, dass L L 2. Annahme, L wäre kontextfrei. Sei n N die PL-Zahl von L. Betrachte z=a n b n c n. Es gilt: z =3 n n. Sei z=uvwxy eine Zerlegung von z mit (i) und (ii). Wegen vwx n kann vx nicht gleichzeitig as und cs enthalten. Da zudem vx, kann das Wort uwy nicht mehr gleich viele as, bs und cs enthalten und somit kein Element aus L sein q.e.d. Korollar: L 2 L 1 für 3. Wie man leicht zeigt, ist {0 p p Primzahl} eine nicht-kontextfreie Sprache, die z.z. mit PL kontextsensitiv später mit Automatenmodell für L 1 ist. analog zum regulären Fall

10 Abschlusseigenschaften kontextfreier Sprachen Satz 6.3: L 2 ist abgeschlossen unter Vereinigung Komplexprodukt reguläre Operationen Stern, aber nicht unter Durchschnitt und Komplement. Beweis: Seien L 1, L 2 L 2 und G i = N i,, P i, S i CFG -frei mit L i =L G i (i {1, 2}) O.B.d.A.: N 1 N 2 = Vereinigung: G= N 1 N 2 {S },,P 1 P 2 {S S 1 S 2 },S CFG mit LG=L G 1 LG 2. Komplexprodukt: G= N 1 N 2 {S },, P 1 P 2 {S S 1 S 2 },S CFG mit LG=L G 1 LG 2. Stern: G= N 1 {S },, P 1 {S,S S 1 S } {S 1 }, S CFG mit LG=L G 1 *. Gegenbeispiel zu Abschluss unter Durchschnitt: L 1 ={a i b i c j i, j 1}, L 2 ={a i b j c j i, j 1} L 1 L 2, da L 1 =L G 1 mit G 1 : S AC A aab ab C CC c L 2 analog. L 1 L 2 ={a i b i c i i 1} L 2. Damit kann auch kein Abschluss von Komplement gegeben sein, weil L 1 L 2 = L 1 L 2. Q.E.D. 6.4 Push-Down-Automaten (Kellerautomaten) Charakterisierung kontextfreier Sprachen durch Push-Down-Automaten (PDAs, Kellerautomaten), Erweiterung von NFAs um Push-Down-Speicher (Kellerspeicher) Definition 6.5: Ein (nichtdeterministischer) Push-Down-Automat (PDA, Kellerautomat) ist ein Tupel = Q,,,, q 0, Z 0, F, wobei - Q,, q 0, F wie bei einem NFA sind, - das Push-Down-Alphabet - Z 0 das Push-Down-Startsymbol und - :Q {} Q * die Transitionsfunktion ist. Dabei bezeichnet f Q * die Menge aller endlichen Teilmengen von Q * (f = finite) Bezeichnung: PDA

11 Modell: Eingabe endl. Kontrolle Schreibweise: Falls q', Z 1...Z k q,a,z:q a Z q' Z 1... Z k Intuitive Bedeutung: PUSH -Operation: k 1, Z wird durch Z 1...Z k ersetzt POP-Operation: k =0, Z wird gelöscht Soll Z enthalten bleiben, muss Z wieder in den Push-Down-Speicher geschrieben werden. Beispiel: PDA zu L={a n b n n 1}: = Q,,,,q 0,Z 0,F mit Q={q 0,q f } ={a,b} ={Z 0,a} F ={q f } : q 0 a Z 0 q 0 a Z 0 "erster a-schritt" q 0 a a q 0 aa "speichere as im Push-Down-Speicher" q 0 b aq 1 "erster b-schritt" q 1 b a q 1 "lösche a für jedes b" q 1 Z 0 q f Endzustand

12 Definition 6.6 (Einzelschrittrelation, erkannte Sprache): Ein Tripel q,w, Q * * heißt Konfiguration von A. Die Einzelschrittrelation Q * * Q * * wird festgelegt durch: a-schritt: q,aw,z q',w, Z 1...Z k falls q a Z q' Z 1... Z k ε-schritt (autonome Transition): q,w, Z q',w,z 1...Z k falls q Z q' Z 1...Z k Anfangskonfiguration: (q 0, w, Z 0 ) sinnvolle Endkonfigurationen: Endzustand q,, mit q F L, F ={w * q F, *:q 0, w,z 0 *q,, } leerer Speicher q,, mit q beliebig L,={w * q Q :q 0,w,Z 0 *q,,} beides: q,, mit q F L,, F ={w * q F :q 0,w,Z 0 * q,,} 3 Sprachklassen: Satz 6.4: L,PDA, F = Beweis durch Ringschluss. L,PDA,F, L,PDA,, L,PDA,,F L, PDA, = L, PDA,, F Konfigurationsfolgen: q 0, aabb, Z 0 q 0,abb, az 0 q 0, bb, aaz 0 q 1,b, az 0 q 1,, Z 0 q f,, q 0, b..., Z 0 Sackgasse q 0, aab, Z 0 3 q 1,, az 0 Sackgasse PDA : = Q,,,,q 0, Z 0, F :Q {} f Q * Q * * Q * * Anfangskonfiguration: q 0, w, Z 0 mit w * 3 sinnvolle Endkonfigurationen: q,, mit q F L, F L, PDA, F q,, mit q Q beliebig L, L, PDA, L,PDA q,, mit q F L,, F L, PDA,, F Satz 6.5: L 2 =L,PDA Beweis: " ": Zeige: L L 2 PDA : L=L,. Sei G= N,, P, S CFG mit L=L G. Konstruiere den sogenannten Top-Down-Analyseautomaten für L: = {q},, N,,q,S, PDA durch * q,, A:={q, A P}"Regelanwendung auf den Kellerspeicher" Nichtdeterminismus! q,a,a :={q,} "Vergleichsschritt zur Abarbeitung von Terminalsymbolen"

13 A simuliert nichtdeterministische Linksableitungen auf dem Keller. Es gilt: L(G) = L(A, ε). formaler Beweis durch Induktion über die Ableitungslänge, hier: Beispiel: G= {S },{a,b},{s asb},s LG={a n b n n 0} = {q},{a,b},{a,b,s },,q,s, PDA mit q,, S={q,,q,aSb} q,a, a={q,} q,b, b={ q,} Konfigurationsfolgen: zu Eingabe aabb: Sackgasse,aabb, q,aabb,s q Sackgasse, abb,b q,aabb,asb q q, abb,asbb q,bb,sbb q,bb,bb q,b,b q Erfolg,, q,bb,asbbb Sackgasse aabb L, Beweis: " ": Zeige: PDA G CFG : L, = LG. Beweisidee: G muss die Ableitsweise von A simulieren. Kodiere Konfigurationen von A in den Nonterminalen von G: [q,z, q' ] Q Q mit Bedeutung: Ist A im Zustand q mit Z auf der Kellerspitze, so wird die Speicherposition von Z im Zustand q' gelöscht, insbesondere gilt: ( ) [q, Z,q' ] g *w q,w,z *q',,. Sei = Q,,,, q 0, Z 0, F PDA. Definiere G= N,, P,S durch N :={S } Q Q N =1 Q 2, Z,q k ] a[ p,z 1,q 1 ][q 1, Z 2,q 2 ]...[q k 1,Z k,q k ] P :={S[q 0, Z 0,q] q Q} {[q q,a,z p,z 1... Z k mit k 1,a {}, "rate Endzustand des Automaten" Z, Z i,q, p,q i Q} "push-schritt" {[q,z, p] a q,a,z p,} "pop-schritt" Beweise ( ) induktiv über die Ableitungs- bzw. Berechnungslänge: " ": [q, Z,q' ] n w q,w,z g *q',,

14 Induktionsanfang (n = 1): Es kann nur ein pop -Schritt vorliegen, d.h. w {} q ', q, w, Z. Induktionsschluss: [q, Z, q ' ] g n1 =q 0 w [q, Z, q ' ] g a [ p, Z 1,q 1 ] r g 1w 1 =q '...[q, Z, q ] k 1 k k r g k w k und w=a w 1... w k, p,z 1... Z k q, a, Z,r j n für alle j, d.h. für die Ableitungenq j 1, Z j, q j r j w j ist die Induktionsvoraussetzung anwendbar, d.h. q j 1, w j v, Z j *q j, v, q, w, Z = q, aw 1... w k, Z p, w 1... w, Z k 1... Z *q k 1, w 2... w, Z k 2... Z k =q ' *q 2,w 3...w k, Z 3... Z k *... *q k 1,w k 1, Z k * q k,, Rückrichtung wird analog induktiv über die Anzahl der Berechnungsschritte bewiesen. Mit ( ) folgt: w LG S g *w q' Q :[q 0,Z 0,q' ] g * w ( ) q' Q :q 0,w, Z 0 *q',, w L, q.e.d. Definition 6.7: Ein PDA = Q,,,,q 0,Z 0, F heißt deterministisch, falls für alle q Q,a, Z gilt: q, a,z q,,z 1 Deterministische PDAs akzeptieren per Endzustand, d.h. L, DPDA:=L, DPDA,F ={L,F ist deterministischer PDA} L, DPDA,. L, DPDA bezeichnet die Klasse der deterministisch kontextfreien Sprachen. bereits gezeigt: {a n b n n 1} L,DPDA. Beispiel: nichtdeterministischer PDA zu Palindromen ohne markierte Mitte L={a 1...a n a n...a 1 a i {a,b},1 i n,n 1} = {q 0,q 1 },{a, b},{z 0,a,b},,q 0,Z 0,{q 1 } mit : q 0 a X q 0 ax X "Merke Buchstaben" q 0 b X q 0 bx } q 0 a a q 1 } q 0 b b q 1 "Vermute Wortmitte" q 1 a a q 1 "Lösche Buchstaben aus Speicher" q 1 b bq 1 } q 1 Z 0 q 1 "Lösche Startsymbol" Es gilt: L,=L,,F =L noch zu zeigen: L L, PDA L, DPDA s.o. noch zu zeigen

15 L 2 =L,PDA L, DPDA Wir zeigen: {w w w *} L, PDA L, DPDA L, DPDA: deterministisch kontextfreie Sprachen Hilfsresultate Satz 6.6: L 2 ist unter Schnitt mit regulären Sprachen abgeschlossen, L,DPDA auch. Beweisidee: paralleles Rechnen von PDA (bzw. DPDA) und ' DFA zur Erkennung von L,F L '. Q.E.D. Definition 6.8: Zu L * sei Min L :={w L w ' + v *: w=vw ' v L}. Lemma: L L,DPDA Min L L,DPDA. Beweis: Sei = Q,,,, q 0,Z 0,F DPDA mit L=L,F. Ändere so ab, dass nach Erreichen eines Endzustandes nie wieder ein solcher erreicht wird: - Hinzufügen eines Senkenzustandes q zu Q mit q, a,z={q,z} für alle a,z - Abwandeln von für q F: q,a,z ={q,z} für alle a,z. Wichtig ist der Determinismus des DPDA, da dieser garantiert, dass es pro Wort genau eine Konfigurationsfolge gibt. Der modifizierte Automat erkennt nur die Wörter in L, bei denen kein echtes Präfix auch in L ist, d.h. Min(L). q.e.d. Korrolar: L:={w w w + } L,DPDA,={a, b }. Beweis: Annahme, L L, DPDA Min L L, DPDA (6.6) L :=Min L ab + ba + ab + ba + L, DPDA Aber: L={ab i ba j ab j ba i i j0} ist nicht kontextfrei, wie man mit dem kein Präfix in L Pumping Lemma zeigt q.e.d. Satz 6.7: L,DPDA L, PDA=L 2. Abschlusseigenschaften: Vereinigung Schnitt Komplement Produkt Stern L L,DPDA

16 Anwendung kontextfreier Sprachen: Syntaxbeschreibung von Programmiersprachen und damit die Syntaxanalyse. 2 Methoden: 1.) Top-Down-Analyse S Top-Down-Analyseautomat w 2.) Bottom-Up-Analyse S Idee: Schiebe Terminale von der Eingabe auf den Stack Shift-Schritte w - Ersetze rechte Regelseiten durch linke Reduce-Schritt Shift-Reduce-Parser Falls es gelingt, das Startsymbol auf dem Stack (Kellerspeicher) zu reduzieren und die Eingabe komplett zu lesen, wird das Wort akzeptiert. umgekehrte Rechtsableitung

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten Inhalt 1 Einführung 2 Automatentheorie und Formale Sprachen Grammatiken Reguläre Sprachen und endliche Automaten Kontextfreie Sprachen und Kellerautomaten Kontextsensitive und Typ 0-Sprachen 3 Berechenbarkeitstheorie

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

Wortproblem für kontextfreie Grammatiken

Wortproblem für kontextfreie Grammatiken Wortproblem für kontextfreie Grammatiken G kontextfreie Grammatik. w Σ w L(G)? Wortproblem ist primitiv rekursiv entscheidbar. (schlechte obere Schranke!) Kellerautomat der L(G) akzeptiert Ist dieser effizient?

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik 1 Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Wintersemester 2014/15 2 Kontextfreie Grammatiken Definition: Eine Grammatik G

Mehr

Automatentheorie und formale Sprachen

Automatentheorie und formale Sprachen Automatentheorie und formale Sprachen VL 8 Chomsky-Grammatiken Kathrin Hoffmann 23. Mai 2012 Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 23.5. 2012 250 Wortproblem Wortproblem ist das

Mehr

Kontextfreie Sprachen

Kontextfreie Sprachen Kontextfreie Sprachen Bedeutung: Programmiersprachen (Compilerbau) Syntaxbäume Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung

Mehr

Kapitel 2: Formale Sprachen Kontextfreie Sprachen. reguläre Grammatiken/Sprachen. kontextfreie Grammatiken/Sprachen

Kapitel 2: Formale Sprachen Kontextfreie Sprachen. reguläre Grammatiken/Sprachen. kontextfreie Grammatiken/Sprachen reguläre Grammatiken/prachen Beschreibung für Bezeichner in Programmiersprachen Beschreibung für wild cards in kriptsprachen (/* reguläre Ausdrücke */)?; [a-z]; * kontextfreie Grammatiken/prachen Beschreibung

Mehr

Kontextfreie Sprachen

Kontextfreie Sprachen Kontextfreie Sprachen besitzen große Bedeutung im Compilerbau Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung durch

Mehr

Tutoraufgabe 1 (ɛ-produktionen):

Tutoraufgabe 1 (ɛ-produktionen): Prof aa Dr J Giesl Formale Systeme, Automaten, Prozesse SS 2010 M Brockschmidt, F Emmes, C Fuhs, C Otto, T Ströder Hinweise: Die Hausaufgaben sollen in Gruppen von je 2 Studierenden aus dem gleichen Tutorium

Mehr

REG versus CF. Theorem REG ist echt in CF enthalten.

REG versus CF. Theorem REG ist echt in CF enthalten. REG versus CF Theorem REG ist echt in CF enthalten. Beweis: Wir wissen: L = {a m b m m 1} ist nicht regulär. Andererseits ist L kontextfrei, wie die einfache kontextfreie Grammatik G = ({a, b}, {S}, S,

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 Einführung Beispiel: Aussagenlogische Formeln Aus dem Logikteil: Definition (Syntax

Mehr

Programmiersprachen und Übersetzer

Programmiersprachen und Übersetzer Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch

Mehr

Grammatiken. Einführung

Grammatiken. Einführung Einführung Beispiel: Die arithmetischen Ausdrücke über der Variablen a und den Operationen + und können wie folgt definiert werden: a, a + a und a a sind arithmetische Ausdrücke Wenn A und B arithmetische

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (III) 17.06.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Theoretische Informatik Mitschrift

Theoretische Informatik Mitschrift Theoretische Informatik Mitschrift 2. Grammatiken und die Chomsky-Hierarchie Beispiel: Syntaxdefinition in BNF :=

Mehr

Chomsky-Grammatiken 16. Chomsky-Grammatiken

Chomsky-Grammatiken 16. Chomsky-Grammatiken Chomsky-Grammatiken 16 Chomsky-Grammatiken Ursprünglich von Chomsky in den 1950er Jahren eingeführt zur Beschreibung natürlicher Sprachen. Enge Verwandschaft zu Automaten Grundlage wichtiger Softwarekomponenten

Mehr

Informales Beispiel. Formale Grundlagen der Informatik 1 Kapitel 6 Eigenschaften kontextfreier Sprachen. Grammatiken. Anmerkungen

Informales Beispiel. Formale Grundlagen der Informatik 1 Kapitel 6 Eigenschaften kontextfreier Sprachen. Grammatiken. Anmerkungen Informales Beispiel Formale Grundlagen der Informatik 1 Kapitel 6 Eigenschaften kontextfreier Sprachen Frank Heitmann heitmann@informatik.uni-hamburg.de 22. April 2014 I L IL ID L a b c D 0 1 2 3 4 Eine

Mehr

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Ulrich Furbach. Sommersemester 2014

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Ulrich Furbach. Sommersemester 2014 Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Ulrich Furbach Institut für Informatik Sommersemester 2014 Furbach Grundlagen d. Theoretischen Informatik:

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 3. Endliche Automaten (V) 21.05.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Determinierte endliche Automaten (DEAs) Indeterminierte

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 17. Januar 2012 INSTITUT FÜR THEORETISCHE 0 KIT 18.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der

Mehr

Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit

Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit Sommersemester 2011 Dozent: Prof. Dr. J. Rothe, Prof. Dr. M. Leuschel J. Rothe (HHU Düsseldorf)

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 15.01.2015 INSTITUT FÜR THEORETISCHE 0 KIT 15.01.2015 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

Theoretische Informatik Mitschrift

Theoretische Informatik Mitschrift 3. Endliche Automaten endliche Zustandsübergangssysteme Theoretische Informatik Mitschrift Beispiel: 2-Bit-Ringzähler: ={Inc} L R ={IncInc Inc,Inc 7, Inc 11,...} n ' mod ' 4=3 ={Inc n k 0.n=4 k3 } 2-Bit-Ringzähler

Mehr

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung Theoretische Informatik Rainer Schrader Zentrum für Angewandte Informatik Köln 14. Juli 2009 1 / 40 2 / 40 Beispiele: Aus den bisher gemachten Überlegungen ergibt sich: aus der Chomsky-Hierarchie bleiben

Mehr

Spracherkennung (Syntaxanalyse)

Spracherkennung (Syntaxanalyse) Kellerautomaten Kellerautomaten 8 Spracherkennung (Syntaxanalyse) Algorithmus gesucht, der für L T (möglichst schnell) entscheidet, ob w L (Lösung des Wortproblems) Grammatik Automat Aufwand rechtslinear

Mehr

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen 19

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen 19 Inhalt 1 inführung 2 Automatentheorie und ormale prachen Grammatiken Reguläre prachen und endliche Automaten Kontextfreie prachen und Kellerautomaten Kontextsensitive und yp 0-prachen 3 Berechenbarkeitstheorie

Mehr

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik Grundlagen der Informatik II Teil I: Formale Modelle der Informatik 1 Einführung GdInfoII 1-2 Ziele/Fragestellungen der Theoretischen Informatik 1. Einführung abstrakter Modelle für informationsverarbeitende

Mehr

Automaten und formale Sprachen Klausurvorbereitung

Automaten und formale Sprachen Klausurvorbereitung Automaten und formale Sprachen Klausurvorbereitung Rami Swailem Mathematik Naturwissenschaften und Informatik FH-Gießen-Friedberg Inhaltsverzeichnis 1 Definitionen 2 2 Altklausur Jäger 2006 8 1 1 Definitionen

Mehr

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 7 Vorlesung Theoretische Grundlagen der Informatik im W 16/17 Ausgabe 17. Januar 2017 Abgabe 31. Januar 2017, 11:00 Uhr (im

Mehr

Sprachen/Grammatiken eine Wiederholung

Sprachen/Grammatiken eine Wiederholung Sprachen/Grammatiken eine Wiederholung Was sind reguläre Sprachen? Eigenschaften regulärer Sprachen Sprachen Begriffe Symbol: unzerlegbare Grundzeichen Alphabet: endliche Menge von Symbolen Zeichenreihe:

Mehr

Tutorium zur theoretischen Informatik Übungsblatt 4 (2006-12-13)

Tutorium zur theoretischen Informatik Übungsblatt 4 (2006-12-13) Ein verständiges Herz erwirbt Kenntnisse, und das Ohr der Weisen lauscht dem Wissen. (Die Bibel, "Buch der Sprüche", Kapitel 18 Vers 15) Inhalt 1. Empfehlenswerte Referenzen 2. Aufgabe 1 CF Grammatik für

Mehr

Formale Sprachen und Grammatiken

Formale Sprachen und Grammatiken Formale Sprachen und Grammatiken Jede Sprache besitzt die Aspekte Semantik (Bedeutung) und Syntax (formaler Aufbau). Die zulässige und korrekte Form der Wörter und Sätze einer Sprache wird durch die Syntax

Mehr

Formale Sprachen. Script, Kapitel 4. Grammatiken

Formale Sprachen. Script, Kapitel 4. Grammatiken Formale Sprachen Grammatiken Script, Kapitel 4 erzeugen Sprachen eingeführt von Chomsky zur Beschreibung natürlicher Sprachen bedeutend für die Syntaxdefinition von Programmiersprachen (Compilerbau) Automaten

Mehr

Zusammenfassung Grundzüge der Informatik 4

Zusammenfassung Grundzüge der Informatik 4 Zusammenfassung Grundzüge der Informatik 4 Sommersemester 04 Thorsten Wink 21. September 2004 Version 1.2 Dieses Dokument wurde in L A TEX 2εgeschrieben. Stand: 21. September 2004 Inhaltsverzeichnis 1

Mehr

Theoretische Informatik Mitschrift

Theoretische Informatik Mitschrift 5 Eigenschaften regulärer Sprachen 51: Die Nerode-Relation Theoretische Informatik Mitschrift Definition 51: Sei L * L * * mit L :={u, v * * w *:uw L v w L }heißt Nerode-Relation von L Sei ={0,1}, L= *{00}

Mehr

Deterministischer Kellerautomat (DPDA)

Deterministischer Kellerautomat (DPDA) Deterministische Kellerautomaten Deterministischer Kellerautomat (DPDA) Definition Ein Septupel M = (Σ,Γ, Z,δ, z 0,#, F) heißt deterministischer Kellerautomat (kurz DPDA), falls gilt: 1 M = (Σ,Γ, Z,δ,

Mehr

Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung

Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung Frank Heitmann heitmann@informatik.uni-hamburg.de 13. Mai 2014 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/17 Überblick Wir hatten

Mehr

2.11 Kontextfreie Grammatiken und Parsebäume

2.11 Kontextfreie Grammatiken und Parsebäume 2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle

Mehr

Übung zur Vorlesung Grundlagen der theoretischen Informatik. Aufgabenblatt 7 Lösungen. Wiederholung: Pumping-Lemma für kontextfreie Sprachen

Übung zur Vorlesung Grundlagen der theoretischen Informatik. Aufgabenblatt 7 Lösungen. Wiederholung: Pumping-Lemma für kontextfreie Sprachen Prof. Dr. Viorica Sofronie-Stokkermans Universität Koblenz-Landau Fachbereich 4: Informatik Dennis Peuter 01. Juni 2017 Übung zur Vorlesung Grundlagen der theoretischen Informatik Aufgabenblatt 7 Lösungen

Mehr

Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz.

Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz. Chomsky-0-Grammatik Rek. Aufz. Satz T5.2.2: Wenn L durch eine Chomsky-0- Grammatik G beschrieben wird, gibt es eine NTM M, die L akzeptiert. Beweis: Algo von M: Schreibe S auf freie Spur. Iteriere: Führe

Mehr

Kapitel 2: Formale Sprachen Gliederung

Kapitel 2: Formale Sprachen Gliederung Gliederung 0. Einleitung und Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.1. Chomsky-Grammatiken 2.2. Reguläre Sprachen 2.3. Kontextfreie Sprachen

Mehr

Grammatiken und die Chomsky-Hierarchie

Grammatiken und die Chomsky-Hierarchie Grammatiken und die Chomsky-Hierarchie Def.: Eine Grammatik G=(Σ,V,S,R) besteht aus endlichem Alphabet Σ endlicher Variablenmenge V mit V Σ= Startsymbol SєV endlicher Menge R с (V Σ) + x(v Σ)* von Ableitungsregeln

Mehr

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel. Kontextfreie Kontextfreie Motivation Formale rundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen Bisher hatten wir Automaten, die Wörter akzeptieren Frank Heitmann heitmann@informatik.uni-hamburg.de

Mehr

Die mathematische Seite

Die mathematische Seite Kellerautomaten In der ersten Vorlesung haben wir den endlichen Automaten kennengelernt. Mit diesem werden wir uns in der zweiten Vorlesung noch etwas eingängiger beschäftigen und bspw. Ansätze zur Konstruktion

Mehr

Klammersprache Definiere

Klammersprache Definiere Klammersprache w=w 1...w n {(,)}* heißt korrekt geklammert, falls die Anzahl ( ist gleich der Anzahl ). in jedem Anfangsstück w 1,...,w i (i n) ist die Anzahl ( nicht kleiner als die Anzahl ). Definiere

Mehr

Ein Satz der deutschen Sprache besitzt ein Subjekt, ein Prädikat und ein Objekt (SPO).

Ein Satz der deutschen Sprache besitzt ein Subjekt, ein Prädikat und ein Objekt (SPO). 1 Grammatiken Autor: Tilman Blumenbach Letzte Änderung: 28. Juni 2012 18:15 Ziel von Grammatiken Wollen die Struktur von Sprachen modellieren und charakterisieren. Beispiel Ein Satz der deutschen Sprache

Mehr

Andererseits ist L kontextfrei, wie die einfache kontextfreie Grammatik G = ({a, b},{s}, S, P) mit den Regeln

Andererseits ist L kontextfrei, wie die einfache kontextfreie Grammatik G = ({a, b},{s}, S, P) mit den Regeln REG versus CF Theorem REG ist echt in CF enthalten. Beweis: Wir wissen: L = {a m b m m 1} ist nicht regulär. Andererseits ist L kontextfrei, wie die einfache kontextfreie Grammatik G = ({a, b},{s}, S,

Mehr

A : z z A : z z : ( z, x, z ) δ

A : z z A : z z : ( z, x, z ) δ Informatik IV, SoS2003 1 Definition 1.1 Ein Quintupel A =(X,Z,z 0,δ,Z f )heißt nichtdeterministischer endlicher Automat (NEA): 1. X, Z sind endliche nichtleere Mengen. 2. z 0 Z 4. δ Z X Z Informatik IV,

Mehr

I.5. Kontextfreie Sprachen

I.5. Kontextfreie Sprachen I.5. Kontextfreie prachen Zieht man in Betracht, dass BNF-yteme gerade so beschaffen sind, dass auf der linken eite immer genau ein Nichtterminal steht, so sind das also gerade die Ableitungsregeln einer

Mehr

3 kontextfreie Sprachen

3 kontextfreie Sprachen Hans U. Simon Bochum, den 7.10.2008 Annette Ilgen Beispiele zur Vorlesung Theoretische Informatik WS 08/09 Vorbemerkung: Hier findet sich eine Sammlung von Beispielen und Motivationen zur Vorlesung Theoretische

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische Informatik I Einheit 2.4 Grammatiken 1. Arbeitsweise 2. Klassifizierung 3. Beziehung zu Automaten Beschreibungsformen für Sprachen Mathematische Mengennotation Prädikate beschreiben Eigenschaften

Mehr

Vorlesung Theoretische Informatik

Vorlesung Theoretische Informatik Vorlesung Theoretische Informatik Automaten und Formale Sprachen Hochschule Reutlingen Fakultät für Informatik Masterstudiengang Wirtschaftsinformatik überarbeitet von F. Laux (Stand: 09.06.2010) Sommersemester

Mehr

q 0 q gdw. nicht (q A) (q A) q i+1 q gdw. q i q oder ( a Σ) δ(q, a) i δ(q, a) L = {a n b n : n N} für a, b Σ, a b

q 0 q gdw. nicht (q A) (q A) q i+1 q gdw. q i q oder ( a Σ) δ(q, a) i δ(q, a) L = {a n b n : n N} für a, b Σ, a b Kap. 2: Endliche Automaten Myhill Nerode 2.4 Minimalautomat für reguläre Sprache Abschnitt 2.4.3 L Σ regulär der Äuivalenzklassen-Automat zu L ist ein DFA mit minimaler Zustandszahl (= index( L )) unter

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Übung am 02.02.2012 INSTITUT FÜR THEORETISCHE 0 KIT 06.02.2012 Universität des Andrea Landes Schumm Baden-Württemberg - Theoretische und Grundlagen der Informatik

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische nformatik inheit 3 Kontextfreie Sprachen 1. Kontextfreie Grammatiken 2. Pushdown Automaten 3. igenschaften kontextfreier Sprachen Theoretische nformatik inheit 3.1 Kontextfreie Grammatiken

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (II) 11.06.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Ausgabe 10. Januar 2018 Abgabe 23. Januar 2018, 11:00 Uhr (im

Mehr

Formale Sprachen und deren Grammatiken. Zusammenhang mit der Automatentheorie.

Formale Sprachen und deren Grammatiken. Zusammenhang mit der Automatentheorie. Formale Sprachen Formale Sprachen und deren Grammatiken. Zusammenhang mit der Automatentheorie. Inhaltsübersicht und Literatur Formale Sprachen: Definition und Darstellungen Grammatiken für formale Sprachen

Mehr

Abschluss gegen Substitution. Wiederholung. Beispiel. Abschluss gegen Substitution

Abschluss gegen Substitution. Wiederholung. Beispiel. Abschluss gegen Substitution Wiederholung Beschreibungsformen für reguläre Sprachen: DFAs NFAs Reguläre Ausdrücke:, {ε}, {a}, und deren Verknüpfung mit + (Vereinigung), (Konkatenation) und * (kleenescher Abschluss) Abschluss gegen

Mehr

Formale Sprachen, reguläre und kontextfreie Grammatiken

Formale Sprachen, reguläre und kontextfreie Grammatiken Formale Sprachen, reguläre und kontextfreie Grammatiken Alphabet A: endliche Menge von Zeichen Wort über A: endliche Folge von Zeichen aus A A : volle Sprache über A: Menge der A-Worte formale Sprache

Mehr

Theoretische Informatik Mitschrift

Theoretische Informatik Mitschrift 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

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 7 15. Juni 2010 Einführung in die Theoretische

Mehr

Hochschule Bonn-Rhein-Sieg University of Applied Sciences Grantham-Allee Sankt Augustin

Hochschule Bonn-Rhein-Sieg University of Applied Sciences Grantham-Allee Sankt Augustin Hochschule Bonn-Rhein-Sieg Uniersity of Applied Sciences Grantham-Allee 20 53757 Sankt Augustin Director b-it Applied Science Institute Fachbereich Informatik Prof. Dr. Kurt-Ulrich Witt Mathematische und

Mehr

Grundlagen der Informatik II

Grundlagen der Informatik II Grundlagen der Informatik II Dr.-Ing. Sven Hellbach S. Hellbach Grundlagen der Informatik II Abbildungen entnommen aus: Dirk W. Hoffmann: Theoretische Informatik; Hanser Verlag 2011, ISBN: 978-3-446-42854-6

Mehr

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer,

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, Reguläre Sprachen Reguläre Sprachen (Typ-3-Sprachen) haben große Bedeutung in Textverarbeitung und Programmierung (z.b. lexikalische Analyse) besitzen für viele Entscheidungsprobleme effiziente Algorithmen

Mehr

5.7 Kontextfreie Grammatiken und Kellerautomaten

5.7 Kontextfreie Grammatiken und Kellerautomaten 130 5.7 Kontextfreie Grammatiken und Kellerautomaten Im letzten Abschnitt haben wir gesehen, dass wir reguläre Sprachen auch mit Hilfe von endlichen Automaten charakterisieren können. Jetzt wollen wir

Mehr

4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls

4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls 4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls δ(q, a, Z) + δ(q, ɛ, Z) 1 (q, a, Z) Q Σ. Die von einem DPDA, der mit leerem Keller akzeptiert,

Mehr

Algorithmen und Datenstrukturen (EI)

Algorithmen und Datenstrukturen (EI) Algorithmen und Datenstrukturen (EI) ADS Zentralübung Stefan Schmid 4. Februar 2009 Einturnen... Ein heutiger Computer aus dem Saturn ist im Prinzip eine Turing Maschine? Nein. Zum Beispiel Sprache L =

Mehr

Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt:

Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt: 5.2 Linear beschränkte Automaten Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt: (q, c, d) δ(q, ) = c =. Ein Leerzeichen wird also nie durch ein anderes

Mehr

Übungsaufgaben zu Formalen Sprachen und Automaten

Übungsaufgaben zu Formalen Sprachen und Automaten Universität Freiburg PD Dr. A. Jakoby Sommer 27 Übungen zum Repetitorium Informatik III Übungsaufgaben zu Formalen Sprachen und Automaten. Untersuchen Sie das folgende Spiel: A B x x 2 x 3 C D Eine Murmel

Mehr

Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive

Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive Grammatik G mit L(G) = L(G ). Beweis im Beispiel (2.): G = (V,Σ, P, S) : P = {S asbc, S abc, CB BC, ab ab, bb bb, bc bc, cc cc}. (i) G

Mehr

Pumping-Lemma. Beispiel. Betrachte die kontextsensitive Grammatik G mit den Produktionen. S asbc abc CB HB HB HC HC BC ab ab bb bb bc bc cc cc.

Pumping-Lemma. Beispiel. Betrachte die kontextsensitive Grammatik G mit den Produktionen. S asbc abc CB HB HB HC HC BC ab ab bb bb bc bc cc cc. Pumping-Lemma Beispiel Betrachte die kontextsensitive Grammatik G mit den Produktionen S asbc abc CB HB HB HC HC BC ab ab bb bb bc bc cc cc. Sie erzeugt z.b. das Wort aabbcc: S asbc aabcbc aabhbc aabhcc

Mehr

Kontextfreie Grammatiken

Kontextfreie Grammatiken Kontextfreie Grammatiken Bisher haben wir verschiedene Automatenmodelle kennengelernt. Diesen Automaten können Wörter vorgelegt werden, die von den Automaten gelesen und dann akzeptiert oder abgelehnt

Mehr

Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden kann.

Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden kann. Der Satz von Kleene Wir haben somit Folgendes bewiesen: Der Satz von Kleene Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen Malte Helmert Gabriele Röger Universität Basel 7. April 2014 Kontextsensitive und allgemeine Grammatiken Wiederholung: (kontextsensitive)

Mehr

4.2 Die Chomsky Normalform

4.2 Die Chomsky Normalform 4.2 Die Chomsky Normalform Für algorithmische Problemstellungen (z.b. das Wortproblem) aber auch für den Nachweis von Eigenschaften kontextfreier Sprachen ist es angenehm, von CFG in Normalformen auszugehen.

Mehr

Zusammenfassung. Endliche Sprachen. Fazit zu endlichen Automaten. Teil 4: Grammatiken und Syntaxanalyse

Zusammenfassung. Endliche Sprachen. Fazit zu endlichen Automaten. Teil 4: Grammatiken und Syntaxanalyse Endliche Sprachen Folgerung: Alle endlichen Sprachen sind regulär. Beweis: Sei L={w 1,,w n } Σ*. Dann ist w 1 +L+w n ein regulärer Ausdruck für L. Zusammenfassung Beschreibungsformen für reguläre Sprachen:

Mehr

Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen

Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen (Kontextsensitive) Sprachen L 2 Menge aller kontextfreien

Mehr

2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen:

2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen: Probeklausur Automatentheorie & Formale Sprachen WiSe 2012/13, Wiebke Petersen Name: Matrikelnummer: Aufgabe A: Typ3-Sprachen 1. Konstruieren Sie einen endlichen Automaten, der die Sprache aller Wörter

Mehr

2. Teilklausur zur Vorlesung Grundlagen der Theoretischen Informatik

2. Teilklausur zur Vorlesung Grundlagen der Theoretischen Informatik 2. Teilklausur zur Vorlesung Grundlagen der Theoretischen Informatik Ulrich Furbach Claudia Schon Christian Schwarz Arbeitsgruppe Künstliche Intelligenz Fachbereich Informatik, Universität Koblenz-Landau

Mehr

Formalismen für REG. Formale Grundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen. Das Pumping Lemma. Abschlusseigenschaften

Formalismen für REG. Formale Grundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen. Das Pumping Lemma. Abschlusseigenschaften Formalismen für RE Formale rundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen Frank Heitmann heitmann@informatik.uni-hamburg.de Satz Zu jeder regulären Sprache L gibt es einen DFA A mit L(A) =

Mehr

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester 2012 17. DIE KONTEXTFREIEN SPRACHEN II: ABSCHLUSSEIGENSCHAFTEN, MASCHINENCHARAKTERISIERUNG, KOMPLEXITÄT Theoretische

Mehr

Automatentheorie und formale Sprachen rechtslineare Grammatiken

Automatentheorie und formale Sprachen rechtslineare Grammatiken Automatentheorie und formale Sprachen rechtslineare Grammatiken Dozentin: Wiebke Petersen 17.6.2009 Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 1 Pumping lemma for regular languages

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (IV) 31.05.2017 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Endliche Sprachen. Folgerung: Alle endlichen Sprachen sind regulär. Beweis: Sei L={w 1,,w n } Σ*. Dann ist w 1 +L+w n ein regulärer Ausdruck für

Endliche Sprachen. Folgerung: Alle endlichen Sprachen sind regulär. Beweis: Sei L={w 1,,w n } Σ*. Dann ist w 1 +L+w n ein regulärer Ausdruck für Endliche Sprachen Folgerung: Alle endlichen Sprachen sind regulär. Beweis: Sei L={w 1,,w n } Σ*. Dann ist w 1 +L+w n ein regulärer Ausdruck für L. 447 Zusammenfassung Beschreibungsformen für reguläre Sprachen:

Mehr

a n b n c n ist kontextsensitiv kontextfreie Sprachen (Typ 2) Abschnitt 3.3 kontextfreie Sprachen: Abschlusseigenschaften Chomsky NF und binäre Bäume

a n b n c n ist kontextsensitiv kontextfreie Sprachen (Typ 2) Abschnitt 3.3 kontextfreie Sprachen: Abschlusseigenschaften Chomsky NF und binäre Bäume Kap 3: Grammatiken Chomsky-Hierarchie 32 Kap 3: Grammatiken Kontextfreie 33 a n b n c n ist kontextsensiti Beispiel 3111 modifizieren: Σ = {a, b, c G = (Σ, V, P, X ) V = {X, Y, Z P : X ε X axyz ZY YZ ay

Mehr

Mathematische Grundlagen der Informatik 2

Mathematische Grundlagen der Informatik 2 Zusammenfassung Math2I Mathematische Grundlagen der Informatik 2 Emanuel Duss emanuel.duss@gmail.com 12. April 2013 1 Zusammenfassung Math2I Mathematische Grundlagen der Informatik 2 Dieses Dokument basiert

Mehr

8. Turingmaschinen und kontextsensitive Sprachen

8. Turingmaschinen und kontextsensitive Sprachen 8. Turingmaschinen und kontextsensitive Sprachen Turingmaschinen (TM) von A. Turing vorgeschlagen, um den Begriff der Berechenbarkeit formal zu präzisieren. Intuitiv: statt des Stacks bei Kellerautomaten

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

11.1 Kontextsensitive und allgemeine Grammatiken

11.1 Kontextsensitive und allgemeine Grammatiken Theorie der Informatik 7. April 2014 11. Kontextsensitive und Typ-0-Sprachen Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen 11.1 Kontextsensitive und allgemeine Grammatiken Malte Helmert

Mehr

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14 Kapitel: Die Chomsky Hierarchie Die Chomsky Hierarchie 1 / 14 Allgemeine Grammatiken Definition Eine Grammatik G = (Σ, V, S, P) besteht aus: einem endlichen Alphabet Σ, einer endlichen Menge V von Variablen

Mehr

Einführung in die Computerlinguistik Formale Grammatiken rechtslineare und kontextfreie Grammatiken Kellerautomaten

Einführung in die Computerlinguistik Formale Grammatiken rechtslineare und kontextfreie Grammatiken Kellerautomaten Einführung in die Computerlinguistik Formale Grammatiken rechtslineare und kontextfreie Grammatiken Kellerautomaten Dozentin: Wiebke Petersen 13. Foliensatz Wiebke Petersen Einführung CL 1 Formale Grammatik

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Johannes Köbler Institut für Informatik Humboldt-Universität zu Berlin WS 2011/12 Deterministische Kellerautomaten Von besonderem Interesse sind kontextfreie Sprachen,

Mehr

2.2 Reguläre Sprachen Endliche Automaten

2.2 Reguläre Sprachen Endliche Automaten 2.2.1 Endliche Automaten E I N G A B E Lesekopf endliche Kontrolle Signal für Endzustand Ein endlicher Automat liest ein Wort zeichenweise und akzeptiert oder verwirft. endlicher Automat Sprache der akzeptierten

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 8. Reguläre Sprachen II Malte Helmert Gabriele Röger Universität Basel 24. März 24 Pumping Lemma Pumping Lemma: Motivation Man kann zeigen, dass eine Sprache regulär ist, indem man

Mehr

Maike Buchin 18. Februar 2016 Stef Sijben. Probeklausur. Theoretische Informatik. Bearbeitungszeit: 3 Stunden

Maike Buchin 18. Februar 2016 Stef Sijben. Probeklausur. Theoretische Informatik. Bearbeitungszeit: 3 Stunden Maike Buchin 8. Februar 26 Stef Sijben Probeklausur Theoretische Informatik Bearbeitungszeit: 3 Stunden Name: Matrikelnummer: Studiengang: Geburtsdatum: Hinweise: Schreibe die Lösung jeder Aufgabe direkt

Mehr

Formale Sprachen. Der Unterschied zwischen Grammatiken und Sprachen. Rudolf Freund, Marian Kogler

Formale Sprachen. Der Unterschied zwischen Grammatiken und Sprachen. Rudolf Freund, Marian Kogler Formale Sprachen Der Unterschied zwischen Grammatiken und Sprachen Rudolf Freund, Marian Kogler Es gibt reguläre Sprachen, die nicht von einer nichtregulären kontextfreien Grammatik erzeugt werden können.

Mehr

Beweis: Nach dem Pumping-Lemma für kontextfreie Sprachen ist

Beweis: Nach dem Pumping-Lemma für kontextfreie Sprachen ist CF versus CS Theorem CF ist echt in CS enthalten. Beweis: Nach dem Pumping-Lemma für kontextfreie Sprachen ist L = {a m b m c m m 1} nicht kontextfrei. Andererseits ist L kontextsensitiv, wie die Grammatik

Mehr

(Prüfungs-)Aufgaben zu formale Sprachen

(Prüfungs-)Aufgaben zu formale Sprachen (Prüfungs-)Aufgaben zu formale Sprachen (siehe auch bei den Aufgaben zu endlichen Automaten) 1) Eine Grammatik G sei gegeben durch: N = {S, A}, T = {a, b, c, d}, P = { (S, Sa), (S, ba), (A, ba), (A, c),

Mehr

Formelsammlung theoretische Informatik I

Formelsammlung theoretische Informatik I Formelsammlung theoretische Informatik I Stand: 27.05.2005 - Version: 1.0.3 Erhältlich unter http://privat.macrolab.de Diese Formelsammlung basiert auf der Vorlesung Theoretische

Mehr