Theoretische Informatik 2

Größe: px
Ab Seite anzeigen:

Download "Theoretische Informatik 2"

Transkript

1 Theoretische Informatik 2 1/319 Theoretische Informatik 2 Vorlesung SS 10 nach dem Buch von D. Hoffmann (vorläufig) W. Ertel 9. Dezember 2010

2 Theoretische Informatik 2 2/319 Inhalt Formale Sprachen Endliche Automaten Berechenbarkeit Komplexitätstheorie

3 Formale Sprachen Theoretische Informatik 2 3/319 Formale Sprachen Inhalt Sprache und Grammatik Chomsky-Hierarchie Reguläre Sprachen Kontextfreie Sprachen Kontextsensitive Sprachen Rekursiv aufzählbare Sprachen (Typ-0)

4 Formale Sprachen Theoretische Informatik 2 4/319 Formale Sprachen Lernziele formale Sprachen mit Hilfe von Grammatiken erzeugen die Chomsky-Hierarchie verstehen die Besonderheiten regulärer, kontextfreier und kontextsensitiver Grammatiken ergründen die wichtigsten Entscheidungsprobleme im Bereich der formalen Sprachen kennen lernen die Abschlusseigenschaften verschiedener Sprachtypen untersuchen erlernen wie sich mit dem Pumping-Lemma Beweise führen lassen mit dem CYK-Algorithmus das Wortproblem kontextfreier Sprachen lösen

5 Formale Sprachen Theoretische Informatik 2 Sprache und Grammatik 5/319 Definition: Definition: Alphabet, Zeichen, Wort, Sprache Ein Alphabet Σ ist eine endliche Menge von Symbolen. Jedes Element σ Σ ist ein Zeichen des Alphabets. Jedes Element ω Σ wird als Wort über Σ bezeichnet. Jede Teilmenge L Σ ist eine formale Sprache über Σ.

6 Formale Sprachen Theoretische Informatik 2 Sprache und Grammatik 6/319 Definition Σ Σ 0 :={ɛ} Σ 1 := Σ Σ n+1 := {xy x Σ, y Σ n } Σ + := Σ i Σ := i=1 i=0 Σ i Beispiel: Σ := {a, b} Σ 0 ={ɛ} Σ 1 = {a, b} Σ 2 = {aa, ab, ba, bb}... Σ + ={a, b, aa, ab, ba, bb,...} Σ = {ɛ, a, b, aa, ab, ba, bb,...} Die Menge Σ wird auch Kleene sche Hülle bezeichnet

7 Formale Sprachen Theoretische Informatik 2 Sprache und Grammatik 7/319 Konkatenation Σ entsteht aus dem Alphabet Σ durch Konkatenation von Worten. Die Konkatenation ist eine zweistellige Operation auf der Menge Σ. Für v = v 1 v 2... v n Σ und w = w 1 w 2... w n Σ ist vw = v 1 v 2... v n w 1 w 2... w n Σ Σ ist zusammen mit der Konkatenation eine Halbgruppe mit neutralem Element (Monoid).

8 Formale Sprachen Theoretische Informatik 2 Sprache und Grammatik 8/319 Bedeutende Probleme der Formalen Sprachen Wortproblem Gilt für ein Wort ω Σ und eine Sprache L die Beziehung ω L? Leerheitsproblem Enthält eine Sprache L mindestens ein Wort, gilt also L? Endlichkeitsproblem Besitzt eine Sprache L nur endlich viele Elemente? Äquivalenzproblem Gilt für zwei Sprachen L 1 und L 2 die Beziehung L 1 = L 2? Spracherzeugungsproblem Gibt es für eine Sprache L eine Beschreibung, aus der sich alle Wörter systematisch ableiten lassen?

9 Formale Sprachen Theoretische Informatik 2 Sprache und Grammatik 9/319 Kleines Beispiel der deutschen Grammatik <Satz> <Subjekt> <Prädikat> <Objekt> <Subjekt> <Artikel> <Adjektiv> <Substantiv> <Artikel> Der Die Das <Adjektiv> kleine süße flinke <Substantiv> Eisbär Elch Kröte Maus Nilpferd <Prädikat> mag fängt isst <Objekt> Kekse Schokolade Käsepizza Die in spitze Klammern gesetzten Platzhalter werden als Nonterminale oder Variablen bezeichnet. Die nicht weiter ersetzbaren Sprachbestandteile werden als Terminale bezeichnet.

10 Formale Sprachen Theoretische Informatik 2 Sprache und Grammatik 10/319 Exemplarische Worterzeugung mittels der zuvor definierten Grammatik <Satz>

11 Formale Sprachen Theoretische Informatik 2 Sprache und Grammatik 10/319 Exemplarische Worterzeugung mittels der zuvor definierten Grammatik <Satz> <Subjekt> <Prädikat> <Objekt>

12 Formale Sprachen Theoretische Informatik 2 Sprache und Grammatik 10/319 Exemplarische Worterzeugung mittels der zuvor definierten Grammatik <Satz> <Subjekt> <Prädikat> <Objekt> <Subjekt> fängt <Objekt>

13 Formale Sprachen Theoretische Informatik 2 Sprache und Grammatik 10/319 Exemplarische Worterzeugung mittels der zuvor definierten Grammatik <Satz> <Subjekt> <Prädikat> <Objekt> <Subjekt> fängt <Objekt> <Subjekt> fängt Kekse

14 Formale Sprachen Theoretische Informatik 2 Sprache und Grammatik 10/319 Exemplarische Worterzeugung mittels der zuvor definierten Grammatik <Satz> <Subjekt> <Prädikat> <Objekt> <Subjekt> fängt <Objekt> <Subjekt> fängt Kekse <Artikel> <Adjektiv> <Substantiv> fängt Kekse

15 Formale Sprachen Theoretische Informatik 2 Sprache und Grammatik 10/319 Exemplarische Worterzeugung mittels der zuvor definierten Grammatik <Satz> <Subjekt> <Prädikat> <Objekt> <Subjekt> fängt <Objekt> <Subjekt> fängt Kekse <Artikel> <Adjektiv> <Substantiv> fängt Kekse Das <Adjektiv> <Substantiv> fängt Kekse

16 Formale Sprachen Theoretische Informatik 2 Sprache und Grammatik 10/319 Exemplarische Worterzeugung mittels der zuvor definierten Grammatik <Satz> <Subjekt> <Prädikat> <Objekt> <Subjekt> fängt <Objekt> <Subjekt> fängt Kekse <Artikel> <Adjektiv> <Substantiv> fängt Kekse Das <Adjektiv> <Substantiv> fängt Kekse Das flinke <Substantiv> fängt Kekse

17 Formale Sprachen Theoretische Informatik 2 Sprache und Grammatik 10/319 Exemplarische Worterzeugung mittels der zuvor definierten Grammatik <Satz> <Subjekt> <Prädikat> <Objekt> <Subjekt> fängt <Objekt> <Subjekt> fängt Kekse <Artikel> <Adjektiv> <Substantiv> fängt Kekse Das <Adjektiv> <Substantiv> fängt Kekse Das flinke <Substantiv> fängt Kekse Das flinke Nilpferd fängt Kekse

18 Formale Sprachen Theoretische Informatik 2 Sprache und Grammatik 11/319 Definition: Definition: Grammatik Eine Grammatik G ist ein Viertupel (V, Σ, P, S). Sie besteht aus der endlichen Variablenmenge V (Nonterminale), dem endlichen Terminalalphabet Σ mit V Σ =, der endlichen Menge P von Produktionen (Regeln) und der Startvariablen S mit S V. Jede Produktion aus P hat die Form l r mit l (V Σ) + und r (V Σ). Jede Grammatik G erzeugt eine Sprache L(G). Diese wird als die Menge der Wörter über dem Terminalalphabet Σ, die sich aus dem Startsymbol S ableiten lassen definiert: L(G) := {y Σ S y}

19 Formale Sprachen Theoretische Informatik 2 Sprache und Grammatik 12/319 Verkürzte Schreibweise l r 1... l r n l r 1... r n

20 Formale Sprachen Theoretische Informatik 2 Sprache und Grammatik 13/319 Definition: Definition: Linksableitung bzw. Rechtsableitung Bei einer Linksableitung bzw. Rechtsableitung werden immer zuerst die Nonterminale von links nach rechts bzw. rechts nach links aufgelöst. Definition: Definition: Eindeutigkeit, Mehrdeutigkeit und inhärente Mehrdeutigkeit einer Grammatik Eine Grammatik G heißt eindeutig, wenn alle Ableitungen eines Worts ω L(G) immer zu demselben Syntaxbaum führen. Andernfalls bezeichnen wir G als mehrdeutig. Lässt sich eine mehrdeutige Grammatik nicht in eine Eindeutige überführen, so ist sie inhärente mehrdeutig.

21 Formale Sprachen Theoretische Informatik 2 Sprache und Grammatik 14/319 Beispiel: Grammatik zur Erzeugung der Dyck-Sprache D 2 Signatur G = ({ S }, { (, ), [, ] }, P, S) Produktionsmenge P S ɛ S SS S [S] S (S) Kurzschreibweise für P S ɛ SS [S] (S)

22 Formale Sprachen Theoretische Informatik 2 Sprache und Grammatik 15/319 Ableitungssequenzen für das Wort ()[()]() Ableitungsseq. 1 S SS (S)S ()S ()SS ()[S]S ()[(S)]S ()[()]S ()[()](S) ()[()]() Ableitungsseq. 2 S SS S(S) S() SS() S[S]() S[(S)]() S[()]() (S)[()]() ()[()]() Ableitungsseq. 3 S SS SSS (S)SS ()SS ()[S]S ()[(S)]S ()[()]S ()[()](S) ()[()]()

23 Formale Sprachen Theoretische Informatik 2 Sprache und Grammatik 16/319 Syntaxbäume der drei Ableitungssequenzen Syntaxbaum 1 S Syntaxbaum 2 S Syntaxbaum 3 S S S S S S S S S S S S S S S S ( ) [ ( ) ] ( ) ( ) [ ( ) ] ( ) ( ) [ ( ) ] ( )

24 Formale Sprachen Theoretische Informatik 2 Chomsky-Hierarchie 17/319 Chomsky-Hierarchie 1 Definition: Phrasenstrukturgrammatiken (Typ-0-Grammatiken) Eine Grammatik heißt rekursiv aufzählbar, falls alle Produktionsregeln aus P die Form l r mit l (V Σ) + und r (V Σ) haben. Beispiel: asb Ta Definition: Kontextsensitive Grammatiken (Typ-1-Grammatiken) Eine Grammatik heißt kontextsensitiv, falls für alle Produktionsregeln r l gilt. Beispiel: asb atcb 1 Sei für die Beispiele V = {S, T } und Σ = {a, b, c}.

