Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2011

Größe: px
Ab Seite anzeigen:

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

Transkript

1 Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2011 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1

2 Wir beschäftigen uns ab jetzt einige Wochen mit kontextfreien Sprachen: Kontextfreie Grammatiken und eindeutigkeit Wortproblem für kontextfeien Sprachen: der CYK-Algorithmus Pumping-Lemma für kontextfreien Sprachen Automatenmodell für kontextfreien Sprachen: Kellerautomaten Abschlusseigenschaften und Entscheidungsverfahren Deterministische kontextfreie Sprachen

3 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

4 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

5 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

6 Entscheidbare Eigenschaften Entscheidbarkeit Entscheidbarkeit des Endlichkeitproblems Das Endlichkeitsproblem für kontextfreie Sprachen ist entscheidbar. Beweisidee: Gegeben eine kontextfreie Grammatik. Sei n = 2 V die Anzahl von Variablen, 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

7 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

8 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

9 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

10 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

11 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

12 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

13 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

14 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

15 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

16 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

17 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

18 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

19 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

20 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

21 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

22 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

23 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

24 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

25 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

26 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

27 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

28 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

29 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

30 Kontextfreie Sprachen in der Praxis Parsing mit JavaCC Aufbau einer JavaCC Quelldatei: PARSER_BEGIN(Name) public class Name {... } PARSER_END(Name) Regeln für lexical analyser Regeln der Grammatik Sander Bruggink Automaten und Formale Sprachen 302

31 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

32 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

33 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

34 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

35 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 WS 11/12 155 Überblick Zunächst einmal definieren wir formal den Begriff

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Formale Sprachen und endliche Automaten

Formale Sprachen und endliche Automaten Formale Sprachen und endliche Automaten Formale Sprachen Definition: 1 (Alphabet) Ein Alphabet Σ ist eine endliche, nichtleere Menge von Zeichen oder Symbolen. Ein Wort über dem Alphabet Σ ist eine endliche

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

(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

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

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

Mehr

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

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

2.1 Allgemeines. Was ist eine Sprache? Beispiele:

2.1 Allgemeines. Was ist eine Sprache? Beispiele: Was ist eine Sprache? Beispiele: (a) Deutsch, Japanisch, Latein, Esperanto,...: Natürliche Sprachen (b) Pascal, C, Java, Aussagenlogik,...: Formale Sprachen Wie beschreibt man eine Sprache? (i) Syntax

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

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

Automaten und Formale Sprachen SoSe 2013 in Trier

Automaten und Formale Sprachen SoSe 2013 in Trier Automaten und Formale Sprachen SoSe 2013 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 2. Juni 2013 1 Automaten und Formale Sprachen Gesamtübersicht Organisatorisches Einführung Endliche

Mehr

Theoretische Informatik Testvorbereitung Moritz Resl

Theoretische Informatik Testvorbereitung Moritz Resl Theoretische Informatik Testvorbereitung Moritz Resl Bestandteile einer Programmiersprache: a) Syntax (Form): durch kontextfreie Grammatik beschrieben b) Semantik (Bedeutung) 1.) Kontextfreie Sprachen

Mehr

Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie

Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie Gliederung. Grundbegriffe. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.. Chomsky-Grammatiken 2.2. Reguläre Sprachen (noch weiter) 2.3. Kontextfreie Sprachen 2/4,

Mehr

Satz von Kleene. (Stephen C. Kleene, ) Wiebke Petersen Einführung CL 2

Satz von Kleene. (Stephen C. Kleene, ) Wiebke Petersen Einführung CL 2 Satz von Kleene (Stephen C. Kleene, 1909-1994) Jede Sprache, die von einem deterministischen endlichen Automaten akzeptiert wird ist regulär und jede reguläre Sprache wird von einem deterministischen endlichen

Mehr

Unentscheidbare Grammatik-Probleme

Unentscheidbare Grammatik-Probleme Unentscheidbare Grammatik-Probleme Satz: Für zwei kontextfreie Sprachen L 1 = L(G 1 ), L 2 = L(G 2 ) mit Typ-2-Grammatiken G 1 und G 2 sind die folgenden fünf Probleme unentscheidbar: 1) Leerheit des Schnitts

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

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

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

Mehr

