Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012
|
|
- Gundi Langenberg
- vor 5 Jahren
- Abrufe
Transkript
1 Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1
2 Einschub: Kellerautomaten mit Endzuständen In der Fachliteratur werden Kellerautomaten auch manchmal so definiert, dass sie Endzustände haben und nicht mit leerem Keller akzeptieren. Kellerautomat mit Endzuständen (Definition) En Kellerautomat mit Endzuständen M ist ein 7-Tupel M = (Z, Σ, Γ, δ, z 0, #, E), wobei (Z, Σ, Γ, δ, z 0, #) ein Kellerautomat ist, E Z die Menge von Endzuständen ist Sander Bruggink Automaten und Formale Sprachen 270
3 Einschub: Kellerautomaten mit Endzuständen Akzeptierte Sprache bei Kellerautomaten mit Endzuständen (Definition) Sei M = (Z, Σ, Γ, δ, z 0, #, E) ein Kellerautomat mit Endzuständen. Dann ist die von M akzeptierte Sprache: N(M) = {x Σ (z 0, x, #) (z, ε, γ) für ein z E, γ Γ }. Es gibt folgende Unterschiede: Der erreichte Zustand z muss ein Endzustand sein. Es darf ein Kellerinhalt γ übrigbleiben. Sander Bruggink Automaten und Formale Sprachen 271
4 Einschub: Kellerautomaten mit Endzuständen Satz Eine Sprache wird von einem Kellerautomaten mit Endzustände akzeptiert, gdw. eine Sprache von einem Kellerautomaten akzeptiert wird. (Ohne Beweis) Sander Bruggink Automaten und Formale Sprachen 272
5 Einschub: Kellerautomaten mit Endzuständen L = {ww R w {a, b} }. M = ({z 1, z 2, z 3 }, {a, b}, {A, B, #}, δ, z 1, #, {z 3 }), wobei δ gegeben ist durch: (z 1, a, #) (z 1, A#) (z 1, a, A) (z 1, AA) (z 1, a, B) (z 1, AB) (z 1, b, #) (z 1, B#) (z 1, b, A) (z 1, BA) (z 1, b, B) (z 1, BB) (z 1, ε, #) (z 2, #) (z 1, a, A) (z 2, ε) (z 1, b, B) (z 2, ε) (z 2, a, A) (z 2, ε) (z 2, b, B) (z 2, ε) (z 2, ε, #) (z 3, #) Sander Bruggink Automaten und Formale Sprachen 273
6 Abschlusseigenschaften Abschlusseigenschaften Abgeschlossenheit Sind die kontextfreien Sprachen abgeschlossen unter den folgenden Operationen? Vereinigung (L 1, L 2 kontextfrei L 1 L 2 kontextfrei)? Produkt/Konkatenation (L 1, L 2 kontextfrei L 1 L 2 kontextfrei)? Stern-Operation (L kontextfrei L kontextfrei)? Schnitt (L 1, L 2 kontextfrei L 1 L 2 kontextfrei)? Komplement (L kontextfrei L = Σ \L kontextfrei)? Sander Bruggink Automaten und Formale Sprachen 274
7 Abschlusseigenschaften Abschlusseigenschaften Abschluss unter Vereinigung Wenn L 1 und L 2 kontextfreie Sprachen sind, dann ist auch L 1 L 2 kontextfrei. Begründung: Gegeben zwei kontextfreie Grammatiken G 1 = (V 1, Σ, P 1, S 1 ) und G 2 = (V 2, Σ, P 2, S 2 ) (mit V 1 V 2 = ) für L 1 = L(G 1 ), L 2 = L(G 2 ). Die Grammatik G = (V 1 V 2 {S}, Σ, P 1 P 2 {S S 1, S S 2 }, S) wobei S / V 1 V 2, ist eine kontextfreie Grammatik für L 1 L 2. Sander Bruggink Automaten und Formale Sprachen 275
8 Abschlusseigenschaften Abschlusseigenschaften Abschluss unter Produkt/Konkatenation Wenn L 1 und L 2 kontextfreie Sprachen sind, dann ist auch L 1 L 2 kontextfrei. Begründung: G 1 = (V 1, Σ, P 1, S 1 ) und G 2 = (V 2, Σ, P 2, S 2 ) (mit V 1 V 2 = ) für L 1 = L(G 1 ), L 2 = L(G 2 ). Dann ist G = (V 1 V 2 {S}, Σ, P 1 P 2 {S S 1 S 2 }, S) wobei S / V 1 V 2, eine kontextfreie Grammatik für L 1 L 2. Sander Bruggink Automaten und Formale Sprachen 276
9 Abschlusseigenschaften Abschlusseigenschaften Abschluss unter der Stern-Operation Wenn L eine kontextfreie Sprache ist, dann ist auch L kontextfrei. Begründung: Gegeben sei eine kontextfreie Grammatik G 1 = (V 1, Σ, P 1, S 1 ) für L = L(G 1 ). Dann ist G = (V 1 {S}, Σ, P 1 {S ε, S S 1 S}, S) eine kontextfreie Grammatik für L. Sander Bruggink Automaten und Formale Sprachen 277
10 Abschlusseigenschaften Kontextfreie Sprachen Abschlusseigenschaften Kein Abschluss unter Schnitt Wenn L 1 und L 2 kontextfreie Sprachen sind, dann ist L 1 L 2 nicht notwendigerweise kontextfrei. Gegenbeispiel: Die Sprachen L 1 = {a j b k c k j 0, k 0} L 2 = {a k b k c j j 0, k 0} sind beide kontextfrei. Für ihren Schnitt gilt jedoch L 1 L 2 = {a k b k c k k 0} und diese Sprache ist nicht kontextfrei. Sander Bruggink Automaten und Formale Sprachen 278
11 Abschlusseigenschaften Abschlusseigenschaften Abschluss unter Schnitt mit regulären Sprachen Sei L eine kontextfreie Sprache und R eine reguläre Sprache. Dann gilt, dass L R eine kontextfreie Sprache ist. Idee: Ähnlich zur Konstruktion eines Kreuzproduktautomaten zweier endlichen Automaten können wir den Kreuzproduktautomaten eines endlichen Automaten und eines Kellerautomaten konstruieren, der den Schnitt beider Sprachen akzeptiert. Sander Bruggink Automaten und Formale Sprachen 279
12 Abschlusseigenschaften Kontextfreie Sprachen Abschlusseigenschaften Beweisidee: Konstruktion eines Kellerautomaten M für L R aus einem Kellerautomaten (mit Endzuständen) M = (Z 1, Σ, Γ, δ 1, z 1 0, #, E 1) für L und einem deterministischen endlichen Automaten A = (Z 2, Σ, δ 2, z 2 0, E 2) für R: M = (Z 1 Z 2, Σ, Γ, δ, (z 1 0, z 2 0 ), #, E 1 E 2 ) mit ((z 1, z 2 ), B 1... B k ) δ((z 1, z 2 ), a, A), falls (z 1, B 1... B k ) δ 1 (z 1, a, A) und δ 2 (z 2, a) = z 2 ((z 1, z 2), B 1... B k ) δ((z 1, z 2 ), ε, A), falls (z 1, B 1... B k ) δ 1 (z 1, ε, A) Sander Bruggink Automaten und Formale Sprachen 280
13 Abschlusseigenschaften Kontextfreie Sprachen Abschlusseigenschaften Kein Abschluss unter Komplement Wenn L eine kontextfreie Sprache ist, dann ist L = Σ \L nicht notwendigerweise kontextfrei. Begründung: Nehmen wir an, die kontextfreien Sprachen wären unter Komplement abgeschlossen. Wegen L 1 L 2 = L 1 L 2 wären sie dann auch unter Schnitt abgeschlossen, was aber nicht der Fall ist. D.h., wir erhalten einen Widerspruch. Sander Bruggink Automaten und Formale Sprachen 281
14 Abschlusseigenschaften Abschlusseigenschaften Abgeschlossenheit (Zusammenfassung) Die kontextfreien Sprachen sind abgeschlossen unter: Vereinigung (L 1, L 2 kontextfrei L 1 L 2 kontextfrei) Produkt/Konkatenation (L 1, L 2 kontextfrei L 1 L 2 kontextfrei) Stern-Operation (L kontextfrei L kontextfrei) Schnitt mit einer regulären Sprache (L kontextfrei, R regulär L R kontextfrei) Die kontextfreien Sprachen sind nicht abgeschlossen unter: Schnitt Komplement Sander Bruggink Automaten und Formale Sprachen 282
15 Entscheidbare Eigenschaften Entscheidbarkeit Sind die folgende Probleme entscheidbar? Wortproblem: Gegeben eine kontextfreie Sprache L und w Σ. Gilt w L? Leerheitsproblem: Gegeben eine kontextfreie Sprache L. Gilt L =? Endlichkeitsproblem: Gegeben eine kontextfreie Sprache L. Ist L endlich? Äquivalenzproblem: Gegeben zwei kontextfreie Sprachen L 1, L 2. Gilt L 1 = L 2? Schnittproblem: Gegeben zwei kontextfreie Sprachen L 1, L 2. Gilt L 1 L 2 =? Sander Bruggink Automaten und Formale Sprachen 275
16 Entscheidbare Eigenschaften Entscheidbarkeit Entscheidbarkeit des Wortproblems Das Wortproblem für kontextfreie Sprachen ist entscheidbar. Kann mit dem CYK-Algorithmus gelöst werden. Sander Bruggink Automaten und Formale Sprachen 276
17 Entscheidbare Eigenschaften Entscheidbarkeit Entscheidbarkeit des Leerheitsproblem Das Leerheitsproblem für kontextfreie Sprachen ist entscheidbar. Beweisidee: Bestimme alle produktiven Variablen (siehe Übung), d.h., alle Variablen A, für die es ein x Σ gibt mit A x. Die Sprache L ist leer, genau dann wenn das Startsymbol S nicht produktiv ist. Sander Bruggink Automaten und Formale Sprachen 277
18 Entscheidbare Eigenschaften Entscheidbarkeit Entscheidbarkeit des Endlichkeitproblems Das Endlichkeitsproblem für kontextfreie Sprachen ist entscheidbar. Beweisidee: Gegeben eine kontextfreie Grammatik. Sei n = 2 V, d.h. die der Sprache zugeordnete Pumping-Lemma-Zahl. Alle Wörter x L mit x n können gepumpt werden und alle Wörter x L mit x 2n können geschrumpft werden. Das heißt, dass L unendlich ist, gdw. es ein Wort x L gibt mit n x 2n. Es gibt nur endlich viele von diesen Wörter und diese können also in endlicher Zeit auf Mitgliedschaft in der Sprache getestet werden. Sander Bruggink Automaten und Formale Sprachen 278
19 Entscheidbare Eigenschaften Entscheidbarkeit Unentscheidbarkeit bei kontextfreien Sprachen Folgende Probleme sind für kontextfreie Sprachen nicht entscheidbar, d.h., man kann zeigen, dass es kein entsprechendes Verfahren gibt: Äquivalenzproblem: Gegeben zwei kontextfreie Sprachen L 1, L 2. Gilt L 1 = L 2? Schnittproblem: Gegeben zwei kontextfreie Sprachen L 1, L 2. Gilt L 1 L 2 =? Bemerkung: In der Vorlesung Berechenbarkeit und Komplexität wird es u.a. darum gehen, wie man solche Unentscheidbarkeitsresultate zeigen kann. Sander Bruggink Automaten und Formale Sprachen 279
20 Entscheidbare Eigenschaften Entscheidbarkeit Das Schnittproblem ist jedoch entscheidbar, wenn von einer der beiden Sprachen L 1, L 2 bekannt ist, dass sie regulär ist und sie als endlicher Automat gegeben ist. Entscheidungsverfahren: 1 Konstruiere einen Kellerautomat M, der L 1 L 2 akzeptiert. 2 Der Kellerautomat M kann dann in eine kontextfreie Grammatik G umgewandelt werden. 3 Von dieser Grammatik kann das Leerheitsproblem gelöst werden. Sander Bruggink Automaten und Formale Sprachen 280
21 Deterministische Kellerautomaten Deterministisch kontextfreie Sprachen Wir betrachten nun eine Unterklasse von Kellerautomaten, die dazu verwendet werden können, Sprachen deterministisch und damit effizient zu erkennen. Deterministischer Kellerautomat (Definition) En deterministischer Kellerautomat M ist ein 7-Tupel M = (Z, Σ, Γ, δ, z 0, #, E), wobei (Z, Σ, Γ, δ, z 0, #) ein Kellerautomat ist, E Z die Menge von Endzuständen ist und die Überführungsfunktion δ deterministisch ist, das heißt: für alle z Z, a Σ und A Γ gilt: δ(z, a, A) + δ(z, ε, A) 1. Sander Bruggink Automaten und Formale Sprachen 281
22 Deterministische Kellerautomaten Deterministisch kontextfreie Sprachen Unterschiede zwischen Kellerautomaten und deterministischen Kellerautomaten: Deterministische Kellerautomaten haben eine Menge von Endzuständen und akzeptieren mit Endzustand und nicht mit leerem Keller. Für jeden Zustand z und jedes Kellersymbol A gilt: entweder gibt es höchstens einen ε-übergang oder es gibt für jedes Alphabetsymbol höchstens einen Übergang. Konfigurationen und Übergänge zwischen Konfigurationen bleiben jedoch gleich definiert. Sander Bruggink Automaten und Formale Sprachen 282
23 Deterministische Kellerautomaten Deterministisch kontextfreie Sprachen Akzeptierte Sprache bei deterministischen Kellerautomaten (Definition) Sei M = (Z, Σ, Γ, δ, z 0, #, E) ein deterministischer Kellerautomat. Dann ist die von M akzeptierte Sprache: D(M) = {x Σ (z 0, x, #) (z, ε, γ) für ein z E, γ Γ }. Sander Bruggink Automaten und Formale Sprachen 283
24 Deterministische Kellerautomaten Deterministisch kontextfreie Sprachen Deterministisch kontextfreie Sprachen Eine Sprache heißt deterministisch kontextfrei genau dann, wenn sie von einem deterministischen Kellerautomaten akzeptiert wird. Sander Bruggink Automaten und Formale Sprachen 284
25 Deterministisch kontextfreie Sprachen Deterministische Kellerautomaten Beispiel: Die Sprache L = {w$w R w {a, b} } ist deterministisch kontextfrei. M = ({z 1, z 2, z 3 }, {a, b, $}, {#, A, B}, δ, z 1, #, {z 3 }), wobei δ folgendermaßen definiert ist (wir schreiben (z, a, A) (z, x), falls (z, x) δ(z, a, A)). (z 1, a, #) (z 1, A#) (z 1, a, A) (z 1, AA) (z 1, a, B) (z 1, AB) (z 1, b, #) (z 1, B#) (z 1, b, A) (z 1, BA) (z 1, b, B) (z 1, BB) (z 1, $, #) (z 2, #) (z 1, $, A) (z 2, A) (z 1, $, B) (z 2, B) (z 2, a, A) (z 2, ε) (z 2, b, B) (z 2, ε) (z 2, ε, #) (z 3, #) Sander Bruggink Automaten und Formale Sprachen 285
26 Deterministisch kontextfreie Sprachen Deterministische Kellerautomaten Beispiel 2: Die Sprache L = {ww R w {a, b} } ist jedoch nicht deterministisch kontextfrei. (Ohne Beweis.) Wir haben letzte Woche schon gesehen, dass diese Sprache kontextfrei ist. Das heißt, die Klasse der kontextfreien Sprachen und die Klasse der deterministisch kontextfreien Sprachen sind nicht identisch! Die Klasse der deterministisch kontextfreien Sprachen ist eine echte Teilmenge der Klasse der kontextfreien Sprachen. Sander Bruggink Automaten und Formale Sprachen 286
27 Deterministische Kellerautomaten Deterministisch kontextfreie Sprachen Weitere Bemerkungen: Effizienz: Mit Hilfe von deterministischen Kellerautomaten hat man jetzt ein Verfahren zur Lösung des Wortproblems, das eine lineare Anzahl von Schritten braucht (als Funktion der Länge des Eingabewortes). Dazu lässt man einfach den Automaten auf dem Wort arbeiten und überprüft, ob man in einen Endzustand gelangt. Deterministisch kontextfreie Grammatiken: Es gibt auch Grammatikklassen, die zu den deterministisch kontextfreien Sprachen passen. Dies ist aber nicht ganz trivial; daher gibt es hierzu mehrere Ansätze. Der bekannteste davon sind die sogenannten LR(k)-Grammatiken. Sander Bruggink Automaten und Formale Sprachen 287
28 Deterministische Kellerautomaten Deterministisch kontextfreie Sprachen Die Abschlusseigenschaften bei deterministisch kontextfreien Sprachen sehen etwas anders aus als bei kontextfreien Sprachen. Abgeschlossenheit Sind die kontextfreien Sprachen abgeschlossen unter den folgenden Operationen? Vereinigung (L 1, L 2 kontextfrei L 1 L 2 kontextfrei)? Schnitt (L 1, L 2 kontextfrei L 1 L 2 kontextfrei)? Schnitt mit regulärer Sprache (L 1 kontextfrei, L 2 regulär L 1 L 2 kontextfrei)? Komplement (L kontextfrei L = Σ \L kontextfrei)? Sander Bruggink Automaten und Formale Sprachen 288
29 Deterministische Kellerautomaten Deterministisch kontextfreie Sprachen Abschluss unter Komplement Wenn L eine deterministisch kontextfreie Sprache ist, dann ist auch L = Σ \L deterministisch kontextfrei. Informeller Beweisansatz: Wie bei DFAs, können wir einen deterministischen Kellerautomaten für das Komplement bauen, indem wir (mit ein bisschen rumbasteln) die Endzustände und Nicht-Endzustände vertauschen. Sander Bruggink Automaten und Formale Sprachen 289
30 Deterministische Kellerautomaten Deterministisch kontextfreie Sprachen Kein Abschluss unter Schnitt Wenn L 1 und L 2 deterministisch kontextfreie Sprachen sind, dann ist L 1 L 2 nicht notwendigerweise deterministisch kontextfrei. Begründung: Die Beispiel-Sprachen aus dem Argument, dass die kontextfreien Sprachen unter Schnitt nicht abgeschlossen sind, sind sogar deterministisch kontextfrei, ihr Schnitt jedoch noch nicht einmal kontextfrei: L 1 = {a j b k c k j 0, k 0} L 2 = {a k b k c j j 0, k 0} L 1 L 2 = {a n b n c n n 0} Sander Bruggink Automaten und Formale Sprachen 290
31 Deterministische Kellerautomaten Deterministisch kontextfreie Sprachen Abschluss unter Vereinigung Wenn L 1 und L 2 deterministisch kontextfreie Sprachen sind, dann ist auch L 1 L 2 eine deterministisch kontextfreie Sprache. (??) Kein Abschluss unter Vereinigung Wenn L 1 und L 2 deterministisch kontextfreie Sprachen sind, dann ist L 1 L 2 nicht notwendigerweise deterministisch kontextfrei. Begründung: Aus dem Abschluss unter Vereinigung und Komplement würde auch der Abschluss unter Schnitt folgen (wegen L 1 L 2 = L 1 L 2 ). Sander Bruggink Automaten und Formale Sprachen 291
32 Deterministische Kellerautomaten Deterministisch kontextfreie Sprachen Deterministisch kontextfreie Sprachen sind unter Schnitt mit regulären Sprachen abgeschlossen. Abschluss unter Schnitt mit regulären Sprachen Sei L eine deterministisch kontextfreie Sprache und R eine reguläre Sprache. Dann gilt, dass L R eine deterministisch kontextfreie Sprache ist. Beweisidee: Analog zu kontextfreien Sprachen. Sander Bruggink Automaten und Formale Sprachen 292
33 Deterministische Kellerautomaten Deterministisch kontextfreie Sprachen Zusammenfassung Abschlusseigenschaften Abgeschlossen unter Reguläre Spr. Det. KF Spr. KF Sprachen Vereinigung Konkatenation Kleene-Stern Schnitt Schnitt mit RS Komplement Sander Bruggink Automaten und Formale Sprachen 293
34 Deterministische Kellerautomaten Deterministisch kontextfreie Sprachen Entscheidbarkeit bei deterministisch kontextfreien Sprachen Folgende Probleme sind für deterministisch kontextfreie Sprachen (repräsentiert durch einen deterministischen Kellerautomaten) entscheidbar: Wortproblem: Gegeben eine deterministisch kontextfreie Sprache L und w Σ. Gilt w L? Mit einem deterministischen Kellerautomaten in O( w ) Zeit. Leerheitsproblem: Gegeben eine deterministisch kontextfreie Sprache L. Gilt L =? Siehe das entsprechende Entscheidungsverfahren für kontextfreie Sprachen. Sander Bruggink Automaten und Formale Sprachen 294
35 Deterministische Kellerautomaten Entscheidbarkeit Entscheidbarkeit bei deterministisch kontextfreien Sprachen Endlichkeitsproblem: Gegeben eine kontextfreie Sprache L. Ist L endlich? Siehe das entsprechende Entscheidungsverfahren für kontextfreie Sprachen. Äquivalenzproblem: Gegeben zwei deterministisch kontextfreie Sprachen L 1, L 2. Gilt L 1 = L 2? War lange offen und die Entscheidbarkeit wurde erst 1997 von Géraud Sénizergues gezeigt. Sander Bruggink Automaten und Formale Sprachen 295
36 Deterministische Kellerautomaten Entscheidbarkeit Unentscheidbarkeit bei deterministisch kontextfreien Sprachen Folgende Probleme sind für deterministisch kontextfreie Sprachen nicht entscheidbar, d.h., man kann zeigen, dass es kein entsprechendes Verfahren gibt: Schnittproblem: Gegeben zwei deterministisch kontextfreie Sprachen L 1, L 2. Gilt L 1 L 2 =? Wie bei kontextfreien Sprachen ist dieses Problem jedoch entscheidbar, wenn eine der beiden Sprachen regulär ist. Sander Bruggink Automaten und Formale Sprachen 296
37 Kontextfreie Sprachen in der Praxis Parsing mit JavaCC Kontextfreie Grammatiken werden häufig benutzt, um den Syntax von Computersprachen (Programmiersprachen, Markup-Sprachen, usw.) anzugeben. Ein Parser ist ein Programmmodul, das den Quellcode eines Programms als Eingabe nimmt und irgendwelche Repräsentation (z.b. einen Syntaxbaum) davon ausgibt. In dieser Vorlesung werden wir JavaCC kennenlernen, einen parser generator, mit dem man einfach einen Parser (in Java) erzeugen kann. Sander Bruggink Automaten und Formale Sprachen 297
38 Kontextfreie Sprachen in der Praxis Parsing mit JavaCC Der Parser eines Compilers bzw. eines Interpreters besteht im Allgemeinen aus zwei Komponenten: Der Scanner (auch lexical analyser) teilt die einzelnen Zeichen in Ketten auf, den sogenannten Tokens. Der Parser selbst analysiert die Folge von Tokens und konstruiert einen Syntaxbaum (bzw. eine andere Repräsentation). JavaCC ist in der Lage beide Komponenten zu erzeugen. Sander Bruggink Automaten und Formale Sprachen 298
39 Kontextfreie Sprachen in der Praxis Einschub: Extended Backus-Naur-Form In der Praxis wird oft die Extended Backus-Naur-Form (EBNF) benutzt, eine Abkürzung für kontextfreie Grammatiken. In EBNF sind die rechten Seiten der Regeln keine Zeichenketten, sondern reguläre Ausdrücke. Sander Bruggink Automaten und Formale Sprachen 299
40 Kontextfreie Sprachen in der Praxis Einschub: Extended Backus-Naur-Form EBNF-Grammatiken können einfach in richtige kontextfreie Grammatiken umgewandelt werden: A α(β 1 β n )γ A αβ γ { A αbγ B β 1 β n { A αγ αbγ B β βb Abkürzungen: α + αα, α? (ε α), usw. Regeln anwenden bis die Grammatik keine - und (geschachtelten) -Operationen mehr enthält. Sander Bruggink Automaten und Formale Sprachen 300
41 Kontextfreie Sprachen in der Praxis Parsing mit JavaCC Wir werden einen Parser erzeugen, der die folgende Grammatik (in EBNF) für arithmetische Ausdrücke parst: E T ( + T - T ) T F ( * F / F ) F ( E ) number Terminalsymbole stehen in Anführungszeigen. Das Token number wird vom Scanner erkannt. Sander Bruggink Automaten und Formale Sprachen 301
42 Kontextfreie Sprachen in der Praxis Parsing mit JavaCC Aufbau einer JavaCC Quelldatei: PARSER_BEGIN(Name) public class Name {... } PARSER_END(Name) Regeln des lexical analysers Regeln der Grammatik Sander Bruggink Automaten und Formale Sprachen 302
43 Parsing mit JavaCC Kontextfreie Sprachen Kontextfreie Sprachen in der Praxis Der lexical analyser: // lexical analyser SKIP: {" " "\t"} // skip spaces and tabs SKIP: {"\n" "\r"} // skip newlines and carriage returns TOKEN: { <PLUS: "+"> <MINUS: "-"> <MULT: "*"> <DIV: "/"> <PAROPEN: "("> <PARCLOSE: ")"> <NUMBER: (["0"-"9"])+ ("." (["0"-"9"])+)?> } Sander Bruggink Automaten und Formale Sprachen 303
44 Parsing mit JavaCC Kontextfreie Sprachen Kontextfreie Sprachen in der Praxis Übersetzung der Regel E T ( + T - T ) public void E() : {} { T() ( <PLUS> T() <MINUS> T() )* } Sander Bruggink Automaten und Formale Sprachen 304
45 Parsing mit JavaCC Kontextfreie Sprachen Kontextfreie Sprachen in der Praxis Ganze Datei parsen: Das Token <EOF> wird am Ende der Datei ausgegeben. Um eine vollständige Datei zu parsen, brauchen wir also noch die folgende Regel: public void expression() : {} { E() <EOF> } Sander Bruggink Automaten und Formale Sprachen 305
46 Kontextfreie Sprachen in der Praxis Parsing mit JavaCC Der Parser erkennt zwar die syntaktisch korrekten arithmetischen Ausdrücke, gibt aber noch keine Repräsentation des eingelesenen Ausdrucks zurück. Dafür sollen die Zwischenergebnisse der Nichtterminale gespeichert werden und es muss während des Parsings manchmal Java-code ausgeführt werden, um die Repräsentationen zu konstruieren. In der Praxis gibt ein Parser den Syntaxbaum des eingelesenen Programms zurück. Wir sind heute aber zufrieden mit dem Wert des arithmetischen Ausdrucks. Sander Bruggink Automaten und Formale Sprachen 306
47 Parsing mit JavaCC Kontextfreie Sprachen Kontextfreie Sprachen in der Praxis Eine Produktion des endgültigen Parsers public double E() : { double value; double value2; } { value = T() ( <PLUS> value2 = T() { value += value2; } <MINUS> value2 = T() { value -= value2; } )* { return value; } } Sander Bruggink Automaten und Formale Sprachen 307
48 Kontextfreie Sprachen in der Praxis Parsing mit JavaCC Im Grunde werden mit JavaCC LL(1)-Grammatiken erzeugt, das heißt, dass nur deterministisch kontextfreie Sprachen erkannt werden können. Es gibt aber verschiedene Tricks, um Parser für größere Klassen von Grammatiken zu erzeugen. Zum Selbststudium: Sander Bruggink Automaten und Formale Sprachen 308
Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2011
Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2011 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1 Wir beschäftigen uns ab
MehrBeweisidee: 1 Verwende den Keller zur Simulation der Grammatik. Leite ein Wort. 2 Problem: der Keller darf nicht beliebig verwendet werden, man kann
Automaten und Formale prachen alias Theoretische Informatik ommersemester 2011 Dr. ander Bruggink Übungsleitung: Jan tückrath Wir beschäftigen uns ab jetzt einige Wochen mit kontextfreien prachen: Kontextfreie
MehrAutomaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2013
Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2013 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1 Deterministische Kellerautomaten
MehrTheorie 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
MehrKontextfreie Sprachen
Kontextfreie Sprachen Bedeutung: Programmiersprachen (Compilerbau) Syntaxbäume Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung
MehrKontextfreie 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
MehrTheorie 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)
Mehr11.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
MehrRegulä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
MehrAutomaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012
Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1 Abgeschlossenheit (Definition)
MehrDeterministischer 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,δ,
MehrAutomaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012
utomaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink utomaten und Formale Sprachen 1 Der CYK-lgorithmus Beispiel
Mehr10 Kellerautomaten. Kellerautomaten
10 Kellerautomaten Bisher hatten wir kontextfreie Sprachen nur mit Hilfe von Grammatiken charakterisiert. Wir haben gesehen, dass endliche Automaten nicht in der Lage sind, alle kontextfreien Sprachen
MehrGrundlagen der theoretischen Informatik
Grundlagen der theoretischen Informatik Kurt Sieber Fakultät IV, Department ETI Universität Siegen SS 2013 Vorlesung vom 04.06.2013 An den Transitionen sieht man zunächst, dass nur die folgenden Zustandsübergänge
MehrKontextfreie Sprachen werden von PDAs akzeptiert
Kontextfreie Sprachen werden von PDAs akzeptiert Sei G = (Σ, V, S, P) eine kontextfreie Grammatik. Dann gibt es einen PDA A mit L(A) = L(G). Der PDA A arbeitet mit nur einem Zustand q 0, besitzt das Kelleralphabet
MehrKontextfreie Sprachen. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kontextfreie Sprachen
Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Wortproblem: der CYK-Algorithmus Pumping Lemma für kontextfreie Sprachen
MehrAbschlusseigenschaften. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Abschlusseigenschaften
Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Abgeschlossenheit (Definition) Gegeben sei eine Menge M und ein n-ärer
MehrAutomaten und formale Sprachen Notizen zu den Folien
13 Kellerautomaten Automaten und formale Sprachen Notizen zu den Folien Warum ein Automatenmodell für kontextfreien Sprachen (zu Folie 233) Manche Konstruktionen und Verfahren lassen sich besser mit Hilfe
MehrEinführung in die Computerlinguistik Chomskyhierarchie
Einführung in die Computerlinguistik Chomskyhierarchie Dozentin: Wiebke Petersen 14. Foliensatz Wiebke Petersen Einführung CL 1 Wiederholung: Formale Grammatik Denition Eine formale Grammatik ist ein 4-Tupel
MehrEinführung in die Computerlinguistik Chomskyhierarchie
Einführung in die Computerlinguistik Chomskyhierarchie Dozentin: Wiebke Petersen 14. Foliensatz Wiebke Petersen Einführung CL 1 Wiederholung: Formale Grammatik Denition Eine formale Grammatik ist ein 4-Tupel
MehrÜbersicht. 3 3 Kontextfreie Sprachen
Formale Systeme, Automaten, Prozesse Übersicht 3 3.1 Kontextfreie Sprachen und Grammatiken 3.2 Ableitungsbäume 3.3 Die pre -Operation 3.4 Entscheidungsprobleme für CFGs 3.5 Normalformen für CFGs 3.6 Chomsky-Normalform
MehrSpracherkennung (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
MehrAbschlusseigenschaften
Abschlusseigenschaften Die Klasse der regulären Sprachen hat eine große Zahl nützlicher Eigenschaften, insbesondere die folgenden Abschlusseigenschaften: Satz: Die Klasse der regulären Sprachen ist abgeschlossen
MehrTuringmaschinen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen
Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: und effiziente Algorithmen Wintersemester 2011/12 Schematische Darstellung einer Turing-Maschine: Kopf kann sich nach links und
Mehr2.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
MehrFormale Sprachen. Script, Kapitel 4. Grammatiken
Formale Sprachen Grammatiken Script, Kapitel 4 erzeugen Sprachen eingeführt von Chomsky zur Beschreibung natürlicher Sprache bedeutend für die Syntaxdefinition und -analyse von Programmiersprachen Automaten
MehrAutomaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2013
Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2013 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1 Reguläre Ausdrücke Wozu
MehrGrundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I
Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Institut für Informatik Sommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:
MehrDefinition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ.
Reguläre Ausdrücke Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (i) ist ein regulärer Ausdruck über Σ. (ii) ε ist ein regulärer Ausdruck über Σ. (iii) Für jedes a Σ ist a ein regulärer
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie prachen (VI) 25.06.2015 Viorica ofronie-tokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie
MehrEinführung in die Computerlinguistik
Einführung in die Computerlinguistik Kontextfreie Sprachen und Pushdown-Automaten Dozentin: Wiebke Petersen WS 2004/2005 Wiebke Petersen Formale Komplexität natürlicher Sprachen WS 03/04 Wiederholung c
MehrMehrdeutige Grammatiken
Mehrdeutige Grammatiken Wir haben gesehen, dass es auch mehr als eine Linksableitung, d.h. mehr als einen Syntaxbaum geben kann, um das selbe Terminalwort zu erzeugen. Eine Grammatik, die für mindestens
MehrF2 Zusammenfassung Letzte Tips zur Klausur
F2 Zusammenfassung Letzte Tips zur Klausur Berndt Farwer FB Informatik, Uni HH F2-ommersemester 2001-(10.6.) p.1/15 Funktionen vs. Relationen Funktionen sind eindeutig, Relationen brauchen nicht eindeutig
MehrGrundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben
Dieses Dokument soll mehr dazu dienen, Beispiele für die formal korrekt mathematische Bearbeitung von Aufgaben zu liefern, als konkrete Hinweise auf typische Klausuraufgaben zu liefern. Die hier gezeigten
MehrEinfü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,
MehrDie 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
MehrInformatik 3 Theoretische Informatik WS 2015/16
2. Probeklausur 22. Januar 2016 Informatik 3 Theoretische Informatik WS 2015/16 Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg Institut für Informatik Name: Matrikel-Nr.: Schreiben Sie Ihren
Mehr3.1 Kontextfreie Sprachen und Grammatiken 3.2 Ableitungsbäume 3.3 Die pre -Operation
Formale Systeme, Automaten, Prozesse Übersicht 3 3.1 Kontextfreie Sprachen und Grammatiken 3.2 Ableitungsbäume 3.3 Die pre -Operation 3.5 Normalformen für CFGs 3.6 Chomsky-Normalform 3.7 Greibach-Normalform
MehrEinführung in die Computerlinguistik. Chomskyhierarchie. Dozentin: Wiebke Petersen Wiebke Petersen Einführung CL (SoSe 2010) 1
Einführung in die Computerlinguistik Chomskyhierarchie Dozentin: Wiebke Petersen 1.7.2010 Wiebke Petersen Einführung CL (SoSe 2010) 1 Wiederholung: Formale Grammatik Denition Eine formale Grammatik ist
Mehr1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie
1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie WS 11/12 155 Überblick Zunächst einmal definieren wir formal den Begriff
MehrOgden s Lemma: Der Beweis (1/5)
Ogden s Lemma: Der Beweis (1/5) Wir betrachten zuerst die Rahmenbedingungen : Laut dem auf der vorhergehenden Folie zitierten Satz gibt es zur kontextfreien Sprache L eine Grammatik G = (Σ, V, S, P) in
MehrInformatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit. Zugangsnummer: 9201
Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit Wiederholung Kapitel 3 und 4 http://pingo.upb.de Zugangsnummer: 9201 Dozent: Jun.-Prof. Dr.
Mehr8. 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
Mehr1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie
1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie 139 Unentscheidbarkeit Überblick Zunächst einmal definieren wir formal
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 18. Januar 2018 INSTITUT FÜR THEORETISCHE 0 18.01.2018 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität
MehrTheoretische Informatik für Wirtschaftsinformatik und Lehramt
Theoretische Informatik für Wirtschaftsinformatik und Lehramt Entscheidungsprobleme Priv.-Doz. Dr. Stefan Milius stefan.milius@fau.de Theoretische Informatik Friedrich-Alexander Universität Erlangen-Nürnberg
MehrTheoretische Informatik Mitschrift
Theoretische Informatik Mitschrift 9. Berechenbarkeit, Entscheidbarkeit, Aufzählbarkeit 9.1 Grundbegriffe bereits gezeigt: Spracherkennung durch Turingmaschine = Berechnung der semi-charakteristischen
Mehr3. Vorlesung: Endliche Automaten Markus Kr otzsch Lehrstuhl Wissensbasierte Systeme
Wiederholung Mit Grammatiken können wir Sprachen beschreiben und sie grob in Typen unterteilen: FORMALE SYSTEME 3. Vorlesung: Endliche Automaten Markus Krötzsch Lehrstuhl Wissensbasierte Systeme Formale
Mehr2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018
2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018 Hier Aufkleber mit Name und Matrikelnummer anbringen Vorname: Nachname: Matrikelnummer: Beachten Sie: Bringen Sie
MehrGrundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier. Henning Fernau Universität Trier
Grundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Grundlagen Theoretischer Informatik 2 Gesamtübersicht Organisatorisches; Einführung Ersetzungsverfahren:
MehrFORMALE SYSTEME. 3. Vorlesung: Endliche Automaten. TU Dresden, 17. Oktober Markus Krötzsch
FORMALE SYSTEME 3. Vorlesung: Endliche Automaten Markus Krötzsch TU Dresden, 17. Oktober 2016 Rückblick Markus Krötzsch, 17. Oktober 2016 Formale Systeme Folie 2 von 31 Wiederholung Mit Grammatiken können
MehrSei Σ 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
MehrInformatik III - WS07/08
Informatik III - WS07/08 Kapitel 5 1 Informatik III - WS07/08 Prof. Dr. Dorothea Wagner dwagner@ira.uka.de Kapitel 5 : Grammatiken und die Chomsky-Hierarchie Informatik III - WS07/08 Kapitel 5 2 Definition
MehrLösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004
Lösung zur Klausur Grundlagen der Theoretischen Informatik im WiSe 2003/2004 1. Geben Sie einen deterministischen endlichen Automaten an, der die Sprache aller Wörter über dem Alphabet {0, 1} akzeptiert,
MehrDeterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen
Dr. Sebastian Bab WiSe 12/13 Theoretische Grundlagen der Informatik für TI Termin: VL 15 + 16 vom 17.12.2012 und 20.12.2012 Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen
MehrTheoretische Grundlagen der Informatik. Vorlesung am 17. Januar INSTITUT FÜR THEORETISCHE INFORMATIK
Theoretische Grundlagen der Informatik 0 17.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Evaluation Ergebnisse
MehrAusgewählte unentscheidbare Sprachen
Proseminar Theoretische Informatik 15.12.15 Ausgewählte unentscheidbare Sprachen Marian Sigler, Jakob Köhler Wolfgang Mulzer 1 Entscheidbarkeit und Semi-Entscheidbarkeit Definition 1: L ist entscheidbar
MehrTheoretische Informatik I
Theoretische Informatik I Einheit 4.3 Eigenschaften von L 0 /L 1 -Sprachen 1. Abschlußeigenschaften 2. Prüfen von Eigenschaften 3. Grenzen der Sprachklassen Sprachklassen Semi-entscheidbare Sprache Sprache,
MehrHochschule 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
MehrCarlos Camino Einführung in die Theoretische Informatik SS 2015
Themenüberblick Dies ist eine Art Checkliste für die Klausurvorbereitung. Zu jedem Thema im Skript sind hier ein paar Leitfragen aufgelistet. Besonders nützlich sind die Tabellen und Abbildungen auf den
MehrEntscheidbarkeitsfragen
Entscheidbarkeitsfragen Wir haben eine Reihe von Problemen, die wir auf die verschiedenen Sprachklassen anwenden können, etwa das folgende: Wortproblem: Gegeben eine Sprache L und ein Wort x. Frage: Gilt
MehrWS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven
WS06/07 Referentin: Katharina Blinova Formale Sprachen Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven 1. Allgemeines 2. Formale Sprachen 3. Formale Grammatiken 4. Chomsky-Hierarchie 5.
MehrDas Halteproblem für Turingmaschinen
Das Halteproblem für Turingmaschinen Das Halteproblem für Turingmaschinen ist definiert als die Sprache H := { T w : T ist eine TM, die bei Eingabe w {0, 1} hält }. Behauptung: H {0, 1} ist nicht entscheidbar.
MehrMehrdeutige Grammatiken
Mehrdeutige Grammatiken Wir haben gesehen, dass es auch mehr als eine Linksableitung, d.h. mehr als einen Syntaxbaum geben kann, um das selbe Terminalwort zu erzeugen. Eine Grammatik, die für mindestens
MehrTheoretische Informatik und Logik Übungsblatt 1 (2016S) Lösung
Theoretische Informatik und Logik Übungsblatt (26S) en Aufgabe. Sei L = {w#w r w {, } }. Geben Sie eine deterministische Turingmaschine M an, welche die Sprache L akzeptiert. Wählen Sie mindestens einen
MehrWorterkennung in Texten speziell im Compilerbau 20. April Frank Heitmann 2/64
Grenzen regulärer Sprachen? Formale Grundlagen der Informatik 1 Kapitel 4 Über reguläre Sprachen hinaus und Pumping Lemma Frank Heitmann heitmann@informatik.uni-hamburg.de Wir haben mittlerweile einiges
Mehr(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),
MehrDefinition 4 (Operationen auf Sprachen) Beispiel 5. Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A + = n 1 An
Definition 4 (Operationen auf Sprachen) Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A 0 = {ɛ}, A n+1 = AA n A = n 0 An A + = n 1 An Beispiel 5 {ab, b}{a, bb} = {aba, abbb,
MehrTheoretische 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
MehrAlphabet, formale Sprache
n Alphabet Alphabet, formale Sprache l nichtleere endliche Menge von Zeichen ( Buchstaben, Symbole) n Wort über einem Alphabet l endliche Folge von Buchstaben, die auch leer sein kann ( ε leere Wort) l
MehrBerechenbarkeit und Komplexität
Berechenbarkeit und Komplexität Prof. Dr. Dietrich Kuske FG Theoretische Informatik, TU Ilmenau Wintersemester 2010/11 1 Organisatorisches zur Vorlesung Informationen, aktuelle Version der Folien und Übungsblätter
MehrDefinition 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
MehrFormale Sprachen und Automaten: Tutorium Nr. 8
Formale Sprachen und Automaten: Tutorium Nr. 8 15. Juni 2013 Übersicht 1 Nachtrag 2 Besprechung von Übungsblatt 7 Aufgabe 1 Aufgabe 2 Aufgabe 3 3 CFG PDA Definitionen Ein Beispiel! Aufgabe 4 Der PDA als
MehrAutomaten 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
Mehrq 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
MehrNichtdeterministischer Kellerautomat
1 Nichtdeterministischer Kellerautomat endlicher Automat mit Zusatzspeicher in Form eines Kellers (Stapel, Stack) mit Speicheroperationen pro Übergang Keller über X: w X mit den Operationen push, head,
Mehrkontextfreie Sprachen: Normalformen
1 kontextfreie Sprachen: Normalformen Zur Erinnerung: Kontextfreie Sprachen sind diejenigen, die von Grammatiken erzeugt werden, die auf allen linken Regelseiten nur je ein Nichtterminalsymbol haben. Aufgrund
MehrProseminar TI: Kellerautomaten. 1 Motivation. 2 Einführung. Vortrag: Von Sebastian Oltmanns und Dorian Wachsmann. Dozent: Wolfgang Mulzer.
Proseminar TI: Kellerautomaten Vortrag: 10.11.2015 Von Sebastian Oltmanns und Dorian Wachsmann. Dozent: Wolfgang Mulzer. 1 Motivation Wir kennen bereits die Chomsky-Hierarchie. Sie klassiziert formale
MehrEin Fragment von Pascal
Ein Fragment von Pascal Wir beschreiben einen (allerdings sehr kleinen) Ausschnitt von Pascal durch eine kontextfreie Grammatik. Wir benutzen das Alphabet Σ = {a,..., z, ;, :=, begin, end, while, do} und
Mehr1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik
Mehr1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik
MehrAufgabentypen: Spickerblatt: kontextfrei (Typ 2): zusätzlich: u ist eine!"# v 1
Info4 Stoff Aufgabentypen: Grammatik CH einordnen NFA DFA Grammatik Chomsky-NF CYK-Algorithmus: Tabelle / Ableitungsbäume Grammatik streng kf. Grammatik Grammatik Pumping Lemma Beweis, dass Gr. nicht reg,
MehrKontextfreie Grammatiken. Kontextfreie Grammatiken 1 / 45
Kontextfreie Grammatiken Kontextfreie Grammatiken 1 / 45 Was kann man mit kontextfreien Grammatiken anfangen? Kontextfreie Grammatiken, kurz: werden zur Modellierung von KFGs beliebig tief geschachtelten
MehrAutomatentheorie 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
MehrFrank Heitmann 2/47. 1 Ein PDA beginnt im Startzustand z 0 und mit im Keller. 2 Ist der Automat
Formale Grundlagen der Informatik 1 Kapitel 5 Über reguläre Sprachen hinaus und (Teil 2) Frank Heitmann heitmann@informatik.uni-hamburg.de 21. April 2015 Der Kellerautomat - Formal Definition (Kellerautomat
MehrDefinition 78 Ein NPDA = PDA (= Nichtdeterministischer Pushdown-Automat) besteht aus:
4.7 Kellerautomaten In der Literatur findet man häufig auch die Bezeichnungen Stack-Automat oder Pushdown-Automat. Kellerautomaten sind, wenn nichts anderes gesagt wird, nichtdeterministisch. Definition
MehrGrundlagen 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
MehrEndliche Automaten Jörg Roth 101
Endliche Automaten Jörg Roth 101 Wir wollen im Folgenden die Abschlusseigenschaften regulärer Sprachen betrachten. Fragestellung: Wenn wir reguläre Sprachen haben, welche binären und unären Operationen
MehrTheoretische Informatik I
Theoretische Informatik I Rückblick Theoretische Informatik I 1. Mathematische Methoden 2. Reguläre Sprachen 3. Kontextfreie Sprachen Themen der Theoretischen Informatik I & II Mathematische Methodik in
MehrLemma 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
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Sommersemester 2017 20.04.2017 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Organisatorisches Literatur Motivation und Inhalt Kurzer
MehrInformatik III. Arne Vater Wintersemester 2006/ Vorlesung
Informatik III Arne Vater Wintersemester 2006/07 10. Vorlesung 24.11.2006 1 Turingmaschinen Informatik III 9. Vorlesung - 2 Turingmaschinen Eine (deterministische 1-Band) Turingmaschine (DTM) wird beschrieben
MehrSatz (Abschluß unter der Stern-Operation)
Satz (Abschluß unter der Stern-Operation) Wenn L eine reguläre Sprache ist, dann ist auch L regulär. Beweis: Es gibt einen NFA M = (Z, Σ, S, δ, S, E) mit L(M) = L. Wir bauen aus diesem NFA nun wie folgt
MehrUnentscheidbare Probleme bei formalen Sprachen
Unentscheidbare Probleme bei formalen Sprachen Maximilian Zagler 22.01.2008 Freie Universität Berlin, Institut für Informatik Proseminar Theoretische Informatik WS 07/08 Dozent: Prof. Dr. Helmut Alt 1
Mehr