25 Formale Sprachen Theoretische Informatik 2 Chomsky-Hierarchie 18/319 Chomsky-Hierarchie Definition: Kontextfreie Grammatiken (Typ-2-Grammatiken) Eine Grammatik heißt kontextfrei, falls für alle Produktionsregeln gilt l V. Beispiel: S asb Definition: Reguläre Grammatiken (Typ-3-Grammatiken) Eine Grammatik heißt regulär, falls sie kontextfrei ist und für alle Produktionsregeln zusätzlich gilt r {ɛ} ΣV. Beispiel: S at

26 Formale Sprachen Theoretische Informatik 2 Chomsky-Hierarchie 19/319 Alle Sprachen Typ-0-Sprachen (Phrasenstruktursprachen) Typ-1-Sprachen (Kontextsensitive Sprachen) Typ-2-Sprachen (Kontextfreie Sprachen) Typ-3-Sprachen (Reguläre Typ-3-Grammatiken Sprachen) Reguläre Grammatiken z. B. L C3 z. B. L C2 z. B. L C1 z. B. L C0

27 Formale Sprachen Theoretische Informatik 2 Chomsky-Hierarchie 20/319 Chomsky-Hierarchie, Beispiele L C3 := {(ab) n n N} L C2 := {a n b n n N} L C1 := {a n b n c n n N} ist eine Typ-3-Sprache. ist Typ-2, aber nicht Typ-3. ist Typ-1, aber nicht Typ-2. L C0 := {a 2n n N} ist Typ-0, aber nicht Typ-1.

28 Formale Sprachen Theoretische Informatik 2 Chomsky-Hierarchie 21/319 Definition: Typ-n-Sprache Man bezeichnet eine Sprache L als Typ-n-Sprache, wenn eine Typ-n-Grammatik G existiert, die L erzeugt. Folgende Inklusionsbeziehung besteht zwischen den Sprachklassen: Abschlußeigenschaften L 0 L 1 L 2 L 3 Vereinigung Ist mit L 1, L 2 L n auch die Sprache L 1 L 2 L n? Durchschnitt Ist mit L 1, L 2 L n auch die Sprache L 1 L 2 L n? Komplement Ist mit L L n auch die Sprache Σ \ L L n? Konkatenation Ist mit L 1, L 2 L n auch die Sprache L 1 L 2 L n? Kleene sche Hülle

29 Formale Sprachen Theoretische Informatik 2 Reguläre Sprachen 22/319 Reguläre Sprachen L 3 ist die kleinste Sprachklasse in der Chomsky-Hierarchie sie werden von regulären Grammatiken erzeugt sie werden von endlichen Automaten akzeptiert sie können durch reguläre Ausdrucke dargestellt werden

30 Formale Sprachen Theoretische Informatik 2 Reguläre Sprachen 23/319 Beispiel einer regulären Sprache G = ({S}, {a, b}, P, S) P = {S ab B bc C ɛ ab} L C3 = L(G) = {(ab) n n 1} = {ab abab ababab,...} Ableitung des Wortes abab S ab abc abab ababc abab S a B b C a B b