Ist eine algorithmische Problemstellung lösbar und wenn ja, mit welchen Mitteln? was ist eine algorithmische Problemstellung?

Ist eine algorithmische Problemstellung lösbar und wenn ja, mit welchen Mitteln? was ist eine algorithmische Problemstellung? Überblick 1. reguläre Sprachen endliche Automaten (deterministisch vs. nichtdeterministisch) Nichtregularität 2. Berechenbarkeit Registermaschinen/Turingmaschinen Churchsche These Unentscheidbarkeit 3.

Mehr

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln, Theorie der Informatik 8. März 25 8. Reguläre Sprachen I Theorie der Informatik 8. Reguläre Sprachen I 8. Reguläre Grammatiken Malte Helmert Gabriele Röger 8.2 DFAs Universität Basel 8. März 25 8.3 NFAs

Mehr

3.0 VU Formale Modellierung

3.0 VU Formale Modellierung 3.0 VU Formale Modellierung Gernot Salzer Arbeitsbereich Theoretische Informatik und Logik Institut für Computersprachen SS 206 Inhalt 0. Überblick. Organisation 2. Was bedeutet Modellierung? 3. Aussagenlogik

Mehr

Einführung in die Computerlinguistik Satz von Kleene

Einführung in die Computerlinguistik Satz von Kleene Einführung in die Computerlinguistik Satz von Kleene Dozentin: Wiebke Petersen 5. Foliensatz Wiebke Petersen Einführung CL 1 Satz von Kleene (Stephen C. Kleene, 1909-1994) Jede Sprache, die von einem deterministischen

Mehr

... = für δ(z, a i ) = z. Abbildung 4.4: Interpretation der Arbeitsweise eines endlichen Automaten

... = für δ(z, a i ) = z. Abbildung 4.4: Interpretation der Arbeitsweise eines endlichen Automaten 3 Reguläre Sprachen 63 3 Reguläre Sprachen In diesem Kapitel beschäftigen wir uns etwas näher mit den regulären Sprachen, insbesondere mit der Möglichkeit verschiedener Charakterisierungen und den Eigenschaften

Mehr

Turing: prinzipielle Berechenbarkeit Abschnitt 4.2. Turingmaschinen: DTM Abschnitt 4.2. DTM: Akzeptieren und Entscheiden Abschnitt 4.

Turing: prinzipielle Berechenbarkeit Abschnitt 4.2. Turingmaschinen: DTM Abschnitt 4.2. DTM: Akzeptieren und Entscheiden Abschnitt 4. Kap. 4: Berechnungsmodelle Turingmaschinen 4.2 Turing: prinzipielle Berechenbarkeit Abschnitt 4.2 Kap. 4: Berechnungsmodelle Turingmaschinen 4.2 Turingmaschinen: DTM Abschnitt 4.2 DTM = DFA + unbeschränkter

Mehr

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

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

Mehr

Informatik III. Christian Schindelhauer Wintersemester 2006/07 5. Vorlesung

Informatik III. Christian Schindelhauer Wintersemester 2006/07 5. Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 5. Vorlesung 09.11.2006 schindel@informatik.uni-freiburg.de 1 Äquivalenzklassen Definition und Beispiel Definition Für eine Sprache L Σ* bezeichnen

Mehr

Kapitel 2: Formale Sprachen Gliederung

Kapitel 2: Formale Sprachen Gliederung Gliederung. Einleitung und Grundbegriffe. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.. Chomsky-Grammatiken 2.2. Reguläre Sprachen Reguläre Grammatiken, ND-Automaten

Mehr

Theoretische Informatik Kap 1: Formale Sprachen/Automatentheorie

Theoretische Informatik Kap 1: Formale Sprachen/Automatentheorie Gliederung der Vorlesung. Grundbegriffe. Formale Sprachen/Automatentheorie.. Grammatiken.2..3. Kontext-freie Sprachen 2. Berechnungstheorie 2.. Berechenbarkeitsmodelle 2.2. Die Churchsche These 2.3. Unentscheidbarkeit

Mehr

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

