Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012

Größe: px
Ab Seite anzeigen:

Download "Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012"

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 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

Mehr

Beweisidee: 1 Verwende den Keller zur Simulation der Grammatik. Leite ein Wort. 2 Problem: der Keller darf nicht beliebig verwendet werden, man kann

Beweisidee: 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

Mehr

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2013

Automaten 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

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

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

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

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

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

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

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012

Automaten 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)

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

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012

Automaten 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

Mehr

10 Kellerautomaten. Kellerautomaten

10 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

Mehr

Grundlagen der theoretischen Informatik

Grundlagen 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

Mehr

Kontextfreie Sprachen werden von PDAs akzeptiert

Kontextfreie 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

Mehr

Kontextfreie Sprachen. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kontextfreie Sprachen

Kontextfreie 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

Mehr

Abschlusseigenschaften. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Abschlusseigenschaften

Abschlusseigenschaften. 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

Mehr

Automaten und formale Sprachen Notizen zu den Folien

Automaten 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

Mehr

Einführung in die Computerlinguistik Chomskyhierarchie

Einfü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

Einführung in die Computerlinguistik Chomskyhierarchie

Einfü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

Ü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

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

Abschlusseigenschaften

Abschlusseigenschaften 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

Mehr

Turingmaschinen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen

Turingmaschinen 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

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

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 Sprache bedeutend für die Syntaxdefinition und -analyse von Programmiersprachen Automaten

Mehr

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2013

Automaten 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

Mehr

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Grundlagen 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:

Mehr

Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ.

Definition (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

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen 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

Mehr

Einführung in die Computerlinguistik

Einfü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

Mehr

Mehrdeutige Grammatiken

Mehrdeutige 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

Mehr

F2 Zusammenfassung Letzte Tips zur Klausur

F2 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

Mehr

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben

Grundlagen 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

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

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

Informatik 3 Theoretische Informatik WS 2015/16

Informatik 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

Mehr

3.1 Kontextfreie Sprachen und Grammatiken 3.2 Ableitungsbäume 3.3 Die pre -Operation

3.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

Mehr

Einfü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 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

Mehr

1 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 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

Mehr

Ogden s Lemma: Der Beweis (1/5)

Ogden 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

Mehr

Informatik 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.  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.

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

1 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 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

Mehr

Theoretische Grundlagen der Informatik

Theoretische 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

Mehr

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Theoretische 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

Mehr

Theoretische Informatik Mitschrift

Theoretische Informatik Mitschrift Theoretische Informatik Mitschrift 9. Berechenbarkeit, Entscheidbarkeit, Aufzählbarkeit 9.1 Grundbegriffe bereits gezeigt: Spracherkennung durch Turingmaschine = Berechnung der semi-charakteristischen

Mehr

3. Vorlesung: Endliche Automaten Markus Kr otzsch Lehrstuhl Wissensbasierte Systeme

3. 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

Mehr

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018

2. 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

Mehr

Grundlagen 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 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:

Mehr

FORMALE SYSTEME. 3. Vorlesung: Endliche Automaten. TU Dresden, 17. Oktober Markus Krötzsch

FORMALE 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

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

Informatik III - WS07/08

Informatik 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

Mehr

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004

Lö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,

Mehr

Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen

Deterministische 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

Mehr

Theoretische Grundlagen der Informatik. Vorlesung am 17. Januar INSTITUT FÜR THEORETISCHE INFORMATIK

Theoretische 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

Mehr

Ausgewählte unentscheidbare Sprachen

Ausgewä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

Mehr

Theoretische Informatik I

Theoretische 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,

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

Carlos Camino Einführung in die Theoretische Informatik SS 2015

Carlos 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

Mehr

Entscheidbarkeitsfragen

Entscheidbarkeitsfragen 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

Mehr

WS06/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 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.

Mehr

Das Halteproblem für Turingmaschinen

Das 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.

Mehr

Mehrdeutige Grammatiken

Mehrdeutige 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

Mehr

Theoretische Informatik und Logik Übungsblatt 1 (2016S) Lösung

Theoretische 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

Mehr

Worterkennung in Texten speziell im Compilerbau 20. April Frank Heitmann 2/64

Worterkennung 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 (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

Definition 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) 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,

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

Alphabet, formale Sprache

Alphabet, 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

Mehr

Berechenbarkeit und Komplexität

Berechenbarkeit 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

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

Formale Sprachen und Automaten: Tutorium Nr. 8

Formale 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

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

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

Nichtdeterministischer Kellerautomat

Nichtdeterministischer 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,

Mehr

kontextfreie Sprachen: Normalformen

kontextfreie 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

Mehr

Proseminar TI: Kellerautomaten. 1 Motivation. 2 Einführung. Vortrag: Von Sebastian Oltmanns und Dorian Wachsmann. Dozent: Wolfgang Mulzer.

Proseminar 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

Mehr

Ein Fragment von Pascal

Ein 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

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. 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

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. 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

Mehr

Aufgabentypen: Spickerblatt: kontextfrei (Typ 2): zusätzlich: u ist eine!"# v 1

Aufgabentypen: 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,

Mehr

Kontextfreie Grammatiken. Kontextfreie Grammatiken 1 / 45

Kontextfreie 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

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

Frank Heitmann 2/47. 1 Ein PDA beginnt im Startzustand z 0 und mit im Keller. 2 Ist der Automat

Frank 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

Mehr

Definition 78 Ein NPDA = PDA (= Nichtdeterministischer Pushdown-Automat) besteht aus:

Definition 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

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

Endliche Automaten Jörg Roth 101

Endliche 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

Mehr

Theoretische Informatik I

Theoretische 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

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

Grundlagen der Theoretischen Informatik

Grundlagen 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

Mehr

Informatik III. Arne Vater Wintersemester 2006/ Vorlesung

Informatik 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

Mehr

Satz (Abschluß unter der Stern-Operation)

Satz (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

Mehr

Unentscheidbare Probleme bei formalen Sprachen

Unentscheidbare 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