31 Formale Sprachen Theoretische Informatik 2 Reguläre Sprachen 24/319 Pumping-Lemma für reguläre Sprachen Ableitungen die mehr Ableitungsschritte als Nonterminale besitzen, benutzen mindestens ein Nonterminal mehrfach. σ 1 σ 2... σ }{{} i A u σ 1 σ 2... σ }{{} i σ i+1 σ i+2... σ j A }{{} u v σ 1 σ 2... σ }{{} i σ i+1 σ i+2... σ j σ j+1 σ j+2... σ k }{{}}{{} u v w Da die mittlere Sequenz v mit dem Nonerminal A beginnt und endet, kann v beliebig aufgepumpt werden. Neben dem Wort uvw gehören auch die Wörter uv p w (p N 0 ) zu der Sprache.

32 Formale Sprachen Theoretische Informatik 2 Reguläre Sprachen 25/319 Satz: Pumping-Lemma für reguläre Sprachen Für jede reguläre Sprache L existiert ein j N, so dass sich alle Wörter ω L mit ω j in der folgenden Form darstellen lassen: ω = uvw mit v 1 und uv j Dann ist mit ω auch das Wort uv i w für alle i N 0 in L enthalten. Das Pumping-Lemma stellt ein leistungsfähiges Instrument dar, um eine Sprachen als nicht regulär zu entlarven. Nicht jede Sprache, die dieses Lemma erfüllt, ist jedoch regulär!

33 Formale Sprachen Theoretische Informatik 2 Reguläre Sprachen 26/319 Beweis, dass die Sprache L C2 nicht regulär ist. L C2 := {a n b n n N} Wäre L C2 eine reguläre Sprache, so würde nach dem Pumping-Lemma ein j N existieren, so dass sich jedes Wort ω mit ω j in der Form uvw darstellen lässt mit v 1 und uv j. Für das Wort a j b j folgt hieraus, dass der (nichtleere) Mittelteil v nur aus a s bestehen kann. Mit uvw wäre dann aber auch das Wort uv 2 w = a j a v b j = a j a }. {{.. a } 1 in L enthalten, im Widerspruch zum Aufbau von L C2. b j

34 Formale Sprachen Theoretische Informatik 2 Reguläre Sprachen 27/319 Reguläre Ausdrücke Definition: Definition: Syntax regulärer Ausdrücke Mit Σ sei ein beliebiges Alphabet gegeben. Reg Σ, die Menge der regulären Ausdrücke über Σ, wird induktiv durch die folgenden Regeln gebildet:, ɛ Reg Σ Σ Reg Σ Mit r Reg Σ und s Reg Σ sind auch rs und (r s) Reg Σ Mit r Reg Σ sind auch (r) und r Reg Σ

35 Formale Sprachen Theoretische Informatik 2 Reguläre Sprachen 28/319 Definition: Definition: Semantik regulärer Ausdrücke Sei r ein regulärer Ausdruck über dem Alphabet Σ. Die von r erzeugte Sprache L(r) ist induktiv definiert: L( ) = L(ɛ) = {ɛ} L(a Σ) = {a} L(rs) = L(r)L(s) L((r s)) = L(r) L(s) L((r)) = L(r) L(r ) = L(r) Jede reguläre Grammatik besitzt einen äquivalenten regulären Ausdruck! Beide erzeugen dieselbe Sprachklasse L 3.

36 Formale Sprachen Theoretische Informatik 2 Reguläre Sprachen 29/319 Übersicht der Syntax Zeichen. Beliebiges Zeichen außer dem Zeilenumbruch [...] Positivliste (jedes Zeichen innerhalb der spezifizierten Liste) [^...] Negativliste (jedes Zeichen außerhalb der spezifizierten Liste) [w] Klein- oder Großbuchstabe, Unterstrich [W] Ziffer, Sonderzeichen, Leerraum [s] Leerraum (Whitespace, Tabulator, Carriage return) [S] Beliebiges Zeichen außer dem Leerraum Positionen ^ Beginn einer Zeile $ Ende einer Zeile < Beginn eines Worts > Ende eines Worts

37 Formale Sprachen Theoretische Informatik 2 Reguläre Sprachen 30/319 Kombinationen + Der vorangegangene Ausdruck kommt mindestens einmal vor? Der vorangegangene Ausdruck kommt höchstens einmal vor * Der vorangegangene Ausdruck kommt gar nicht oder beliebig oft vor {n,} Der vorangegangene Ausdruck kommt mindestens n-mal vor {n,m} Der vorangegangene Ausdruck kommt mindestens n-mal, aber höchtens m-mal vor {,m} Der vorangegangene Ausdruck kommt höchtens m-mal vor Alternative (entweder der linke oder der rechte Ausdruck) () Gruppierung

38 Formale Sprachen Theoretische Informatik 2 Reguläre Sprachen 31/319 Häufig benötigte Zeichen- und Symbolmengen [:blank:] Leerzeichen oder Tabulator [:space:] Leerzeichen, Tabulator, newline, form feed, carriage return [:cntrl:] Steuerzeichen [:lower:] Kleinbuchstabe [:upper:] Großbuchstabe [:alpha:] Buchstabe ([:lower:] oder [:upper:]) [:digit:] Ziffer [:xdigit:] Hexadezimalziffer [:alnum:] Alphanumerisches Zeichen ([:alpha:] oder [:digit:]) [:punct:] Punktierungszeichen [:graph:] Grafisches Zeichen ([:alpha:] oder [:punct:]) [:print:] Darstellbares Zeichen ([:alnum:] oder [:punct:])

39 Formale Sprachen Theoretische Informatik 2 Reguläre Sprachen 32/319 Beispiele L 1 := {(ab) n n N} S ab B bc C ɛ ab L 2 := {a i b j c k i, j, k N} S as ab B bb bc C cc c ab(ab) aa bb cc

40 Formale Sprachen Theoretische Informatik 2 Reguläre Sprachen 33/319 Entscheidungsprobleme regulärer Sprachen Problem Eingabe Fragestellung Entscheidbar? Wortproblem Sprache L, Wort ω Σ Ist ω L? Ja Leerheitsproblem Sprache L Ist L =? Ja Endlichkeitsproblem Sprache L Ist L <? Ja Äquivalenzproblem Sprachen L 1 und L 2 Ist L 1 = L 2? Ja Abschlusseigenschaften regulärer Sprachen Operation Eingabe Fragestellung Erfüllt? Vereinigung Sprache L 1, L 2 L 3 Ist L 1 L 2 L 3? Ja Schnitt Sprache L 1, L 2 L 3 Ist L 1 L 2 L 3? Ja Komplement Sprache L L 3 Ist Σ \L L 3? Ja Produkt Sprache L 1, L 2 L 3 Ist L 1 L 2 L 3? Ja Stern Sprache L L 3 Ist L L 3? Ja

41 Formale Sprachen Theoretische Informatik 2 Kontextfreie Sprachen 34/319 Kontextfreie Sprachen L 2 ist die Sprachklasse kontextfreier Sprachen Kontextfreie Sprachen werden von Kellerautomaten akzeptiert Kontextfreie Sprachen sind ausdrucksstark genug, um die Syntax der meisten Programmiersprachen zu beschreiben Kontextfreie Grammatiken erzeugen diese Sprachklasse Im Unterschied zu regulären Grammatiken entfällt die Restriktion der rechten Seite von Produktionen Produktionen haben die Form l r mit l V und r (Σ V )

42 Formale Sprachen Theoretische Informatik 2 Kontextfreie Sprachen 35/319 Definition: Definition: Chomsky-Normalform (kurz CNF) Eine Grammatik G liegt in Chomsky-Normalform vor, wenn alle Produktionen die Form A σ oder A BC besitzen mit A, B, C V und σ Σ. Weil alle Nonterminale entweder durch ein Terminalzeichen oder durch zwei weitere Nonterminale ersetzt werden, haben die Syntaxbäume von CNF-Grammatiken die Struktur von Binärbäumen.

43 Formale Sprachen Theoretische Informatik 2 Kontextfreie Sprachen 36/319 Überführung in die Chomsky-Normalform Schritt 1: Elimination der ɛ-regeln Alle Regeln der Form A ɛ werden eliminiert, indem die Ersetzung von A durch ɛ in allen anderen Regel vorweggenommen wird. Schritt 2: Elimination von Kettenregeln Jede Produktion der Form A B mit A, B V wird als Kettenregel bezeichnet. Diese tragen nicht zur Produktion von Terminalzeichen bei und lassen sich ebenfalls (wie im Schritt 1. gezeigt) eliminieren. Schritt 3: Separation von Terminalzeichen Jedes Terminalzeichen σ, das in Kombination mit anderen Symbolen auftaucht, wird durch ein neues Nonterminal V σ ersetzt und die Menge der Produktionen durch die Regel V σ σ ergänzt. Schritt 4: Elimination von mehrelementigen Nonterminalketten Alle Produktionen der Form A B 1 B 2... B n werden in die Produktionen A A n 1 B n, A n 1 A n 2 B n 1,..., A 2 B 1 B 2 zerteilt.

44 Formale Sprachen Theoretische Informatik 2 Kontextfreie Sprachen 37/319 Beispiel S AB S ABA A aa A a B Bb B ɛ Schritt 1 Schritt 2 Schritt 3 Schritt 4 S AB S A S ABA S AA A aa A a B Bb B b S AB S aa S a S ABA S AA A aa A a B Bb B b S AB S V aa S a S ABA S AA A V aa A a B BV b B b V a a V b b S AB S V aa S a S S 2 A S 2 AB S AA A V aa A a B BV b B b V a a V b b

45 Formale Sprachen Theoretische Informatik 2 Kontextfreie Sprachen 38/319 a Originalgrammatik S ABA aaba aaba aabba aabbba aabba aabbaa aabbaa A A a B S B A A b b a a Chomsky-Normalform S S 2 A ABA V aaba aaba aaba aabv b A aabv b A aabba aabbv aa aabbaa aabbaa S 2 S A A B V a A V a A B V b a a b b a a

46 Formale Sprachen Theoretische Informatik 2 Kontextfreie Sprachen 39/319 Backus-Naur-Form (kurz BNF) Die Backus-Naur-Form ist eine alternative Beschreibungsform für kontextfreie Grammatiken, die sich lediglich im Aussehen, nicht aber in der Ausdrucksstärke von der bisher verwendeten Notation unterscheidet. Auswahl A ::= r 1... r n Optionales Argument A ::= r 1 [ r 2 ] r 3 Wiederholung A ::= r 1 { r 2 } r 3 A r 1... A r n A r 1 r 3 A r 1 r 2 r 3 A r 1 B r 3 B Br 2 B ɛ

47 Formale Sprachen Theoretische Informatik 2 Kontextfreie Sprachen 40/319 Beispiel: Grammatik für Arithmetische Terme G = ( {<Term>, <Var>, <Konst>, <Zahl>, <Ziffer>}, {x, y, a, b, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, (, ), +,,, /}, P, <Term> ) P = {<Term> <Term> + <Term>, <Term> <Term> <Term>, <Term> <Term> / <Term>, <Term> <Term> <Term>, <Term> (<Term>), <Term> <Var>, <Term> <Konst>, <Var> x y, <Konst> a b <Zahl>, <Zahl> <Zahl><Ziffer> <Ziffer>, <Ziffer> }

48 Formale Sprachen Theoretische Informatik 2 Kontextfreie Sprachen 41/319 Beispiel: BNF-Grammatik für Arithmetische Terme Term :== Term + Term, Term :== Term - Term, Term :== Term / Term, Term :== Term Term, Term :== (Term), Term :== Var, Term :== Konst, Var :== x y, Konst :== a b Zahl, Zahl :== Zahl Ziffer Ziffer, Ziffer :==

49 Formale Sprachen Theoretische Informatik 2 Kontextfreie Sprachen 42/319 Syntaxdiagramm für Terme Term: Term + Term Var: x Term _ Term y Term Term / * Term Term Konst: a ( Var Konst Term ) b Zahl Zahl: Ziffer Ziffer:

50 Formale Sprachen Theoretische Informatik 2 Kontextfreie Sprachen 43/319 Pumping-Lemma für kontextfreie Sprachen Wortstruktur kontextfreier Sprachen S A A u v w x y Überschreitet die Anzahl der Ableitungsschritte eines Worts eine gewisse Grenze j, so muss aufgrund der endlichen Anzahl der Nonterminale mindestens eines davon mehrfach im Syntaxbaum auftauchen (hier das Nonterminal A). Hierdurch lässt sich jedes hinreichend lange Wort in der Form uvwxy darstellen mit vx 1 und vwx j.

51 Formale Sprachen Theoretische Informatik 2 Kontextfreie Sprachen 44/319 Aufpumpen des Mittelstücks S A A A u v x y A v x v w x Die Ableitung des Mittelstücks lässt sich beliebig oft wiederholen. Neben uvwxy sind somit auch die Wörter uv i wx i y für alle i N 0 in der Sprache enthalten.

52 Formale Sprachen Theoretische Informatik 2 Kontextfreie Sprachen 45/319 Satz: Pumping-Lemma für kontextfreie Sprachen Für jede kontextfreie Sprache L existiert ein j N, so dass sich alle Wörter ω L mit ω j in der folgenden Form darstellen lassen: ω = uvwxy mit vx 1 und vwx j Ferner ist mit ω auch das Wort uv i wx i y für alle i N 0 in L enthalten. Jede kontextfreie Sprache erfüllt diese Bedingung.

53 Formale Sprachen Theoretische Informatik 2 Kontextfreie Sprachen 45/319 Satz: Pumping-Lemma für kontextfreie Sprachen Für jede kontextfreie Sprache L existiert ein j N, so dass sich alle Wörter ω L mit ω j in der folgenden Form darstellen lassen: ω = uvwxy mit vx 1 und vwx j Ferner ist mit ω auch das Wort uv i wx i y für alle i N 0 in L enthalten. Jede kontextfreie Sprache erfüllt diese Bedingung. Nicht jede Sprache, die diese Bedingung erfüllt, ist kontextfrei!

54 Formale Sprachen Theoretische Informatik 2 Kontextfreie Sprachen 45/319 Satz: Pumping-Lemma für kontextfreie Sprachen Für jede kontextfreie Sprache L existiert ein j N, so dass sich alle Wörter ω L mit ω j in der folgenden Form darstellen lassen: ω = uvwxy mit vx 1 und vwx j Ferner ist mit ω auch das Wort uv i wx i y für alle i N 0 in L enthalten. Jede kontextfreie Sprache erfüllt diese Bedingung. Nicht jede Sprache, die diese Bedingung erfüllt, ist kontextfrei! aber: Jede Sprache, die diese Bedingung nicht erfüllt, ist nicht kontextfrei!

55 Formale Sprachen Theoretische Informatik 2 Kontextfreie Sprachen 46/319 Beispiel Zu zeigen, dass L C1 = {a n b n c n n N} nicht kontextfrei ist! Annahme: L C1 sei kontextfrei. Das Pumping-Lemma garantiert dann, dass ein j N existiert, so dass sich jedes Wort ω = a i b i c i mit ω j in der Form uvwxy darstellen lässt mit vx 1 und vwx j. Es wird i = j gewählt. Das Segment vwx kann daraufhin aufgrund seiner Längenbeschränkung nicht gleichzeitig a s und c s enthalten. Werden die Segmente v und x aus ω entfernt, so entsteht mit uwy ein Wort, das eine ungleiche Anzahl von a s, b s und c s enthält. Dem Pumping-Lemma nach, muss das Wort uwy = uv 0 wx 0 y jedoch in L C1 enthalten sein, im Widerspruch zur Definition dieser Sprache.

56 Formale Sprachen Theoretische Informatik 2 Kontextfreie Sprachen 47/319 Gegenbeispiel L fool := {b k c l d m k, l, m N} {a m b n c n d n m, n N} L fool ist nicht kontextfrei, erfüllt aber alle innerhalb des Pumping-Lemmas getroffenen Aussagen.

57 Formale Sprachen Theoretische Informatik 2 Kontextfreie Sprachen 48/319 Entscheidungsprobleme Das Wortproblem für kontextfreie Sprachen ist entscheidbar lässt sich mit dynamischer Programmierung effizient lösen. CYK-Algorithmus: unabhängig voneinander erfunden von Cocke, Younger, Kasumi

58 Formale Sprachen Theoretische Informatik 2 Kontextfreie Sprachen 49/319 Der CYK-Algorithmus löst das Wortproblem für kontextfreie Sprachen. Er basiert auf folgende Beobachtungen: Lässt sich aus einem Nonterminal A ein Wort ω ableiten, das aus einem einzelnen Terminalzeichen σ besteht, so muss die Regel A σ existieren. Andernfalls würden die Produktionen mindestens ein weiteres Nonterminal und damit auch ein weiteres Terminalzeichen produzieren. Für den Fall ω = 1 lässt sich das Wortproblem somit entscheiden. Besteht das Wort ω aus mehreren Terminalzeichen σ 1,..., σ n mit n 2, so kann es aus einem Nonterminal A nur durch eine vorangegangene Anwendung einer Regel A BC entstanden sein. Es gibt ein k mit 1 k n, so dass sich die Anfangssequenz σ 1... σ k aus B und die Endesequenz σ k+1... σ n aus C ableiten lässt, dann lässt sich das Gesamtwort ω aus A ableiten.

59 Formale Sprachen Theoretische Informatik 2 Kontextfreie Sprachen 50/319 CYK-Algorithmus (Pseudo-Code) // Eingabe : Grammatik G = (V, Σ, P, S) // Wort ω = σ 1,..., σ n // Ausgabe : t r u e, wenn ω L(G), f a l s e wenn ω L(G) b o o l e a n cyk (G,ω ) { // Berechne d i e e r s t e Z e i l e... f o r ( i = 1 ; i n ; i ++) { cyk [ i ] [ 1 ] = {A (A σ i ) P} ; } } // Berechne a l l e r e s t l i c h e n Z e i l e n... f o r ( j = 2 ; j n ; j ++) { f o r ( i = 1 ; i n+1 j ; i ++) { cyk [ i ] [ j ] = ; f o r ( k = 1 ; k < j ; k++) { cyk[i][j] = cyk[i][j] {A (A BC) P, B cyk[i][k], C cyk[i+k][j-k]} ; } } } r e t u r n S cyk[1][n];

60 Formale Sprachen Theoretische Informatik 2 Kontextfreie Sprachen 51/319 CYK-Algorithmus in Aktion ω 1 = aabb ω 2 = abbb Grammatik S AB AC C SB A a B b Komplexität i = 1 i = 2 i = 3 i = 4 a a b b j = 1 A A B B j = 2 j = 3 S C j = 4 S aabb L(G) T (n, P ) = O(n 3 P ) abbb L(G)

61 Formale Sprachen Theoretische Informatik 2 Kontextfreie Sprachen 52/319 Abschlusseigenschaften Gegeben, kontextfreie Grammatiken G 1 = {V 1, Σ, P 1, S 1 }, G 2 = {V 2, Σ, P 2, S 2 }. Vereinigung zweier kontextfreier Sprachen Ist die Vereinigungssprache L(G 1 ) L(G 2 ) L 2?

62 Formale Sprachen Theoretische Informatik 2 Kontextfreie Sprachen 52/319 Abschlusseigenschaften Gegeben, kontextfreie Grammatiken G 1 = {V 1, Σ, P 1, S 1 }, G 2 = {V 2, Σ, P 2, S 2 }. Vereinigung zweier kontextfreier Sprachen Ist die Vereinigungssprache L(G 1 ) L(G 2 ) L 2? Ja! G 1 2 := {V 1 V 2, Σ, P 1 P 2 {S S 1 S 2 }, S}

63 Formale Sprachen Theoretische Informatik 2 Kontextfreie Sprachen 52/319 Abschlusseigenschaften Gegeben, kontextfreie Grammatiken G 1 = {V 1, Σ, P 1, S 1 }, G 2 = {V 2, Σ, P 2, S 2 }. Vereinigung zweier kontextfreier Sprachen Ist die Vereinigungssprache L(G 1 ) L(G 2 ) L 2? Ja! G 1 2 := {V 1 V 2, Σ, P 1 P 2 {S S 1 S 2 }, S} Produkt zweier kontextfreier Sprachen Ist die Produktsprache L(G 1 )L(G 2 ) L 2?

64 Formale Sprachen Theoretische Informatik 2 Kontextfreie Sprachen 52/319 Abschlusseigenschaften Gegeben, kontextfreie Grammatiken G 1 = {V 1, Σ, P 1, S 1 }, G 2 = {V 2, Σ, P 2, S 2 }. Vereinigung zweier kontextfreier Sprachen Ist die Vereinigungssprache L(G 1 ) L(G 2 ) L 2? Ja! G 1 2 := {V 1 V 2, Σ, P 1 P 2 {S S 1 S 2 }, S} Produkt zweier kontextfreier Sprachen Ist die Produktsprache L(G 1 )L(G 2 ) L 2? Ja! G 1 2 := {V 1 V 2, Σ, P 1 P 2 {S S 1 S 2 }, S}

65 Formale Sprachen Theoretische Informatik 2 Kontextfreie Sprachen 52/319 Abschlusseigenschaften Gegeben, kontextfreie Grammatiken G 1 = {V 1, Σ, P 1, S 1 }, G 2 = {V 2, Σ, P 2, S 2 }. Vereinigung zweier kontextfreier Sprachen Ist die Vereinigungssprache L(G 1 ) L(G 2 ) L 2? Ja! G 1 2 := {V 1 V 2, Σ, P 1 P 2 {S S 1 S 2 }, S} Produkt zweier kontextfreier Sprachen Ist die Produktsprache L(G 1 )L(G 2 ) L 2? Ja! G 1 2 := {V 1 V 2, Σ, P 1 P 2 {S S 1 S 2 }, S} Kleene sche Hülle einer kontextfreien Sprache Ist die Kleene sche Hülle L(G 1 ) L 2?

66 Formale Sprachen Theoretische Informatik 2 Kontextfreie Sprachen 52/319 Abschlusseigenschaften Gegeben, kontextfreie Grammatiken G 1 = {V 1, Σ, P 1, S 1 }, G 2 = {V 2, Σ, P 2, S 2 }. Vereinigung zweier kontextfreier Sprachen Ist die Vereinigungssprache L(G 1 ) L(G 2 ) L 2? Ja! G 1 2 := {V 1 V 2, Σ, P 1 P 2 {S S 1 S 2 }, S} Produkt zweier kontextfreier Sprachen Ist die Produktsprache L(G 1 )L(G 2 ) L 2? Ja! G 1 2 := {V 1 V 2, Σ, P 1 P 2 {S S 1 S 2 }, S} Kleene sche Hülle einer kontextfreien Sprache Ist die Kleene sche Hülle L(G 1 ) L 2? Ja! G 1 := {V 1, Σ, P 1 {S ɛ SS 1 }, S}

67 Formale Sprachen Theoretische Informatik 2 Kontextfreie Sprachen 53/319 Gegeben, zwei kontextfreie Sprachen: L 1 = {a i b i c j i, j N} L 2 = {a j b i c i i, j N} Schnitt zweier kontextfreier Sprachen Ist die Schnittsprache L 1 L 2 L 2? Nein, denn L 1 L 2 = {a i b i c i } Komplement einer kontextfreien Sprache Ist die Komplementsprache Σ \L 1 L 2? Nein, denn L 1 L 2 = L 1 L 2 Da die Schnittoperation nicht abgeschlossen ist, kann folglich auch die Komplementoperation nicht abgeschlossen sein!

68 Formale Sprachen Theoretische Informatik 2 Kontextfreie Sprachen 54/319 Entscheidungsprobleme kontextfreier Sprachen Problem Eingabe Fragestellung Entscheidbar? Wortproblem Sprache L, Wort ω Σ Ist ω L? Ja Leerheitsproblem Sprache L Ist L =? Ja Endlichkeitsproblem Sprache L Ist L <? Ja Äquivalenzproblem Sprachen L 1 und L 2 Ist L 1 = L 2? Nein Abschlusseigenschaften kontextfreier Sprachen Operation Eingabe Fragestellung Erfüllt? Vereinigung Sprache L 1, L 2 L 2 Ist L 1 L 2 L 2? Ja Schnitt Sprache L 1, L 2 L 2 Ist L 1 L 2 L 2? Nein Komplement Sprache L L 2 Ist Σ \L L 2? Nein Produkt Sprache L 1, L 2 L 2 Ist L 1 L 2 L 2? Ja Stern Sprache L L 2 Ist L L 2? Ja

69 Formale Sprachen Theoretische Informatik 2 Kontextsensitive Sprachen 55/319 Kontextsensitive Sprachen L 1 ist die Sprachklasse kontextsensitiver Sprachen Kontextsensitive Sprachen werden von linear beschränkten Turingmaschinen akzeptiert Produktionen haben die Form l r mit l (V Σ) + und r (V Σ), zusätzlich muss l r gelten die Ersetzbarkeit eines Nonterminals kann von seiner Umgebung (den Kontext) abhängen

70 Formale Sprachen Theoretische Informatik 2 Kontextsensitive Sprachen 56/319 Erzeugung der Sprache L C1 = {a n b n c n n N} Grammatik Ableitung des Worts aaabbbccc S ABC S SABC BA AB CB BC CA AC AB ab BC bc Aa aa bb bb cc cc S SABC SABCABC ABCABCABC ABACBCABC AABCBCABC AABBCCABC AABBCACBC AABBACCBC AABABCCBC AAABBCCBC AAABBCBCC AAABBBCCC AAabBBCCC AAabBbcCC AaabBbcCC aaabbbccc aaabbbccc aaabbbccc aaabbbccc

71 Formale Sprachen Theoretische Informatik 2 Kontextsensitive Sprachen 57/319 Entscheidungsprobleme Sämtliche Produktionen l r kontextsensitiver Grammatiken müssen die Beziehung l r erfüllen, d. h., ein Wort kann in einem Ableitungsschritt niemals kürzer werden. Diese Eigenschaft können wir ausnutzen, um das Wortproblem zu entscheiden. Wir beginnen mit einer Menge, die ausschließlich das Startsymbol enthält. Anschließend reichern wir sie in einem iterativen Prozess um alle Wörter an, die durch die Anwendung einer Schlussregel entstehen und eine Länge n besitzen. Da nur endlich viele Wörter existieren, deren Länge n ist, wird nach endlich vielen Schritten entweder das gesuchte Wort ω erzeugt oder ein Fixpunkt erreicht. Im ersten Fall ist das Wortproblem positiv, im zweiten Fall negativ entschieden. Das Leerheitsproblem, das Endlichkeitsproblem und das Äquivalenzproblem ist unentscheidbar.

72 Formale Sprachen Theoretische Informatik 2 Kontextsensitive Sprachen 58/319 Abschlusseigenschaften Vereinigung L(G 1 ) L(G 2 ) wird durch die nachstehende Grammatik erzeugt: G 1 2 := {V 1 V 2, Σ, P 1 P 2 {S S 1 S 2 }, S} Produkt L(G 1 )L(G 2 ) wird durch die nachstehende Grammatik erzeugt: G 1 2 := {V 1 V 2, Σ, P 1 P 2 {S S 1 S 2 }, S} Kleene sche Hülle L(G 1 ) wird durch die nachstehende Grammatik erzeugt: G 1 := {V 1, Σ, P 1 {S ɛ SS 1 }, S} Durchschnitt und Komplement Lassen sich am einfachsten mit Hilfe linear beschränkter Turing-Maschinen zeigen

73 Formale Sprachen Theoretische Informatik 2 Kontextsensitive Sprachen 59/319 Entscheidungsprobleme kontextsensitiver Sprachen Problem Eingabe Fragestellung Entscheidbar? Wortproblem Sprache L, Wort ω Σ Ist ω L? Ja Leerheitsproblem Sprache L Ist L =? Nein Endlichkeitsproblem Sprache L Ist L <? Nein Äquivalenzproblem Sprachen L 1 und L 2 Ist L 1 = L 2? Nein Abschlusseigenschaften kontextsensitiver Sprachen Operation Eingabe Fragestellung Erfüllt? Vereinigung Sprache L 1, L 2 L 1 Ist L 1 L 2 L 1? Ja Schnitt Sprache L 1, L 2 L 1 Ist L 1 L 2 L 1? Ja Komplement Sprache L L 1 Ist Σ \L L 1? Ja Produkt Sprache L 1, L 2 L 1 Ist L 1 L 2 L 1? Ja Stern Sprache L L 1 Ist L L 1? Ja

74 Formale Sprachen Theoretische Informatik 2 Rekursiv aufzählbare Sprachen 60/319 Rekursiv aufzählbare Sprachen L 0 ist die Sprachklasse der rekursiv aufzählbaren Sprachen Rekursiv aufzählbare Sprachen werden von Turingmaschinen akzeptiert Rekursiv aufzählbare Grammatiken erzeugen diese Sprachklasse Produktionen haben die Form l r mit l (V Σ) + und r (V Σ) Im Gegensatz zu den kontextsensitiven Grammatiken unterliegen die linke und die rechte Seite einer Produktion keinen Restriktionen Typ-0-Grammatiken sind in der Lage alle Sprachen zu erzeugen, die in irgendeiner Weise algorithmisch berechenbar sind Es existieren Sprachen, die nicht berechenbar sind und damit auch nicht durch eine Typ-0-Grammatik erzeugt werden können

75 Formale Sprachen Theoretische Informatik 2 Rekursiv aufzählbare Sprachen 61/319 Erzeugung der Sprache L C0 = {a 2n n N} Grammatik: Ableitung des Worts a 24 : S SD LaDaaaaaaD S SD SDD LDaaaaaaaaD S La SDDD LaaaaaaaaD ad Daa SDDDD LaaaaaaaDaa LD L LaDDDD LaaaaaaDaaaa L ɛ LDaaDDD LaaaaaDaaaaaa LaaDDD LaaaaDaaaaaaaa LaDaaDD LaaaDaaaaaaaaaa LDaaaaDD LaaDaaaaaaaaaaaa LaaaaDD LaDaaaaaaaaaaaaaa LaaaDaaD LDaaaaaaaaaaaaaaaa LaaDaaaaD Laaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa

76 Formale Sprachen Theoretische Informatik 2 Rekursiv aufzählbare Sprachen 62/319 Entscheidungsprobleme rekursiv aufzählbarer Sprachen Problem Eingabe Fragestellung Entscheidbar? Wortproblem Sprache L, Wort ω Σ Ist ω L? Nein Leerheitsproblem Sprache L Ist L =? Nein Endlichkeitsproblem Sprache L Ist L <? Nein Äquivalenzproblem Sprachen L 1 und L 2 Ist L 1 = L 2? Nein Abschlusseigenschaften rekursiv aufzählbarer Sprachen Operation Eingabe Fragestellung Erfüllt? Vereinigung Sprache L 1, L 2 L 1 Ist L 1 L 2 L 1? Ja Schnitt Sprache L 1, L 2 L 1 Ist L 1 L 2 L 1? Ja Komplement Sprache L L 1 Ist Σ \L L 1? Nein Produkt Sprache L 1, L 2 L 1 Ist L 1 L 2 L 1? Ja Stern Sprache L L 1 Ist L L 1? Ja

77 Endliche Automaten Theoretische Informatik 2 63/319 Endliche Automaten Inhalt Deterministische Automaten Nichtdeterministische Automaten Automaten und reguläre Sprachen Kellerautomaten Transduktoren Zelluläre Automaten

78 Endliche Automaten Theoretische Informatik 2 64/319 Endliche Automaten Lernziele den zentralen Begriff des endlichen Automaten kennen lernen den Unterschied zwischen Akzeptoren und Transduktoren verstehen, deterministische Automaten um nichtdeterministische Zustandsübergänge anreichern das klassische Automatenmodell zu einer Kellermaschine erweitern den Zusammenhang zwischen Automaten und formalen Sprachen herstellen in Petri-Netzen und zellulären Automaten zwei alternative Automatenmodelle erkennen

79 Endliche Automaten Theoretische Informatik 2 65/319 Endliche Automaten stellen ein Instrument dar um (endliche) Zustandsmodelle formal zu erfassen und systematisch zu analysieren viele sprachentheoretische Fragestellungen lassen sich auf diesem Beschreibungsformalismus abbilden arbeiten ereignisbasiert (Ursache, Wirkung) die Reaktion wird durch das Ereignis und den internen Zustand bestimmt der Zustand repräsentiert das Gehirn des Systems ein Ereignis bewirkt einen internen Zustandsübergang und eine nach außen sichtbare Reaktion das Ein- und Ausgabeverhalten eines Systems kann mit Zustandsdiagramme beschrieben werden Geld einwerfen Brühbereit X

80 Endliche Automaten Theoretische Informatik 2 66/319 Akzeptoren nehmen eine Zeichenfolge ω entgegen und entscheiden im Zuge einer Ja-Nein-Entscheidung, ob ω ein gültiges Eingabewort ist. Die Menge aller Wörter, die von einem endlichen Automaten A mit der Antwort Ja quittiert werden, bildet die von A akzeptierte Sprache L(A). Transduktoren sind abstrakte Maschinen, die eine Zeichenfolge ω von einem Eingabeband lesen und daraus eine Folge von Ausgabezeichen generieren. Hierbei werden Mealy-Automaten und Moore- Automaten unterschieden. b b a c... Eingabewort Ja Wort akzeptiert? Nein b b a c... Eingabewort Ausgabewort c a b a...

81 Endliche Automaten Theoretische Informatik 2 Deterministische Automaten 67/319 Deterministische Automaten Definition: Definition: Determinitischer endlicher Akzeptor Ein deterministischer endlicher Akzeptor (deterministic finite state machine), kurz DEA, ist ein 5-Tupel (S, Σ, δ, E, s 0 ). Er besteht aus der endlichen Zustandsmenge S, dem endlichen Eingabealphabet Σ, der Zustandsübergangsfunktion δ : S Σ S, der Menge der Endzustände (Finalzustände) E S und dem Startzustand s 0 S.

82 Endliche Automaten Theoretische Informatik 2 Deterministische Automaten 68/319 Der Automat befindet sich initial im Startzustand s 0. Für das Eingabewort: ω = σ 0 σ 1 σ 2... σ n durchläuft er nacheinander die folgenden Zustände: s 0, s 1, s 2,..., s n+1 mit s i+1 = δ(s i, σ i ) Nach Verarbeitung des letzten Zeichens σ n, hält der Automat im Zustand s n+1 an. Das Wort ω gilt genau dann als akzeptiert, wenn s n+1 E ist. Die von einem DEA A akzeptierte Sprache L(A) lässt sich damit wie folgt beschreiben: L(A) = {σ 0 σ 1... σ n Σ δ(... δ(δ(s 0, σ 0 ), σ 1 ),..., σ n ) E}

83 Endliche Automaten Theoretische Informatik 2 Deterministische Automaten 69/319 Automat S := {s 0, s 1, s 2 } Σ := {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} s 0 für σ {0, 3, 6, 9} δ(s 0, σ) := s 1 für σ {1, 4, 7} s 2 für σ {2, 5, 8} δ(s 1, σ) := δ(s 2, σ) := E := {s 0 } s 1 für σ {0, 3, 6, 9} s 2 für σ {1, 4, 7} s 0 für σ {2, 5, 8} s 2 für σ {0, 3, 6, 9} s 0 für σ {1, 4, 7} s 1 für σ {2, 5, 8} Zustandsdiagramm Beispielwort 147 0, 3, 6, 9 s 0 1,4,7 2,5,8 2,5,8 1,4,7 2,5,8 s 1 s 2 1,4,7 0, 3, 6, 9 0, 3, 6, 9

84 Endliche Automaten Theoretische Informatik 2 Deterministische Automaten 69/319 Automat S := {s 0, s 1, s 2 } Σ := {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} s 0 für σ {0, 3, 6, 9} δ(s 0, σ) := s 1 für σ {1, 4, 7} s 2 für σ {2, 5, 8} δ(s 1, σ) := δ(s 2, σ) := E := {s 0 } s 1 für σ {0, 3, 6, 9} s 2 für σ {1, 4, 7} s 0 für σ {2, 5, 8} s 2 für σ {0, 3, 6, 9} s 0 für σ {1, 4, 7} s 1 für σ {2, 5, 8} Zustandsdiagramm Beispielwort , 3, 6, 9 s 0 1,4,7 2,5,8 2,5,8 1,4,7 2,5,8 s 1 s 2 1,4,7 0, 3, 6, 9 0, 3, 6, 9

85 Endliche Automaten Theoretische Informatik 2 Deterministische Automaten 69/319 Automat S := {s 0, s 1, s 2 } Σ := {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} s 0 für σ {0, 3, 6, 9} δ(s 0, σ) := s 1 für σ {1, 4, 7} s 2 für σ {2, 5, 8} δ(s 1, σ) := δ(s 2, σ) := E := {s 0 } s 1 für σ {0, 3, 6, 9} s 2 für σ {1, 4, 7} s 0 für σ {2, 5, 8} s 2 für σ {0, 3, 6, 9} s 0 für σ {1, 4, 7} s 1 für σ {2, 5, 8} Zustandsdiagramm Beispielwort , 3, 6, 9 s 0 1,4,7 2,5,8 2,5,8 1,4,7 2,5,8 s 1 s 2 1,4,7 0, 3, 6, 9 0, 3, 6, 9

86 Endliche Automaten Theoretische Informatik 2 Deterministische Automaten 69/319 Automat S := {s 0, s 1, s 2 } Σ := {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} s 0 für σ {0, 3, 6, 9} δ(s 0, σ) := s 1 für σ {1, 4, 7} s 2 für σ {2, 5, 8} δ(s 1, σ) := δ(s 2, σ) := E := {s 0 } s 1 für σ {0, 3, 6, 9} s 2 für σ {1, 4, 7} s 0 für σ {2, 5, 8} s 2 für σ {0, 3, 6, 9} s 0 für σ {1, 4, 7} s 1 für σ {2, 5, 8} Zustandsdiagramm Beispielwort 147 0, 3, 6, 9 s 0 1,4,7 2,5,8 2,5,8 1,4,7 2,5,8 s 1 s 2 1,4,7 0, 3, 6, 9 0, 3, 6, 9

87 Endliche Automaten Theoretische Informatik 2 Deterministische Automaten 70/319 Definition: Definition: Konfiguration (DEA) Mit A = (S, Σ, δ, E, s 0 ) sei ein deterministischer endlicher Automat gegeben. Jedes Tupel (s, ω) mit s S und ω Σ heißt Konfiguration von A. Die Übergangsrelation A definieren wir wie folgt: (s 0, σ 0 σ 1... σ n ) A (s 1, σ 1... σ n ) : s 1 = δ(s 0, σ 0 ) Mit Hilfe des Konfigurationsbegriffs lässt sich die von einem Automaten A akzeptierte Sprache L(A) wie folgt charakterisieren: L(A) := {ω Σ Für ein s e E gilt (s 0, ω) (s e, ɛ)}

88 Endliche Automaten Theoretische Informatik 2 Deterministische Automaten 71/319 Automatenminimierung zu jedem Automaten A existieren weitere, die dieselbe Sprache akzeptieren zwei Automaten A 1 und A 2 mit L(A 1 ) = L(A 2 ) bezeichnen wir als äquivalent ein Automat heißt reduziert, wenn kein anderer Automat existiert, der die gleiche Sprache akzeptiert und mit weniger Zuständen auskommt die Grundidee der Automatenreduktion besteht darin, äquivalente Zustände zu bestimmen (zwei Zustände s 1 und s 2 sind genau dann äquivalent, wenn sie von außen nicht unterschieden werden können)

89 Endliche Automaten Theoretische Informatik 2 Deterministische Automaten 72/319 Definition: Definition: Zustandsäquivalenz, Bisimulation Sei A = (S, Σ, δ, E, s 0 ) ein endlicher deterministischer Akzeptor. Die k-äquivalenz zwischen zwei Zuständen s 1 und s 2, geschrieben als s 1 k s 2, definieren wir wie folgt: s 1 0 s 2 : s 1, s 2 sind beide in E oder beide nicht in E s 1 k+1 s 2 : Für alle σ Σ gilt δ(s 1, σ) k δ(s 2, σ) Gilt s 1 k s 2 für alle k N 0, so heißen s 1 und s 2 äquivalent, in Zeichen s 1 s 2. Die Relation heißt Bisimulation.

90 Endliche Automaten Theoretische Informatik 2 Deterministische Automaten 73/319 Beispiel für die Automatenminimierung a s a a 0 s 2 s 4 b b b b s 5 a a a s a b 1 s 3 s 6 b b

91 Endliche Automaten Theoretische Informatik 2 Deterministische Automaten 74/319 Ausgangs-Übergangstabelle s 0 s 1 s 2 s 3 s 4 s 5 s 6 a s 1 s 3 s 4 s 3 s 4 s 5 s 6 b s 2 s 5 s 6 s 5 s 6 s 1 s 2 Erste Partition s 0 s 1 s 2 s 3 s 4 s 5 s 6 P 1 P 2 a s 1, P 1 s 3, P 1 s 4, P 1 s 3, P 1 s 4, P 1 s 5, P 2 s 6, P 2 b s 2, P 1 s 5, P 2 s 6, P 2 s 5, P 2 s 6, P 2 s 1, P 1 s 2, P 1 Zweite Partition s 0 s 1 s 2 s 3 s 4 s 5 s 6 P 1 P 2 P 3 a s 1, P 2 s 3, P 2 s 4, P 2 s 3, P 2 s 4, P 2 s 5, P 3 s 6, P 3 b s 2, P 2 s 5, P 3 s 6, P 3 s 5, P 3 s 6, P 3 s 1, P 2 s 2, P 2

92 Endliche Automaten Theoretische Informatik 2 Deterministische Automaten 75/319 Die Anzahl der Zustände konnte von 7 auf 3 reduziert werden, ohne die akzeptierte Sprache zu verändern! a a a s 0 a s 2 a s 4 b b b s 5 b a a a s 1 a s 3 b s 6 b b P a,b 1 P 2 b b P 3 Übergangstabelle P 1 P 2 P 3 a P 2 P 2 P 3 b P 2 P 3 P 2

93 Endliche Automaten Theoretische Informatik 2 Nichtdeterministische Automaten 76/319 Nichtdeterministische Automaten Definition: Definition: Nichtdeterministischer endlicher Akzeptor Ein nichtdeterministischer endlicher Automat (nondeterministic finite state machine), kurz NEA, ist ein 5-Tupel (S, Σ, δ, E, s 0 ). Er besteht aus der endlichen Zustandsmenge S, dem endlichen Eingabealphabet Σ, der Zustandsübergangsfunktion δ : S Σ 2 S, der Menge der Endzustände (Finalzustände) E S und dem Startzustand s 0 S.

94 Endliche Automaten Theoretische Informatik 2 Nichtdeterministische Automaten 77/319 Für jedes gelesene Zeichen σ wechselt ein NEA aus dem aktuellen Zustand s i in einen Folgezustand s i+1 δ(s i, σ). Somit existieren für jede Eingabesequenz ω = σ 0, σ 1, σ 2,..., σ n potenziell mehrere Zustandsfolgen s 0, s 1, s 2,..., s n+1 mit s i+1 δ(s i, σ i ), die der Automat durchlaufen kann. Ein Wort ω wird genau dann akzeptiert, wenn mindestens eine Zustandsfolge in einem Finalzustand endet.

95 Endliche Automaten Theoretische Informatik 2 Nichtdeterministische Automaten 78/319 Abarbeitung eines NEA? Wer sagt dem Automaten, was er an einer Verzweigung tun soll?

96 Endliche Automaten Theoretische Informatik 2 Nichtdeterministische Automaten 78/319 Abarbeitung eines NEA? Wer sagt dem Automaten, was er an einer Verzweigung tun soll? Ein Orakel

97 Endliche Automaten Theoretische Informatik 2 Nichtdeterministische Automaten 78/319 Abarbeitung eines NEA? Wer sagt dem Automaten, was er an einer Verzweigung tun soll? Ein Orakel oder er rät (richtig)

98 Endliche Automaten Theoretische Informatik 2 Nichtdeterministische Automaten 78/319 Abarbeitung eines NEA? Wer sagt dem Automaten, was er an einer Verzweigung tun soll? Ein Orakel oder er rät (richtig) oder er untersucht alle Alternativen parallel

99 Endliche Automaten Theoretische Informatik 2 Nichtdeterministische Automaten 79/319 Sprachen lassen sich mit NEAs erheblich einfacher beschreiben als mit DEAs! Zum Beispiel: Die Sprache aller Bitvektoren, deren drittletzte Ziffer gleich 0 ist DEA (benötigt 8 Zustände) NEA (benötigt 4 Zustände) s 0 1 s 0 0, s 1 s 2 1 s 3 0 0,1 0,1 s 1 s 2 s s 4 s 5 s s 7 0

100 Endliche Automaten Theoretische Informatik 2 Nichtdeterministische Automaten 80/319 Definition: Definition: Konfiguration (NEA) Mit A = (S, Σ, δ, E, s 0 ) sei ein nichtdeterministischer endlicher Automat gegeben. Jedes Tupel (s, ω) mit s S und ω Σ heißt eine Konfiguration von A. Die Übergangsrelation A definieren wir wie folgt: (s 1, σ 0, σ 1,..., σ n ) (s 2, σ 1,..., σ n ) : s 2 δ(s 1, σ 0 ) Mit Hilfe des Konfigurationsbegriffs lässt sich die von einem NEA A akzeptierte Sprache L(A) wie folgt charakterisieren: L(A) := {ω Σ Für ein s e E gilt (s 0, ω) (s e, ɛ)}

101 Endliche Automaten Theoretische Informatik 2 Nichtdeterministische Automaten 81/319 Die vier möglichen Konfigurationsübergänge für das Eingabewort 000 Möglichkeit 1: s 0 s 0 s 0 s 0 Möglichkeit 3: s 0 s 0 s 1 s 2 s 0 0,1 s 0 0, ,1 0,1 s 1 s 2 s 3 0,1 0,1 s 1 s 2 s 3 Möglichkeit 2: s 0 s 0 s 0 s 1 Möglichkeit 4: s 0 s 1 s 2 s 3 s 0 0,1 s 0 0, ,1 0,1 s 1 s 2 s 3 0,1 0,1 s 1 s 2 s 3 Da der vierte Übergang in einem Finalzustand endet, wird das Eingabewort durch den Automaten akzeptiert!

102 Endliche Automaten Theoretische Informatik 2 Nichtdeterministische Automaten 82/319 Satz: Satz von Rabin und Scott Zu jedem nichtdeterministischen endlichen Automaten gibt es einen deterministischen endlichen Automaten, der die gleiche Sprache akzeptiert. Es gilt also: L(NEA) = L(DEA)

103 Endliche Automaten Theoretische Informatik 2 Nichtdeterministische Automaten 83/319 Beweis: jeder NEA A NEA = (S, Σ, δ, E, s 0 ) besitzt einen äquivalenten DEA A DEA = (S, Σ, δ, E, s 0) S := 2 S δ ({s 1,..., s n }, σ) := n i=1δ(s i, σ) E := {s S s E } s 0 := {s 0 } die Zustandsmenge des A DEA, wird gleich der Potenzmenge der NEA-Zustandsmenge gewählt befindet sich A DEA beispielsweise im Zustand {s 4, s 7 }, so bedeutet dies, dass sich A NEA entweder im Zustand s 4 oder im Zustand s 7 aufhalten kann die Endzustände des DEAs sind genau diejenigen, welche einen Endzustand des NEAs beinhalten

104 Endliche Automaten Theoretische Informatik 2 Nichtdeterministische Automaten 84/319 s 0 0,1 0 0,1 0,1 s 1 s 2 s 3

105 Endliche Automaten Theoretische Informatik 2 Nichtdeterministische Automaten 84/319 s 0 0,1 0 0,1 0,1 s 1 s 2 s

106 Endliche Automaten Theoretische Informatik 2 Nichtdeterministische Automaten 85/319 Epsilon-Übergänge Definition: Definition: Nichtdeterministischer endlicher ɛ-akzeptor Ein nichtdeterministischer endlicher ɛ-akzeptor, kurz ɛ-nea, ist ein 5-Tupel (S, Σ, δ, E, s 0 ). Er besteht aus der endlichen Zustandsmenge S, dem endlichen Eingabealphabet Σ mit ɛ Σ, der Zustandsübergangsfunktion δ : S (Σ {ɛ}) 2 S, der Menge der Endzustände (Finalzustände) E S und dem Startzustand s 0. Mit Hilfe der ɛ-übergänge können Zustandsübergänge spontan erfolgen, d. h., ohne ein neues Eingabezeichen zu konsumieren

107 Endliche Automaten Theoretische Informatik 2 Nichtdeterministische Automaten 86/319 Definition: Definition: Konfiguration (ɛ-nea) Mit A = (S, Σ, δ, E, s 0 ) sei ein nichtdeterministischer endlicher ɛ-akzeptor gegeben. Jedes Tupel (s, ω) mit s S und ω Σ heißt eine Konfiguration von A. Die Übergangsrelation definieren wir wie folgt: (s 1, ω) (s 2, ω) : s 2 δ(s 1, ɛ) (s 1, σω) (s 2, ω) : s 2 δ(s 1, σ) Die von einem ɛ-automaten A akzeptierte Sprache L(A) ist wie folgt definiert: L(A) := {ω Σ Für ein s e E gilt (s 0, ω) (s e, ɛ)}

108 Endliche Automaten Theoretische Informatik 2 Nichtdeterministische Automaten 87/319 Viele Sprachen lassen sich mit ɛ-automaten kompakter beschreiben als mit deterministischen Akzeptoren. Beispiel anhand der Sprache L = {a i b j c k i, j, k N 0 } nichtdeterministischer ɛ-akzeptor deterministischer Akzeptor c a b s ε 0 s 1 ε c s 2 a b c s 0 b s 1 c s 2 a a,b s 3 a,b,c

109 Endliche Automaten Theoretische Informatik 2 Nichtdeterministische Automaten 88/319 Satz: ɛ-reduktionstheorem Zu jedem nichtdeterministischen endlichen ɛ-akzeptor gibt es einen deterministischen endlichen Akzeptor, der die gleiche Sprache akzeptiert. Es gilt also: L(ɛ-NEA) = L(DEA)

110 Endliche Automaten Theoretische Informatik 2 Automaten und reguläre Sprachen 89/319 Automaten und reguläre Sprachen Satz: Jede von einem Automaten A akzeptierte Sprache ist regulär. D.h. es gibt eine reguläre Grammatik G für die gilt: L(G) = L(A) Beweisidee: die Zustände des Automaten werden als Nonterminale aufgefasst jeder Zustandsübergang s i, σ s j (bzw. s j = δ(s i, σ)) wird auf eine Ableitungsregel A i σa j abgebildet der Endzustand s e E, wird auf A e ɛ abgebildet

111 Endliche Automaten Theoretische Informatik 2 Automaten und reguläre Sprachen 90/319 Beispiel 0, 3, 6, 9 s 0 s 1 1,4,7 2,5,8 2,5,8 1,4,7 2,5,8 1,4,7 s 2 0, 3, 6, 9 0, 3, 6, 9 A 0 0 A 0 3 A 0 6 A 0 9 A 0 A 0 1 A 1 4 A 1 7 A 1 A 0 2 A 2 5 A 2 8 A 2 A 1 0 A 1 3 A 1 6 A 1 9 A 1 A 1 1 A 2 4 A 2 7 A 2 A 1 2 A 0 5 A 0 8 A 0 A 2 0 A 2 3 A 2 6 A 2 9 A 2 A 2 1 A 0 4 A 0 7 A 0 A 2 2 A 1 5 A 1 8 A 1 A 0 ɛ

112 Endliche Automaten Theoretische Informatik 2 Automaten und reguläre Sprachen 91/319 Satz: Jede reguläre Grammatik G, lässt sich in einen endlichen Automaten A überführen. Beweisidee: die Nonterminale des Grammatik werden als Zustände des Automaten aufgefasst jede Produktionsregel A i σa j wird abgebildet auf einen Zustandsübergang s i, σ s j (bzw. s j = δ(s i, σ)) Jede Grammatikvariable A e mit A e ɛ wird auf einen Endzustand s e E abgebildet.

113 Endliche Automaten Theoretische Informatik 2 Automaten und reguläre Sprachen 91/319 Satz: Jede reguläre Grammatik G, lässt sich in einen endlichen Automaten A überführen. Beweisidee: die Nonterminale des Grammatik werden als Zustände des Automaten aufgefasst jede Produktionsregel A i σa j wird abgebildet auf einen Zustandsübergang s i, σ s j (bzw. s j = δ(s i, σ)) Jede Grammatikvariable A e mit A e ɛ wird auf einen Endzustand s e E abgebildet. a b c A 0 a A 0 a A 1 A 1 b A 1 b A 2 A 2 c A 2 c A 3 A 3 ɛ s a 0 s b 1 s 2 c s 3

114 Endliche Automaten Theoretische Informatik 2 Automaten und reguläre Sprachen 92/319 Satz: Jeder reguläre Ausdruck R, lässt sich durch rekursives Anwenden folgender Konstruktionsmuster in einen ɛ-automaten transformieren, der L(R) akzeptiert. Leeres Wort: ɛ ε Einzelnes Zeichen: σ σ Komposition: R S ε ε ε R S Leere Menge: Auswahl: R S Kleene sche Hülle: R ε ε R ε ε R ε ε S ε ε

115 Endliche Automaten Theoretische Informatik 2 Automaten und reguläre Sprachen 93/319 Zusammenfassung der herausgearbeiteten Äquivalenzbeziehungen DEA (1) (2) NEA (3) (4) ε-nea (5) (6) (7) reguläre Grammatiken (8) reguläre Ausdrücke (1) jeder DEA ist ein NEA (2) Abschnitt (3) jeder NEA ist ein ɛ-nea (4) Abschnitt (5) Abschnitt 5.4 (6) Abschnitt 5.4 (7) Abschnitt 5.4 (8) siehe z. B. [50]

116 Endliche Automaten Theoretische Informatik 2 Automaten und reguläre Sprachen 94/319 Abschlusseigenschaften Definition: Definition: Komplementärautomat Sei A = (S, Σ, δ, E, s 0 ) ein deterministischer endlicher Akzeptor. A := (S, Σ, δ, S\E, s 0 ) heißt der Komplementärautomat von A. Beispiel A b a a,b A s a 0 s 1 b s 0 a a s 1 b b s 2 a,b s 2 Durch Invertierung der Endzustände, wird aus dem Automaten A, A erzeugt, welcher die Komplementärsprache L(A) akzeptiert.

117 Endliche Automaten Theoretische Informatik 2 Automaten und reguläre Sprachen 95/319 es folgt: Die Menge der regulären Sprachen ist bezüglich der Komplementbildung abgeschlossen. D.h. das Komplement zu jeder regulären Sprache ist auch regulär.

Grundlagen der Informatik II

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

Mehr

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

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

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

Theoretische Informatik I (Grundzüge der Informatik I)

Theoretische Informatik I (Grundzüge der Informatik I) Theoretische Informatik I (Grundzüge der Informatik I) Literatur: Buch zur Vorlesung: Uwe Schöning, Theoretische Informatik - kurzgefasst. Spektrum Akademischer Verlag, Heidelberg/Berlin, 4. Auflage, 2001.

Mehr

Grundlagen der Theoretischen Informatik

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

Mehr

Grammatik Prüfung möglich, ob eine Zeichenfolge zur Sprache gehört oder nicht

Grammatik Prüfung möglich, ob eine Zeichenfolge zur Sprache gehört oder nicht Zusammenhang: Formale Sprache Grammatik Formale Sprache kann durch Grammatik beschrieben werden. Zur Sprache L = L(G) gehören nur diejenigen Kombinationen der Zeichen des Eingabealphabets, die durch die

Mehr

Formale Sprachen. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S

Formale Sprachen. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S Formale Grundlagen (WIN) Franz Binder Institut für Algebra Johannes Kepler Universität Linz Vorlesung im 2008S http://www.algebra.uni-linz.ac.at/students/win/fg Inhalt Das Alphabet Σ sei eine endliche

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

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

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

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

Mehr

(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

Theoretische Informatik Mitschrift

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

Mehr

Zusammenfassung Grundzüge der Informatik 4

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

Mehr

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

Formale Sprachen. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marian KOGLER

Formale Sprachen. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marian KOGLER Formale Sprachen Grammatiken und die Chomsky-Hierarchie Rudolf FREUND, Marian KOGLER Grammatiken Das fundamentale Modell zur Beschreibung von formalen Sprachen durch Erzeugungsmechanismen sind Grammatiken.

Mehr

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Algorithmen mit konstantem Platzbedarf: Die Klasse REG Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August

Mehr

Was bisher geschah: Formale Sprachen

Was bisher geschah: Formale Sprachen Was bisher geschah: Formale Sprachen Alphabet, Wort, Sprache Operationen und Relationen auf Wörtern und Sprachen Darstellung unendlicher Sprachen durch reguläre Ausdrücke (Syntax, Semantik, Äquivalenz)

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

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

Tutoraufgabe 1 (ɛ-produktionen):

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

Mehr

Theoretische Grundlagen der Informatik

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

Mehr

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

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Theoretische Informatik für Wirtschaftsinformatik und Lehramt Theoretische Informatik für Wirtschaftsinformatik und Lehramt Reguläre Sprachen Priv.-Doz. Dr. Stefan Milius stefan.milius@fau.de Theoretische Informatik Friedrich-Alexander Universität Erlangen-Nürnberg

Mehr

Grundbegriffe. Grammatiken

Grundbegriffe. Grammatiken Grammatiken Grammatiken in der Informatik sind ähnlich wie Grammatiken für natürliche Sprachen ein Mittel, um alle syntaktisch korrekten Sätze (hier: Wörter) einer Sprache zu erzeugen. Beispiel: Eine vereinfachte

Mehr

Grundlagen der Theoretischen Informatik

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

Mehr

Theoretische Informatik. Grammatiken. Grammatiken. Grammatiken. Rainer Schrader. 9. Juli 2009

Theoretische Informatik. Grammatiken. Grammatiken. Grammatiken. Rainer Schrader. 9. Juli 2009 Theoretische Informatik Rainer Schrader Institut für Informatik 9. Juli 2009 1 / 41 2 / 41 Gliederung die Chomsky-Hierarchie Typ 0- Typ 3- Typ 1- Die Programmierung eines Rechners in einer höheren Programmiersprache

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

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

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

Mehr

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

Reguläre Sprachen und endliche Automaten

Reguläre Sprachen und endliche Automaten Reguläre Sprachen und endliche Automaten 1 Motivation: Syntaxüberprüfung Definition: Fließkommazahlen in Java A floating-point literal has the following parts: a whole-number part, a decimal point (represented

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

Sprachen/Grammatiken eine Wiederholung

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

Mehr

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

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

Mehr

Theoretische Grundlagen der Informatik

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

Mehr

6 Kontextfreie Grammatiken

6 Kontextfreie Grammatiken 6 Kontextfreie Grammatiken Reguläre Grammatiken und damit auch reguläre Ausdrücke bzw. endliche Automaten haben bezüglich ihres Sprachumfangs Grenzen. Diese Grenzen resultieren aus den inschränkungen,

Mehr

7. Formale Sprachen und Grammatiken

7. Formale Sprachen und Grammatiken 7. Formale Sprachen und Grammatiken Computer verwenden zur Verarbeitung von Daten und Informationen künstliche, formale Sprachen (Maschinenspr., Assemblerspachen, Programmierspr., Datenbankspr., Wissensrepräsentationsspr.,...)

Mehr

7 Endliche Automaten. 7.1 Deterministische endliche Automaten

7 Endliche Automaten. 7.1 Deterministische endliche Automaten 7 Endliche Automaten 7.1 Deterministische endliche Automaten 7.2 Nichtdeterministische endliche Automaten 7.3 Endliche Automaten mit g-übergängen Endliche Automaten 1 7.1 Deterministische endliche Automaten

Mehr

äußere Klammern können entfallen, ebenso solche, die wegen Assoziativität von + und Konkatenation nicht notwendig sind:

äußere Klammern können entfallen, ebenso solche, die wegen Assoziativität von + und Konkatenation nicht notwendig sind: 3. Reguläre Sprachen Bisher wurden Automaten behandelt und Äquivalenzen zwischen den verschiedenen Automaten gezeigt. DEAs erkennen formale Sprachen. Gibt es formale Sprachen, die nicht erkannt werden?

Mehr

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

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

Mehr

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

Teil V. Weiterführende Themen, Teil 1: Kontextsensitive Sprachen und die Chomsky-Hierarchie

Teil V. Weiterführende Themen, Teil 1: Kontextsensitive Sprachen und die Chomsky-Hierarchie Teil V Weiterführende Themen, Teil 1: Kontextsensitive Sprachen und die Chomsky-Hierarchie Zwei Sorten von Grammatiken Kontextsensitive Grammatik (CSG) (Σ, V, P, S), Regeln der Form αaβ αγβ α, β (Σ V ),

Mehr

Theoretische Informatik I

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

Mehr

Einführung in die Theoretische Informatik

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

Mehr

Motivation natürliche Sprachen

Motivation natürliche Sprachen Motivation natürliche Sprachen (Satz) (Substantivphrase)(Verbphrase) (Satz) (Substantivphrase)(Verbphrase)(Objektphrase) (Substantivphrase) (Artikel)(Substantiv) (Verbphrase) (Verb)(Adverb) (Substantiv)

Mehr

Vorlesung Theoretische Informatik

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

Mehr

Formale Sprachen und deren Grammatiken. Zusammenhang mit der Automatentheorie.

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

Mehr

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 Formale Sprache Eine formale Sprache ist eine (Teil-)Menge A Σ* von Worten über einem Alphabet Σ.

Definition Formale Sprache Eine formale Sprache ist eine (Teil-)Menge A Σ* von Worten über einem Alphabet Σ. Reguläre Sprachen Sprache was ist das? Definition 7.1.1 Formale Sprache Eine formale Sprache ist eine (Teil-)Menge A Σ* von Worten über einem Alphabet Σ. Wir beschäftigen uns in diesem Teil mit den regulären

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 15 Ziele vgl. AFS: Berechnungsmodelle für Typ-0- und Typ-1-Sprachen (Nicht-)Abschlußeigenschaften

Mehr

Sprachen und Automaten. Tino Hempel

Sprachen und Automaten. Tino Hempel Sprachen und Automaten 11 Tino Hempel Bisherige Automaten Automat mit Ausgabe/Mealy-Automat Akzeptor, Sprache eines Akzeptors Grenze: L = {a n b n } Kellerautomat erkennt L = {a n b n } Grenze:? T. Hempel

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

Universität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III

Universität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III Name Vorname Matrikelnummer Universität Karlsruhe Institut für Theoretische Informatik o. Prof. Dr. P. Sanders 26. Feb. 2007 Klausur: Informatik III Aufgabe 1. Multiple Choice 10 Punkte Aufgabe 2. Teilmengenkonstruktion

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

I.5. Kontextfreie Sprachen

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

Mehr

Ü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

Ein deterministischer endlicher Automat (DFA) kann als 5-Touple dargestellt werden:

Ein deterministischer endlicher Automat (DFA) kann als 5-Touple dargestellt werden: Sprachen und Automaten 1 Deterministische endliche Automaten (DFA) Ein deterministischer endlicher Automat (DFA) kann als 5-Touple dargestellt werden: M = (Z,3,*,qo,E) Z = Die Menge der Zustände 3 = Eingabealphabet

Mehr

Automatentheorie und formale Sprachen

Automatentheorie und formale Sprachen Automatentheorie und formale Sprachen VL 4 Reguläre Ausdrücke und reguläre Sprachen Kathrin Hoffmann 10. April 2012 Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 10.4. 2012 114 Aufgabe 13:

Mehr

Formale Methoden 1. Gerhard Jäger 9. Januar Uni Bielefeld, WS 2007/2008 1/23

Formale Methoden 1. Gerhard Jäger 9. Januar Uni Bielefeld, WS 2007/2008 1/23 1/23 Formale Methoden 1 Gerhard Jäger Gerhard.Jaeger@uni-bielefeld.de Uni Bielefeld, WS 2007/2008 9. Januar 2008 2/23 Automaten (informell) gedachte Maschine/abstraktes Modell einer Maschine verhält sich

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

Teil 4: Grammatiken und Syntaxanalyse. (Kapitel T5-T7)

Teil 4: Grammatiken und Syntaxanalyse. (Kapitel T5-T7) Teil 4: Grammatiken und Syntaxanalyse (Kapitel T5-T7) Grammatiken und die Chomsky- Hierarchie [T5.1] Ziel: Regelsysteme zur Erzeugung von Sprachen. Beispiel: arithmetische Ausdrücke können definiert werden

Mehr

Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14

Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14 Institut für Theoretische Informatik Prof. Dr. Jörn Müller-Quade Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 23/4 Vorname Nachname Matrikelnummer Hinweise Für die

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

Einführung in die Theoretische Informatik

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

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

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

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

Mehr

Wortproblem für kontextfreie Grammatiken

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

Mehr

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

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

Mehr

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 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.1. 2.2. Reguläre Sprachen 2.3. Kontextfreie Sprachen 2/1, Folie 1 2015 Prof. Steffen

Mehr

Automaten, Spiele, und Logik

Automaten, Spiele, und Logik Automaten, Spiele, und Logik Woche 2 25. April 2014 Inhalt der heutigen Vorlesung 1. Reguläre Ausdrücke 2. der Satz von Kleene 3. Brzozowski Methode 4. grep und perl Reguläre Ausdrücke Rekursive Definition,

Mehr

Beschreibungskomplexität von Grammatiken Definitionen

Beschreibungskomplexität von Grammatiken Definitionen Beschreibungskomplexität von Grammatiken Definitionen Für eine Grammatik G = (N, T, P, S) führen wir die folgenden drei Komplexitätsmaße ein: Var(G) = #(N), Prod(G) = #(P ), Symb(G) = ( α + β + 1). α β

Mehr

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

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

Mehr

Theoretische Grundlagen der Informatik

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

Mehr

FORMALE SYSTEME. Sprachen beschreiben. Wiederholung. Wie kann man Sprachen beschreiben? 2. Vorlesung: Grammatiken und die Chomsky-Hierarchie

FORMALE SYSTEME. Sprachen beschreiben. Wiederholung. Wie kann man Sprachen beschreiben? 2. Vorlesung: Grammatiken und die Chomsky-Hierarchie Wiederholung FORMALE SYSTEME 2. Vorlesung: Grammatiken und die Chomsky-Hierarchie Markus Krötzsch Formale Sprachen sind in Praxis und Theorie sehr wichtig Ein Alphabet ist eine nichtleere, endliche Menge

Mehr

Die Chomsky Hierarchie

Die Chomsky Hierarchie Die Chomsky Hierarchie Slide 1 Die Chomsky Hierarchie Hans U. Simon (RUB) mit Modifikationen von Maike Buchin (RUB) Lehrstuhl Mathematik und Informatik Homepage: http://www.ruhr-uni-bochum.de/lmi Die Chomsky

Mehr

Theoretische Informatik 2

Theoretische Informatik 2 Theoretische Informatik 2 Johannes Köbler Institut für Informatik Humboldt-Universität zu Berlin WS 2009/10 Die Chomsky-Hierarchie Definition Sei G = (V, Σ, P, S) eine Grammatik. 1 G heißt vom Typ 3 oder

Mehr

Einführung in die Theoretische Informatik

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

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Rolf Socher ISBN 3-446-22987-6 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-22987-6 sowie im Buchhandel Einführung.. 13 2 Endliche

Mehr

Theorie der Informatik

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

Mehr

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

4.2 Die Chomsky Normalform

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

Mehr

Formale Sprachen und Automaten

Formale Sprachen und Automaten Turingmaschinen Formale Sprachen und Automaten Das Konzept der Turingmaschine wurde von dem Englischen Mathematiker Alan M. Turing (1912-1954) ersonnen. Turingmaschinen, Typ-0- und Typ-1-Grammatiken Der

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

Grammatik konstruieren, Beispiel Ausdrücke der Aussagenlogik in zwei Prädikaten p und q und den Verknüpfungsoperationen. Produktionsregeln:

Grammatik konstruieren, Beispiel Ausdrücke der Aussagenlogik in zwei Prädikaten p und q und den Verknüpfungsoperationen. Produktionsregeln: Prüfungszusammenfassung Mathe 2 Begriffe DEA (Deterministischer endlicher Automat; DFA) NEA (Nichtdeterministischer endlicher Automat; NFA) regulär Ohne Mehrdeutigkeiten: Darf nicht vom gleichen Zustand

Mehr

Übungen zur Vorlesung Einführung in die Theoretische Informatik, Blatt 12 LÖSUNGEN

Übungen zur Vorlesung Einführung in die Theoretische Informatik, Blatt 12 LÖSUNGEN Universität Heidelberg / Institut für Informatik 7. Juli 24 Prof. Dr. Klaus Ambos-Spies Nadine Losert Übungen zur Vorlesung Einführung in die Theoretische Informatik, Blatt 2 LÖSUNGEN Aufgabe Verwenden

Mehr

Musterlösung der Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2012/13

Musterlösung der Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2012/13 Institut für Kryptographie und Sicherheit Prof. Dr. Jörn Müller-Quade Musterlösung der Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 22/3 Vorname Nachname Matrikelnummer

Mehr

Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1

Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1 Zusammenfassung Zusammenfassung der letzten LV Einführung in die Theoretische Informatik Woche 7 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 1 Wir betrachten die folgende Signatur

Mehr

Deterministischer endlicher Automat A ohne Ausgabe (deterministischer endlicher Akzeptor)

Deterministischer endlicher Automat A ohne Ausgabe (deterministischer endlicher Akzeptor) Deterministischer endlicher Automat A ohne Ausgabe (deterministischer endlicher Akzeptor) wobei A = (E, Z, f, z 0, F ) E Z f : Z E Z z 0 Z Eingabealphabet Zustandsmenge (Zustands )Überführungsfunktion

Mehr

Mathematische Grundlagen der Informatik 2

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

Mehr

Universität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III

Universität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III Name Vorname Matrikelnummer Universität Karlsruhe Institut für Theoretische Informatik o. Prof. Dr. P. Sanders 10.4.2007 Klausur: Informatik III Aufgabe 1. Multiple Choice 11 Punkte Aufgabe 2. Minimalautomaten

Mehr

Formale Sprachen und Grammatiken

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

Mehr

2.4 Kontextsensitive und Typ 0-Sprachen

2.4 Kontextsensitive und Typ 0-Sprachen Definition 2.43 Eine Typ 1 Grammatik ist in Kuroda Normalform, falls alle Regeln eine der folgenden 4 Formen haben: Dabei: A, B, C, D V und a Σ. Satz 2.44 A a, A B, A BC, AB CD. Für jede Typ 1 Grammatik

Mehr

Turing-Maschinen. Definition 1. Eine deterministische Turing-Maschine (kurz DTM) ist ein 6- Dem endlichen Alphabet Σ von Eingabesymbolen.

Turing-Maschinen. Definition 1. Eine deterministische Turing-Maschine (kurz DTM) ist ein 6- Dem endlichen Alphabet Σ von Eingabesymbolen. Turing-Maschinen Nachdem wir endliche Automaten und (die mächtigeren) Kellerautomaten kennengelernt haben, werden wir nun ein letztes, noch mächtigeres Automatenmodell kennenlernen: Die Turing-Maschine

Mehr

Formelsammlung theoretische Informatik I

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

Mehr

Formale Systeme. Büchi-Automaten. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Formale Systeme. Büchi-Automaten. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK Formale Systeme Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State of Baden-Württemberg and National Large-scale Research Center of the Helmholtz

Mehr

Einführung in die Informatik

Einführung in die Informatik Universität Innsbruck - Institut für Informatik Datenbanken und Informationssysteme Prof. Günther Specht, Eva Zangerle 24. November 28 Einführung in die Informatik Übung 7 Allgemeines Für die Abgabe der

Mehr

Automaten und Formale Sprachen

Automaten und Formale Sprachen Automaten und Formale Sprachen Prof. Dr. Dietrich Kuske FG Theoretische Informatik, TU Ilmenau Wintersemester 2011/12 WS 11/12 1 Organisatorisches zur Vorlesung Informationen, aktuelle Version der Folien

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