Unentscheidbarkeit. 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 Prof. Barbara König Übungsleitung: Henning Kerstan & Jan Stückrath Worum geht

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

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2015 16.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Organizatorisches Literatur Motivation und Inhalt Kurzer

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Wintersemester 2007 / 2008 Prof. Dr. Heribert Vollmer Institut für Theoretische Informatik 29.10.2007 Reguläre Sprachen Ein (deterministischer) endlicher Automat

Mehr

Software Engineering Ergänzung zur Vorlesung

Software Engineering Ergänzung zur Vorlesung Ergänzung zur Vorlesung Prof. Dr. Markus Müller-Olm WS 2008 2009 2.6.1 Endliche und reguläre Sprachen Endliche und reguläre Sprache: fundamental in vielen Bereichen der Informatik: theorie Formale Sprachen

Mehr

FORMALE SYSTEME. 10. Vorlesung: Grenzen regulärer Sprachen / Probleme für Automaten. TU Dresden, 14. November 2016.

FORMALE SYSTEME. 10. Vorlesung: Grenzen regulärer Sprachen / Probleme für Automaten. TU Dresden, 14. November 2016. FORMALE SYSTEME 10. Vorlesung: Grenzen regulärer Sprachen / Probleme für Automaten Markus Krötzsch TU Dresden, 14. November 2016 Rückblick Markus Krötzsch, 14. November 2016 Formale Systeme Folie 2 von

Mehr

Abschluss unter Operationen

Abschluss unter Operationen Abschluss unter Operationen Definition Definition: Es seien L eine Menge von Sprachen und τ eine n-stellige Operation, die über Sprachen definiert ist. Dann heißt L abgeschlossen unter τ, wenn für beliebige

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2015 29.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Motivation 2. Terminologie 3. Endliche Automaten und reguläre

Mehr

Theoretische Grundlagen der Informatik

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

Mehr

Einführung in die Computerlinguistik

Einführung in die Computerlinguistik Einführung in die Computerlinguistik Pumping-Lemma für kontextfreie Sprachen, Abschlußeigenschaften kontextfreier Sprachen und die Komplexität natürlicher Sprachen Dozentin: Wiebke Petersen WS 2004/2005

Mehr

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

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

Mehr

Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie

Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester 2005/2006 07.02.2006 28. und letzte Vorlesung 1 Die Chomsky-Klassifizierung Chomsky-Hierachien 3: Reguläre Grammatiken

Mehr

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

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

Mehr

Grundkurs Theoretische Informatik

Grundkurs Theoretische Informatik Gottfried Vossen I Kurt-Ulrich Witt Grundkurs Theoretische Informatik Eine anwendungsbezogene Einführung - Für Studierende in allen Informatik-Studiengängen 5., durchgesehene Auflage Mit 147 Abbildungen

Mehr

Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen. Wintersemester 2011/12

Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen. Wintersemester 2011/12 Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: und effiziente Algorithmen Wintersemester 2011/12 Prof. Barbara König Übungsleitung: Henning Kerstan & Jan Stückrath Barbara König

Mehr

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

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

Mehr

Grundlagen der Theoretischen Informatik

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

Mehr

Typ-1-Sprachen. Satz 1 (Kuroda ( ) 1964)

Typ-1-Sprachen. Satz 1 (Kuroda ( ) 1964) Typ-1-Sprachen Satz 1 (Kuroda (1934-2009) 1964) Eine Sprache L hat Typ 1 (= ist kontextsensitiv) genau dann, wenn sie von einem nichtdeterministischen LBA erkannt wird. Beweis: Sei zunächst L Typ-1-Sprache.

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

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln, Theorie der Informatik 9. März 24 7. Reguläre Sprachen I Theorie der Informatik 7. Reguläre Sprachen I Malte Helmert Gabriele Röger Universität Basel 9. März 24 7. Reguläre Grammatiken 7.2 DFAs 7.3 NFAs

Mehr

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen -

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen - Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen - Thies Pfeiffer Technische Fakultät tpfeiffe@techfak.uni-bielefeld.de Vorlesung, Universität Bielefeld, Winter 2012/2013 1 / 1 Exkurs: Formale

Mehr

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

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

Mehr

Formale Sprachen. Script, Kapitel 4. Grammatiken

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

Mehr

Aufgabe Mögliche Punkte Erreichte Punkte a b c d Σ a b c d Σ x1 13

Aufgabe Mögliche Punkte Erreichte Punkte a b c d Σ a b c d Σ x1 13 Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 2003/04 ILKD Prof. Dr. D. Wagner 14. April 2004 2. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004 Hier Aufkleber

Mehr

Musterlösung Informatik-III-Klausur

Musterlösung Informatik-III-Klausur Musterlösung Informatik-III-Klausur Aufgabe 1 (1+4+3+4 Punkte) (a) 01010 wird nicht akzeptiert: s q 0 q 1 q 2 f q 2 10101 wird akzeptiert: s q 2 q 2 f q 2 f (b) ε: {s, q 0, q 1, q 2 }, {f} 0: {s, q 0,

Mehr

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

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

Mehr

Grammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S)

Grammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S) Grammatiken Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V Startsymbol S V Produktionen P ( (V Σ) \ Σ ) (V Σ) Kurzschreibweise G = (V, Σ, P, S) Schreibweise für Produktion (α, β) P: α β 67 /

Mehr

Das Pumping-Lemma Formulierung

Das Pumping-Lemma Formulierung Das Pumping-Lemma Formulierung Sei L reguläre Sprache. Dann gibt es ein n N mit: jedes Wort w L mit w n kann zerlegt werden in w = xyz, so dass gilt: 1. xy n 2. y 1 3. für alle k 0 ist xy k z L. 59 / 162

Mehr

1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung!

1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung! Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 23/4 ILKD Prof. Dr. D. Wagner 2. Februar 24. Klausur zur Vorlesung Informatik III Wintersemester 23/24 Mit Lösung! Beachten Sie:

Mehr

Automatentheorie und formale Sprachen rechtslineare Grammatiken

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

Mehr

Kontextfreie Grammatiken

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

Mehr

Einführung in die Theoretische Informatik I/ Grundlagen der Theoretischen Informatik. SS 2007 Jun.-Prof. Dr. Bernhard Beckert Ulrich Koch

Einführung in die Theoretische Informatik I/ Grundlagen der Theoretischen Informatik. SS 2007 Jun.-Prof. Dr. Bernhard Beckert Ulrich Koch Einführung in die Theoretische Informatik I/ Grundlagen der Theoretischen Informatik SS 2007 Jun.-Prof. Dr. Bernhard Beckert Ulrich Koch 3. Teilklausur 25. 07. 2007 Persönliche Daten bitte gut leserlich

Mehr

Worterkennung in Texten speziell im Compilerbau 14. April Frank Heitmann 2/65

Worterkennung in Texten speziell im Compilerbau 14. April Frank Heitmann 2/65 Grenzen regulärer Sprachen? Formale Grundlagen der Informatik 1 Kapitel 4 Über reguläre Sprachen hinaus und Frank Heitmann heitmann@informatik.uni-hamburg.de Wir haben mittlerweile einiges kennengelernt,

Mehr

Übungsaufgaben zu Formalen Sprachen und Automaten

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

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2016 20.04.2016 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen

Mehr

Satz 90 Sei A = (Q, Σ, δ, q 0, F ) ein DFA. Der Zeitaufwand des obigen Minimalisierungsalgorithmus ist O( Q 2 Σ ).

Satz 90 Sei A = (Q, Σ, δ, q 0, F ) ein DFA. Der Zeitaufwand des obigen Minimalisierungsalgorithmus ist O( Q 2 Σ ). Satz 90 Sei A = (Q, Σ, δ, q 0, F ) ein DFA. Der Zeitaufwand des obigen Minimalisierungsalgorithmus ist O( Q 2 Σ ). Beweis: Für jedes a Σ muss jede Position in der Tabelle nur konstant oft besucht werden.

Mehr

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p.

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p. Thorsten Timmer SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke Turing Maschine SS 2005 p. 1/35 Inhalt Einführung Formale Definition Berechenbare Sprachen und Funktionen Berechnung ganzzahliger

Mehr

Rekursiv aufzählbare Sprachen

Rekursiv aufzählbare Sprachen Kapitel 4 Rekursiv aufzählbare Sprachen 4.1 Grammatiken und die Chomsky-Hierarchie Durch Zulassung komplexer Ableitungsregeln können mit Grammatiken größere Klassen als die kontextfreien Sprachen beschrieben

Mehr