Formale Sprachen und deren Grammatiken. Zusammenhang mit der Automatentheorie.

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Formale Sprachen und deren Grammatiken. Zusammenhang mit der Automatentheorie."

Transkript

1 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 Grundbestandteile Chomsky-Hierarchie (Sprachklassen) Reguläre (Typ 3) Sprachen Kontextfreie (Typ 2) Sprachen Kontextsensitive (Typ 1) Sprachen Allgemeine (Typ 0) Sprachen Literatur: Uwe Schöning: Theoretische Informatik - kurzgefaßt, Spektrum Akademischer Verlag 2008 Dirk W. Hoffmann: Theoretische Informatik, Hanser-Verlag 2009 Enthält auch viele Übungsaufgaben (mit Musterlösungen im Web). Hopcroft/Motwani/Ullman: Introduction to Automata Theory, Languages, and Computation, 3 rd edition, Addison-Wesley 2006 Theoretische Informatik I Formale Sprachen 2 Chr. Vogt

2 Struktur natürlicher und künstlicher Sprachen Künstliche Sprachen Formale Sprachen Sprachelemente verschiedener Sprachtypen Phrasenstruktursprachen Chomsky-Grammatik - Definition Verwendung der Grammatikregeln Ausführen einer Ableitung Von einer Grammatik erzeugte Sprache 1. Beispiel für eine Grammatik Die von der Beispielsgrammatik erzeugte Sprache Ableitungsbäume Ein Ableitungsbaum der Beispielsgrammatik 2. Beispiel für eine Grammatik und deren Sprache Rechts- und linkslineare Grammatiken Reguläre (Typ 3) Sprachen Beispiel einer rechtslinearen Grammatik Ableitungsbäume der rechtslinearen Grammatik Beispiel einer linkslinearen Grammatik Ableitungsbäume der linkslinearen Grammatik Reguläre Sprachen und endliche Automaten Der Zusammenhang zwischen rechtslinearen Grammatiken und endlichen Automaten (1) Der Zusammenhang zwischen rechtslinearen Grammatiken und endlichen Automaten (2) Zustandsdiagramm vs. Grammatikregeln Beispiel Der Zusammenhang zwischen linkslinearen Grammatiken und endlichen Automaten (1) Eine Normalform für endliche Automaten Der Zusammenhang zwischen linkslinearen Grammatiken und endlichen Automaten (2) Beispiel Reguläre Mengen Reguläre Ausdrücke Kontextfreie (Typ 2) Sprachen Chomsky- und Greibach-Normalform Eine kontextfreie, nicht reguläre Sprache Kontextfreie Sprachen und Automaten Lineare Sprachen Mehrdeutige Grammatiken Inhärent mehrdeutige Sprachen Pumping-Lemma für kontextfreie Sprachen Eine nicht kontextfreie Sprache Kontextsensitive (Typ 1) Sprachen Monotone Grammatiken Kontextsensitive Sprachen und Automaten Allgemeine (Typ 0) Sprachen Typ-0-Sprachen und Automaten Sprachklassen und Chomsky-Hierarchie Sprachklassen und Automatenklassen Erweiterte Chomsky-Hierarchie Abschlusseigenschaften von Sprachen Entscheidbarkeitsfragen Das Wortproblem und seine Komplexität

3 Struktur natürlicher und künstlicher Sprachen Was macht eine Sprache aus : Wörter ( Vokabeln, siehe Duden, Wörterbuch ) Grammatikalische Regeln zum Satzbau (Syntax) Bedeutung (Semantik) Die Dreiteilung der Semiotik (Lehre von den Zeichensystemen) in Syntax Regelwerk, eine endliche Menge von Regeln Semantik die objektiv gültige Bedeutung Pragmatik die subjektive Bedeutung für den Benutzer ist vorteilhaft für die mathematische Linguistik (Sprachwissenschaft). Anmerkungen: Zeichen bilden Wörter, Wörter bilden Sätze. Sätze können syntaktisch richtig aber semantisch falsch sein. Semantik ist schwer formulierbar (dies führt z.b. zu häufigen Fehlern bei der automatischen Übersetzung natürlicher Sprachen). Theoretische Informatik I Formale Sprachen 3 Chr. Vogt Künstliche Sprachen In der Informatik kann keine subjektive Bedeutung (Pragmatik) zugelassen werden. Beispiel: Programmiersprachen. Die Semantik von PASCAL, C, Java etc. ist objektiv gültig für alle Benutzer. Semantische Probleme in Programmiersprachen zeigen sich, wenn zwar der Compilerlauf fehlerfrei, die Syntax also korrekt ist, aber dennoch Laufzeitfehler (run time error) oder unsinnige Ergebnisse auftreten. Die Syntax einer Programmiersprache legt u.a. fest welche Schlüsselwörter (IF, FOR, WHILE, etc.) verwendet werden dürfen, wo spezielle Zeichen wie Klammern oder Strichpunkte zu stehen haben, wie ein arithmetischer Ausdruck abgearbeitet werden muss. Theoretische Informatik I Formale Sprachen 4 Chr. Vogt

4 Formale Sprachen Definition: Sei X ein Alphabet von Zeichen und X* die Menge aller Wörter über X. Jede Teilmenge L X* heißt eine Sprache. Eine Teilmenge L X* heißt eine formale Sprache, wenn es eine endliche Menge von Regeln (eine Grammatik) für L gibt, die genau die Wörter von L beschreiben. Eine mögliche exakte Definition für Grammatiken werden wir später kennenlernen. Bemerkungen: Si Sei X ein endliches dlih Alhb Alphabet. Die Menge aller Sprachen über X ist überabzählbar. Die Menge aller formalen Sprachen über X ist abzählbar. Theoretische Informatik I Formale Sprachen 5 Chr. Vogt Sprachelemente verschiedener Sprachtypen Sprachtyp Grundmenge X Elemente der Sprache Formale Alphabet Wörter über X Sprachen Zeichenmenge Natürliche Menge von Wörtern Eine Folge von Sätzen, Sprachen (Dudeninhalt) ein Text Programmier- Menge von Grund- Programme über X sprachen symbolen (*) (*) Die Menge von Grundsymbolen einer Programmiersprache besteht aus: den zugelassenen Zeichen (Buchstaben, Ziffern, Klammern, = usw.) speziellen Schlüsselwörtern (keywords) wie 'IF', 'WHILE'... Theoretische Informatik I Formale Sprachen 6 Chr. Vogt

5 Phrasenstruktursprachen Bei formalen Sprachen muss die Syntax komplett durch endlich viele Regeln beschrieben werden. Die Formulierung dieser Regeln in natürlicher tülih Sprache ist it meist it zu ungenau. Der Sprachwissenschaftler Noam Chomsky (*1928) führte 1959 eine Formalisierung mit generativen Grammatiken ein. Zusätzlich zu den Zeichen des Alphabets, die jetzt Terminalzeichen genannt werden, werden Nichtterminale verwendet, die eine Struktur in die Sprache bringen, indem sie die Wörter der Sprache in bestimmte Bestandteile gliedern. So beschriebene Sprachen werden auch Phrasenstruktursprachen genannt. Beispiele für Nichtterminale in natürlichen Sprachen: in Programmiersprachen: Satz, Nebensatz, Subjekt, Prädikat, Objekt usw. Variable, Prozedur, Anweisung, Bedingung usw. Theoretische Informatik I Formale Sprachen 7 Chr. Vogt Chomsky-Grammatik - Definition Definition: Eine Chomsky-Grammatik ist ein 4-Tupel G = ( T, N, S, P ) bestehend aus den folgenden Komponenten: 1.) T ist eine endliche, nichtleere Menge von Zeichen, den Terminalen. 2.) N ist eine endliche, nichtleere Menge von Zeichen, den Nichtterminalen, mit N T = 3.) S ist ein Element von N, das sog. Startsymbol. 4.) P ist das Produktions- oder Regelsystem der Grammatik. Es besteht aus einer endlichen Menge von Paaren (p,q) meist geschrieben als: p q wobei p und q Wörter aus Terminal- und/oder Nichtterminalzeichen sind: p, q (N T)*. Dabei muss p mindestens ein Nichtterminal enthalten, und q darf nicht leer sein. Die Elemente von P werden Produktionen oder (Ersetzungs-)Regeln genannt. Theoretische Informatik I Formale Sprachen 8 Chr. Vogt

6 Verwendung der Grammatikregeln Die Grammatikregeln legen fest, wie aus bekannten Konstrukten (Wörtern aus Terminalund/oder Nichtterminalzeichen) neue Konstrukte entstehen. Beispiele: (Nichtterminale sind durch < > gekennzeichnet.) In der deutschen Sprache: Verbindet man zwei Sätze A und B mit 'und', so ergibt dies wieder einen Satz. Formal: (<Satz>, <Satz> und <Satz>) oder <Satz> <Satz> und <Satz> In PASCAL: Wenn A eine Anweisung ist und B eine Bedingung, so ist die Zeichenfolge repeat A until B wieder eine Anweisung. Formal: (<Anweisung>, repeat <Anweisung> until <Bedingung>) oder <Anweisung> repeat <Anweisung> until <Bedingung> Theoretische Informatik I Formale Sprachen 9 Chr. Vogt Ausführen einer Ableitung Das ein- oder mehrmalige Anwenden von Grammatikregeln auf ein Wort wird als Ableitung bezeichnet. Die genaue Ableitungsvorschrift lautet: Seien x (N T)* ein Wort aus Terminal- und/oder Nichtterminalsymbolen, und (p,q) eine Regel aus der Produktionsmenge P von G, so dass p als Teilwort von x auftritt: x = x' p x" mit x', p, x" (N T)* Das Ergebnis der Anwendung von (p,q) auf x (im Kontext x'.. x") ist das Wort y = x' q x" das entsteht, indem man in x das Teilwort p durch das Wort q ersetzt. (p,q) Man schreibt dann: x y oder x y (falls die verwendete Regel uninteressant ist) und sagt: x ist ableitbar nach y durch Anwendung der Regel (p, q). Theoretische Informatik I Formale Sprachen 10 Chr. Vogt

7 Von einer Grammatik erzeugte Sprache Auf ein Wort x 0 können nacheinander mehrere Ableitungsschritte angewandt werden x 0 x 1, x 1 x 2,..., x n-1 x n (n > 1) Man nennt diese Folge von Ableitungen einfach eine Ableitung von x 0 nach x n und sagt x 0 ist ableitbar nach x n bezüglich G und schreibt dafür: x 0 x G n Definition: Die von einer Grammatik G = ( T, N, S, P ) erzeugte Sprache L(G) ist die Menge aller Wörter, die aus dem Startsymbol S ableitbar sind und nur aus Terminalsymbolen bestehen: L(G) = { w T* S w bezüglich G } Definition : Zwei Grammatiken G 1 = (T, N 1, S 1, P 1 ) und G 2 = (T, N 2, S 2, P 2 ) heißen äquivalent, wenn sie dieselbe Sprache erzeugen, also L (G 1 ) = L (G 2 ) Theoretische Informatik I Formale Sprachen 11 Chr. Vogt 1. Beispiel für eine Grammatik Die im folgenden definierte Grammatik G = ( T, N, S, P ) beschreibt einen kleinen Ausschnitt aus der deutschen Sprache: T = { die, Maus, Katze, jagt, beißt } N = { <Satz>, <Subjekt>, <Prädikat>, <Objekt>, <Artikel>, <Substantiv> } S = <Satz> P = { (<Satz>, <Subjekt> <Prädikat> <Objekt>), (<Subjekt>, <Artikel> <Substantiv>), (<Objekt>, <Artikel> <Substantiv>), (<Prädikat>, jagt), (<Prädikat>, beißt), (<Artikel>, die), (<Substantiv>, Maus), (<Substantiv>, Katze) } Theoretische Informatik I Formale Sprachen 12 Chr. Vogt

8 Die von der Beispielsgrammatik erzeugte Sprache Beispiel für eine Ableitung : <Satz> <Subjekt> <Prädikat> <Objekt> <Artikel> <Substantiv> <Prädikat> <Objekt> <Artikel> Maus <Prädikat> <Objekt> <Artikel> Maus jagt <Objekt> <Artikel> Maus jagt <Artikel> <Substantiv> die Maus jagt die Katze Die von G erzeugte Sprache ist : L(G) = { die Maus jagt die Katze, die Maus jagt die Maus, die Katze jagt die Katze, die Katze jagt die Maus, die Maus beißt die Katze, die Maus beißt die Maus, die Katze beißt die Katze, die Katze beißt die Maus } Theoretische Informatik I Formale Sprachen 13 Chr. Vogt Ableitungsbäume Bei Grammatiken, in denen alle Regeln auf der linken Seite nur ein einziges Nicht-Terminal haben, kann die Ableitung eines Wortes der Sprache mit einem Ableitungsbaum grafisch dargestellt werden: 1. Die Wurzel wird mit dem Startsymbol markiert. 2. Ein Knoten, der mit einem Nichtterminalsymbol X markiert ist, erhält bei Anwendung der Regel X X 1 X 2... X n n Söhne, die von links nach rechts mit X 1, X 2,..., X n beschriftet werden. 3. Ein Knoten, der mit einem Terminalsymbol versehen ist, hat keinen weiteren Sohn, ist also ein Blatt des Ableitungsbaumes. Die Folge der Blätter, gelesen von links nach rechts, ergibt das durch diese spezielle Ableitung erzeugte Wort der Sprache. Bemerkung: Grammatiken, bei denen auf der linken Seite jeder Regel ein einziges Nicht- Terminal steht, heißen kontextfreie Grammatiken (s.u.). Theoretische Informatik I Formale Sprachen 14 Chr. Vogt

9 Ein Ableitungsbaum der Beispielsgrammatik <Satz> <Subjekt> <Prädikat> <Objekt> <Artikel> <Substantiv> <Artikel> <Substantiv> die Maus jagt die Katze Theoretische Informatik I Formale Sprachen 15 Chr. Vogt 2. Beispiel für eine Grammatik und deren Sprache Gegeben sei die Grammatik G = ( T, N, S, P ) mit T = { a, b, c, d } N = { S, A } P = { (S, aabc), (A, aab), (aab, d) } Anwendung der Regeln : S (S, aabc) aabc (aab, d) dc aaabbc (A, aab) aadbbc (aab, d) L (G ) = { w T* w = a n d b n c; n > 0 } (aab, d) (A, aab) adbc aaaabbbc Theoretische Informatik I Formale Sprachen 16 Chr. Vogt

10 Rechts- und linkslineare Grammatiken Reguläre (Typ 3) Sprachen Schreibweise: Im folgenden werden Terminale mit kleinen, Nichtterminale mit großen Buchstaben bezeichnet. Definition : Eine Grammatik G = ( T, N, S, P ) heißt rechtslinear, wenn alle Regeln die Form A x oder A x B (x T, A, B N) haben. Sie heißt linkslinear, wenn alle Regeln die Form A x oder A B x (x T, A, B N) haben. Definition: Eine Sprache heißt regulär oder vom Typ 3, wenn es eine linkslineare oder eine rechtslineare Grammatik gibt, die diese Sprache erzeugt. Bemerkung: Wir werden weiter unten zeigen, dass es für eine Sprache genau dann eine rechtslineare Grammatik gibt, wenn es eine linkslineare Grammatik für die Sprache gibt. Theoretische Informatik I Formale Sprachen 17 Chr. Vogt Beispiel einer rechtslinearen Grammatik Gegeben sei die rechtslineare Grammatik G = ( T, N, S, P ) durch T = { a, b }, N = { A, S }, P = { (A, a), (S, ba), (S, as) } Erzeugen von Ableitungen von S: S b A b a S a S a b A a b a a S a a S a a b A a a b a a S a a S a a a S a a a b A a a a b a Offensichtlich ist L(G) = { w w = a n b a, n N 0 } Bemerkung: Falls so eine einfache, geschlossene Darstellung für alle Wörter der Sprache gefunden werden kann, ist dies natürlich auch die einfachste Methode, um für ein gegebenes Wort festzustellen, ob es zur Sprache gehört oder nicht. Theoretische Informatik I Formale Sprachen 18 Chr. Vogt

11 Ableitungsbäume der rechtslinearen Grammatik Entstehen der Ableitungsbäume bei der Ableitung von a) w = b a b) w = a b a c) w = a a b a a) S b) S c) S b A a S a S a b A a S a b A a Bei rechtslinearen Grammatiken wachsen die Ableitungsbäume von links oben nach rechts unten. Das erzeugte Wort wird Zeichen für Zeichen von links nach rechts generiert. Theoretische Informatik I Formale Sprachen 19 Chr. Vogt Beispiel einer linkslinearen Grammatik Gegeben sei die linkslineare Grammatik G = ( T, N, S, P ) durch T = { a, b }, N = { A, B, S } P = { ( A, a ), ( B, b ), ( A, A a ), ( B, A b ), ( S, B a ) } Erzeugen aller möglichen Ableitungen von S: S B a b a S B a A b a a b a A a b a a a b a hier.... beliebig viele a's durch die Regel A A a L(G) = { x x = a n b a, n N 0 } Theoretische Informatik I Formale Sprachen 20 Chr. Vogt

12 Ableitungsbäume der linkslinearen Grammatik Einige Ableitungsbäume für diese linkslineare Grammatik : S S S B a B a B a b A b A b a A a A a Bei linkslinearen Grammatiken wachsen die Ableitungsbäume von rechts oben nach links unten. Das erzeugte Wort wird Zeichen für Zeichen von rechts nach links generiert. Theoretische Informatik I Formale Sprachen 21 Chr. Vogt a Reguläre Sprachen und endliche Automaten Satz: Die folgenden Mengen von Sprachen sind identisch: die von rechtslinearen Grammatiken erzeugten Sprachen, die von linkslinearen Grammatiken erzeugten Sprachen, die von endlichen Automaten erkennbaren Sprachen. Wir werden diesen Satz durch Angabe von Konstruktionsverfahren für die folgenden Übergänge beweisen: endlicher Automat linkslineare Grammatik rechtslineare Grammatik Theoretische Informatik I Formale Sprachen 22 Chr. Vogt

13 Der Zusammenhang zwischen rechtslinearen Grammatiken und endlichen Automaten (1) Satz: Zu jeder rechtslinearen Grammatik G gibt es einen endlichen Automaten A, so dass L(G) = L(A) ist und umgekehrt. Beweis: Wir geben im folgenden ein konstruktives Verfahren an, das die entsprechende Aussage informell beweist. Wir gehen dabei davon aus, dass es zu jeder Regel A b eine weitere Regel A bc mit einem Nichtterminal C gibt. Ist dies nicht der Fall, fügen wir einfach ein weiteres (überflüssiges) Nichtterminal C und die (überflüssige) Regel A bc zu der Grammatik hinzu. Theoretische Informatik I Formale Sprachen 23 Chr. Vogt Der Zusammenhang zwischen rechtslinearen Grammatiken und endlichen Automaten (2) Vorgehensweise: 1. Jedem Nichtterminal entspricht ein Knoten (Zustand) und jedem Zustand ein Nichtterminal. Der Anfangszustand entspricht dem Startsymbol. 2. Jede Regel A bc entspricht einer Kante vom Knoten A zum Knoten C mit der Bewertung b und umgekehrt. 3. Gibt es in der Grammatik zwei Regeln A b und A bc, so ist C ein Endzustand. Umgekehrt nehmen wir für jeden Endzustand C und jede Kante von A nach C mit der Bewertung b zusätzlich zu A bc auch noch die Regel A b in die Grammatik auf. rechtslineare Grammatik endlicher Automat T X N Z S z 0 (Anfangszustand) P f z Theoretische Informatik I Formale Sprachen 24 Chr. Vogt

14 Zustandsdiagramm vs. Grammatikregeln Der Zusammenhang zwischen Zustandsdiagramm und Grammatikregeln: linkslineare Regeln rechtslineare Regeln a (B,a) B S b b A C A C (C,Ab) (A,bC) S A b (A,b) C (A,bC) Theoretische Informatik I Formale Sprachen 25 Chr. Vogt Beispiel Wir betrachten wieder die obige rechtslineare Grammatik N = { A, S }, P = { (A, a), (S, ba), (S, as) } die die Sprache { x x = a n b a, n N 0 } erzeugt. Wie sieht der endliche Automat zu dieser Grammatik aus? a S b A a B b a, b C a,b Der Zustand B entsteht aus der künstlich hinzugefügten Regel A ab, der Zustand C ist zur Vervollständigung der Übergangsfunktion nötig (überflüssige Regeln A bc, B ac, B bc, C ac, C bc). Theoretische Informatik I Formale Sprachen 26 Chr. Vogt

15 Der Zusammenhang zwischen linkslinearen Grammatiken und endlichen Automaten (1) Satz: Zu jeder linkslinearen Grammatik G gibt es einen endlichen Automaten A, so dass L(G) = L(A) ist und umgekehrt. Beweis: Wir geben im folgenden ein konstruktives Verfahren an, dass die entsprechende Aussage informell beweist. Das Verfahren zur Konstruktion der Grammatik aus dem endlichen Automaten setzt allerdings voraus, dass der endliche Automat nur einen einzigen Endzustand besitzt, und dass keine Kanten auf den Anfangszustand führen. (Bei der Konstruktion des Automaten aus der Grammatik entsteht automatisch ein solcher Automat.) Deswegen wollen wir zunächst zeigen, dass dies keine Einschränkung ist. Theoretische Informatik I Formale Sprachen 27 Chr. Vogt Eine Normalform für endliche Automaten Lemma: Jeder endliche Automat ist äquivalent zu einem endlichen Automaten mit nur einem Endzustand, und bei dem keine Kanten in den Anfangszustand führen. Beweis: Entfernen der Kanten in den Anfangszustand: Nimm einen weiteren Zustand X hinzu. Alle Kanten, die zuvor in den Anfangszustand führten, werden so verändert, dass sie in den Zustand X führen. Zu jeder vom Anfangszustand ausgehenden Kante wird zusätzlich eine entsprechende von X ausgehende Kante eingefügt. Reduktion auf einen Endzustand: Füge einen neuen Zustand E hinzu und mache ihn zum einzigen Endzustand. Zu jeder Kante, die in einen der vorherigen Endzustände führte, wird zusätzlich eine entsprechende Kante in den Zustand E eingefügt. (Der neue Automat ist also auf jeden Fall nicht-deterministisch). Von E aus gehen alle Kanten in einen Fehler zustand, aus dem es kein Entrinnen gibt. Theoretische Informatik I Formale Sprachen 28 Chr. Vogt

16 Der Zusammenhang zwischen linkslinearen Grammatiken und endlichen Automaten (2) Vorgehensweise: 1. Jedem Nichtterminal entspricht ein Knoten (Zustand), der nicht der Anfangszustand ist, und umgekehrt entspricht jedem Zustand mit Ausnahme des Anfangszustandes ein Nichtterminal. Das Startsymbol S entspricht dem (einzigen) Endzustand. 2. Jeder Regel C Ab entspricht eine Kante vom Knoten A zum Knoten C mit der Bewertung b und umgekehrt. 3. Jeder Regel B a entspricht eine Kante vom Anfangszustand zum Knoten B mit der Bewertung a und umgekehrt. Es führen keine Kanten auf den Anfangszustand. linkslineare Grammatik endlicher Automat T X N Z \ {z 0 } S Z E mit Z E = 1 P f z Theoretische Informatik I Formale Sprachen 29 Chr. Vogt Beispiel Konstruktion einer linkslinearen Grammatik zu einem endlichen Automaten A mit X = { a, b } und der Sprache L(A) = { x x = a n b a, n N 0 }. Zustandsdiagramm a b a A B S b a,b a b F a,b linkslineare Grammatik T = { a, b } = X N = { A, B, S } = Z \ { z 0 } P leitet sich aus f Z ab: A a (A,a) A Aa (A,Aa) A B b (B,b) B Ab (B,Ab) S Ba (S,Ba) Theoretische Informatik I Formale Sprachen 30 Chr. Vogt

17 Reguläre Mengen Notationen: Sei T eine endliche Menge, T* die Menge aller Wörter über T und A, B T* beliebige Teilmengen. A B = AoB = {ab T*; a A, b B} (Produktmenge) A 0 = { }, A 1 = A, A 2 = AoA, A n = AoA n-1 A* = A n (Kleenesche Hülle von A) i 0 Definition: Die Menge Reg der regulären Mengen über einer endlichen Menge T ist wie folgt definiert: 1. Reg 2. { } Reg ( = leeres es Wort) 3. { x } Reg für alle x T 4. Sind P, Q Reg, so sind auch P Q, P o Q und P* Reg. Satz (von Kleene): Die Menge der regulären Sprachen über einer endlichen Menge T ist gleich der Menge der regulären Mengen über T. Theoretische Informatik I Formale Sprachen 31 Chr. Vogt Reguläre Ausdrücke Eine weitere mögliche (und gebräuchliche) Darstellungsweise für reguläre Mengen über einer Menge T sind die regulären Ausdrücke, die wie folgt induktiv definiert sind: ist ein regulärer Ausdruck ist ein regulärer Ausdruck Für jedes a T ist a ein regulärer Ausdruck Wenn und reguläre Ausdrücke sind, so auch, ( ) und ( )* Einem regulären Ausdruck wird wie folgt eine Sprache zugeordnet: L( ) = L( ) = { } ( = leeres Wort) L(a) = {a} L( ) = L( ) L( ) (Vereinigungsmenge) L( ) = L( ) L( ) (Produktmenge) L(( )*) = L( )* (Hülle von L( ) Theoretische Informatik I Formale Sprachen 32 Chr. Vogt

18 Kontextfreie (Typ 2) Sprachen Definition : Eine Grammatik hißt heißt vom Typ 2 oder kontextfrei tf (umgebungsunabhängig), bhä wenn alle Regeln die Form A, (N T)*, haben. Eine Sprache heißt kontextfrei oder vom Typ 2, wenn es eine kontextfreie Grammatik gibt, die diese Sprache erzeugt. Die Einschränkung besagt, dass ein Nichtterminal nicht durch das leere Wort ersetzt werden darf. Der Begriff kontextfrei wird verwendet, da die Regel A immer angewendet werden kann, unabhängig von der Umgebung (dem Kontext) von A. Kommt also A in einem Wort A vor, so gilt immer die Ableitung A, unabhängig von und ( und / oder können auch leer sein). Theoretische Informatik I Formale Sprachen 33 Chr. Vogt Chomsky- und Greibach-Normalform Beim Beweis von Aussagen über kontextfreie Sprachen ist es häufig nützlich, mit einer Grammatik zu arbeiten, deren Regeln spezieller sind als in einer allgemeinen kontextfreien Grammatik. Definition: Eine Grammatik ist in Chomsky-Normalform, wenn alle Regeln die Form A BC oder A a haben. Eine Grammatik ist in Greibach-Normalform, wenn alle Regeln die Form A a B 1 B 2... B k, k > 0 haben. Satz: Sei L eine kontextfreie Sprache. Dann gibt es - eine Grammatik für L in Chomsky-Normalform, - eine Grammatik für L in Greibach-Normalform. Theoretische Informatik I Formale Sprachen 34 Chr. Vogt

19 Eine kontextfreie, nicht reguläre Sprache Wir wissen bereits, dass die Sprache L = { w w = a n b n, n N } über T = {a,b} nicht regulär ist, denn sie ist nicht die Sprache eines endlichen Automaten. Also kann es keine links- oder rechtslineare Grammatik für L geben. Das folgende kontextfreie Regelsystem erzeugt L: P : { (S,ab), (S,aSb) } Ableitungsbäume für diese Grammatik bauen sich von der Mitte her auf, z.b. für das Wort a 3 b 3 : S S S a a a b b b Theoretische Informatik I Formale Sprachen 35 Chr. Vogt Kontextfreie Sprachen und Automaten Die Beziehung zwischen kontextfreien Sprachen bzw. Grammatiken und Automaten, also die Frage, welche Automaten kontextfreie Sprachen erkennen können, behandelt der folgende Satz: Zu jeder kontextfreien Grammatik G gibt es einen nicht-deterministischen Kellerautomaten NDKA, so dass L (G) = L ( NDKA ) ist und umgekehrt. Bemerkung : Wir wissen schon, dass die Klasse der Sprachen von nichtdeterministischen Kellerautomaten echt größer ist als die Klasse der Sprachen von deterministischen Kellerautomaten. Diejenigen kontextfreien Sprachen, die von deterministischen Kellerautomaten akzeptiert werden, werden auch deterministisch kontextfreie Sprachen genannt. Theoretische Informatik I Formale Sprachen 36 Chr. Vogt

20 Lineare Sprachen Definition: Eine Grammatik G = ( T, N, S, P ) heißt linear, wenn alle Regeln die Form A a oder A x B y mit a T und x, y T* haben. Eine Sprache heißt linear, wenn es eine lineare Grammatik für diese Sprache gibt. Beispiel: Die Sprache L = { x x = a m b m, m N } ist linear. Satz: Seien Lin = {linearen Sprachen}, L3 = {regulären Sprachen} und L2 = {kontextfreien Sprachen}. Dann gilt: L3 Lin L2 Theoretische Informatik I Formale Sprachen 37 Chr. Vogt Mehrdeutige Grammatiken Definition: Eine kontextfreie Grammatik G heißt mehrdeutig, wenn es ein Wort x L(G) )g gibt, das mehr als einen Ableitungsbaum hat. Beispiel: T = { a, b }, N = {S}, P = {( S,a), (S,b), (S,SS) }, x = aba S S S S S S S S S S a b a a b a Theoretische Informatik I Formale Sprachen 38 Chr. Vogt

21 Inhärent mehrdeutige Sprachen Definition: Eine Sprache heißt inhärent mehrdeutig, wenn jede sie erzeugende Grammatik mehrdeutig ist. Beispiel: Die Sprache {a i b j c k ; i = j oder j = k} ist inhärent mehrdeutig. Satz : Die Frage, ob eine kontextfreie Sprache eindeutig i oder inhärent mehrdeutig ist, ist nicht entscheidbar. Theoretische Informatik I Formale Sprachen 39 Chr. Vogt Pumping-Lemma für kontextfreie Sprachen Pumping-Lemma für kontextfreie Sprachen: Sei L eine kontextfreie Sprache. Dann gibt es eine Konstante N, so dass sich jedes Wort z L der Länge z > N schreiben lässt als z = uvwxy, vx > 1, vwx < N, und so dass für alle i > 0 auch uv i wx i y L. Beweisidee: Gegeben sei eine Grammatik für die kontextfreie Sprache in Chomsky-Normalform. Für jedes genügend lange Wort muss es im Ableitungsbaum einen Pfad geben, der mehr Knoten hat als es Nichtterminale gibt, so dass ein Nichtterminal mehrfach vorkommen muss, z.b. A. Quelle: Hoffmann, Theoretische Informatik Theoretische Informatik I Formale Sprachen 40 Chr. Vogt

22 Eine nicht kontextfreie Sprache Mit Hilfe des Pumping-Lemmas lässt sich leicht zeigen: Satz: Die Sprache {a n b n c n ; n > 1} über {a,b,c} ist nicht kontextfrei. Die Sprache L = {a n b n c n ; n > 1} wird z.b. erzeugt von der Grammatik mit folgenden Regeln: S asbc, S abc, CB BC, ab ab, bb bb, bc bc, cc cc Dies ist jedoch keine kontextfreie, sondern eine kontextsensitive Grammatik. Theoretische Informatik I Formale Sprachen 41 Chr. Vogt Kontextsensitive (Typ 1) Sprachen Definition: Eine Grammatik heißt kontextsensitiv (umgebungsabhängig) oder vom Typ 1, wenn ihre Regeln alle die Form 1 A 2 1 2, A N, 1, 2, (N T)*, haben. (Dabei dürfen 1 und / oder 2 auch leer sein.) Eine Sprache heißt kontextsensitiv oder vom Typ 1, wenn es eine kontextsensitive Grammatik gibt, die diese Sprache erzeugt. Im Gegensatz zu einer kontextfreien Regel der Form A bedeutet eine kontextsensitive Regel der Form 1 A 2 1 2, dass A nur dann durch ersetzt werden darf, wenn A in dem Kontext steht. Theoretische Informatik I Formale Sprachen 42 Chr. Vogt

23 Monotone Grammatiken Definition: Eine Grammatik heißt monoton, wenn ihre Regeln alle die Form haben mit, (N T)*, <. Bei einer monotonen Grammatik wird irgendein Wort aus Terminalen und/oder Nichtterminalen durch ein anderes solches Wort ersetzt, mit der einzigen Einschränkung, dass dabei das Wort nicht kürzer wird. Offensichtlich ist jede kontextsensitive Grammatik monoton, aber nicht jede monotone Grammatik kontextsensitiv. Es gilt jedoch: Satz : Eine Sprache ist genau dann kontextsensitiv, wenn es eine sie erzeugende monotone Grammatik gibt. Theoretische Informatik I Formale Sprachen 43 Chr. Vogt Kontextsensitive Sprachen und Automaten Satz: Zu jeder kontextsensitiven Grammatik G gibt es einen nicht-deterministischen, linear beschränkten Automaten t LBA, so dass L (G) = L ( LBA ) ist und umgekehrt. LBA-Problem: Es ist unbekannt, bk ob es zu jd jedem nicht-deterministischen, ihd i i i h linear beschränkten Automaten einen deterministischen, linear beschränkten Automaten gibt, der die gleiche Sprache akzeptiert. Theoretische Informatik I Formale Sprachen 44 Chr. Vogt

24 Allgemeine (Typ 0) Sprachen Ausgehend vom Typ 3 unterlagen die Regeln einer Grammatik immer weniger Beschränkungen. Der Typ 0 ist der allgemeine Fall der Chomsky-Grammatiken, in denen die Regeln keinerlei Beschränkungen mehr unterliegen. Definition : Jede Chomsky-Grammatik ist vom Typ 0. Die Regeln der Grammatik,, (N T)* unterliegen keinen Beschränkungen. (Außer, dass T* und nicht leer ist.) Jede Phrasenstruktursprache L(G) ist vom Typ 0. Bei den monotonen Grammatiken die die kontextsensitiven Sprachen erzeugen unterlagen die Regeln noch der Beschränkung <. Theoretische Informatik I Formale Sprachen 45 Chr. Vogt Typ-0-Sprachen und Automaten Satz : Zu jeder Grammatik G vom Typ 0 gibt es eine Turingmaschine TM, so dass L(G) = L(TM) ist und umgekehrt. Jede Grammatikregel lässt sich somit auf einer Turingmaschine ausführen. Umgekehrt kann jede Veränderung der Bandbeschriftung einer Turingmaschine durch eine Grammatikregel beschrieben werden. Theoretische Informatik I Formale Sprachen 46 Chr. Vogt

25 Sprachklassen und Chomsky-Hierarchie CH-0: CS : CF : Reg : Menge der Sprachen, die durch (Chomsky-)Grammatiken (ohne weitere Einschränkung) erzeugt werden können: Allgemeine Sprachen (oder Typ 0). Menge der Sprachen, die durch kontextsensitive (äquivalent: durch monotone) Grammatiken erzeugt werden können: Kontextsensitive Sprachen (oder Typ 1). Menge der Sprachen, die durch kontextfreie Grammatiken erzeugt werden können: Kontextfreie Sprachen (oder Typ 2). Menge der Sprachen, die durch rechtslineare oder linkslineare Grammatiken erzeugt werden können: Reguläre Sprachen (oder Typ 3). Diese Klassen stehen in folgender Beziehung zueinander: Chomsky-Hierarchie: L 3 L 2 L 1 L 0 Theoretische Informatik I Formale Sprachen 47 Chr. Vogt Sprachklassen und Automatenklassen Erweiterte Chomsky-Hierarchie und die verschiedenen Modelle erkennender Automaten : TM Sprachen, die von Turingmaschinen CH - 0 = TM = Auf akzeptiert t werden Auf Menge der aufzählbaren Sprachen Ent Ent Menge der entscheidbaren Sprachen NLBA Menge von Sprachen, die von nicht-determi- CS = NLBA nistischen linear beschränkten Automaten akzeptiert werden CF = NDKA NDKA Sprachen, die von nicht-deterministischen Kellerautomaten akzeptiert werden Lin DKA DKA Sprachen determininistischer Kellerautomaten Lin Lineare Sprachen RL = LL = Reg = EA Reg Reguläre Sprachen EA Sprachen endlicher Automaten Theoretische Informatik I Formale Sprachen 48 Chr. Vogt

26 Erweiterte Chomsky-Hierarchie Chomsky - Hierarchie in mengentheoretischer Darstellung : CH - 0 Ent CS CF Lin Reg DKA Theoretische Informatik I Formale Sprachen 49 Chr. Vogt Abschlusseigenschaften von Sprachen In der Theorie der formalen Sprachen wird auch untersucht, ob die einzelnen Sprachklassen unter bestimmten Operationen abgeschlossen sind. Die Ergebnisse lauten: Schnitt Vereinigung Komplement Produkt Hülle Regulär ja ja ja ja ja Det. kontextfrei nein nein ja nein nein kontextfrei nein ja nein ja ja kontextsensitiv ja ja ja (1987) ja ja Typ 0 ja ja nein ja ja Theoretische Informatik I Formale Sprachen 50 Chr. Vogt

27 Entscheidbarkeitsfragen In der Theorie der formalen Sprachen wird auch untersucht, ob bestimmte Probleme für die einzelnen Sprachklassen entscheidbar sind oder nicht: Wortproblem: Gehört ein bestimmtes t Wort aus T* zur Sprache L(G)? Leerheitsproblem: Ist die von einer Grammatik erzeugte Sprache leer? Schnittproblem: Ist der Durchschnitt der von zwei Grammatiken erzeugten Sprachen leer? Äquivalenzproblem: Sind die von zwei Grammatiken erzeugten Sprachen gleich? Die Ergebnisse lauten: Wort-Pr. Leerheits-Pr. Schnitt-Pr. Äquivalenz-Pr. Regulär ja ja ja ja Det. kontextfrei ja ja nein ja (1997) kontextfrei ja ja nein nein kontextsensitiv ja nein nein nein Typ 0 nein nein nein nein Theoretische Informatik I Formale Sprachen 51 Chr. Vogt Das Wortproblem und seine Komplexität Äußerst praxisrelevant ist die Frage, wie aufwändig es ist festzustellen, ob ein Wort zu einer Sprache gehört. In den meisten Fällen hängt dies auch davon ab, in welcher Form die Sprache beschrieben wird. Die Ergebnisse lauten: Regulär Det. kontextfrei kontextfrei kontextsensitiv Typ 0 Lineare Komplexität, falls deterministischer endlicher Automat gegeben Lineare Komplexität, falls deterministischer Kellerautomat gegeben O(n 3 ), falls Grammatik in Chomsky-Normalform gegeben (CYK-Algor.) Exponentielle Komplexität Das Wortproblem ist nicht entscheidbar Theoretische Informatik I Formale Sprachen 52 Chr. Vogt

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

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

Programmiersprachen und Übersetzer

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

Mehr

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

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

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

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

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

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

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

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

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

Mehr

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

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

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

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

Grundbegriffe der Informatik

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

Mehr

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

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

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

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen.

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen. 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

Mehr

2.11 Kontextfreie Grammatiken und Parsebäume

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

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 8: kontextfreie Grammatiken Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2009/2010 1/37 Überblick Kontextfreie Grammatiken

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

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

Kapitel 2. Methoden zur Beschreibung von Syntax

Kapitel 2. Methoden zur Beschreibung von Syntax 1 Kapitel 2 Methoden zur Beschreibung von Syntax Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt 2 Ziele Zwei Standards zur Definition der Syntax von

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

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

Einführung in die Informatik Grammars & Parsers

Einführung in die Informatik Grammars & Parsers Einführung in die Informatik Grammars & Parsers Grammatiken, Parsen von Texten Wolfram Burgard Cyrill Stachniss 12.1 Einleitung Wir haben in den vorangehenden Kapiteln meistens vollständige Java- Programme

Mehr

Formale Sprachen, reguläre und kontextfreie Grammatiken

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

Mehr

Grammatiken. Einführung

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

Mehr

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

Sprachtheorie. Formale Sprachen und Grammatiken, deren Klassifikation und der Zusammenhang mit Automaten

Sprachtheorie. Formale Sprachen und Grammatiken, deren Klassifikation und der Zusammenhang mit Automaten Sprachtheorie Formale Sprachen und Grammatiken, deren Klassifikation und der Zusammenhang mit Automaten Inhaltsübersicht und Literatur Formale Sprachen Definition Darstellungen: Backus-Naur-Form und Syntaxdiagramme

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

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

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

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

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

Mehr

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

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

Mehr

Informatik I WS 07/08 Tutorium 24

Informatik I WS 07/08 Tutorium 24 Info I Tutorium 24 Informatik I WS 07/08 Tutorium 24 20.12.07 Bastian Molkenthin E-Mail: infotut@sunshine2k.de Web: http://infotut.sunshine2k.de Rückblick Semi-Thue-Systeme Ein Semi-Thue-System besteht

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

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

Grundlagen der Theoretischen Informatik

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

Mehr

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

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

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

Mehr

Syntax von Programmiersprachen

Syntax von Programmiersprachen "Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt Syntax von Programmiersprachen Prof. Dr. Christian Böhm in Zusammenarbeit mit Gefei Zhang WS 07/08

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

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

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

Programmieren I. Formale Sprachen. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Formale Sprachen. www.kit.edu. Institut für Angewandte Informatik Programmieren I Formale Sprachen KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Formale Sprachen: Allgemeines Sprachen werden

Mehr

Aufgabentypen die in der Klausur vorkommen

Aufgabentypen die in der Klausur vorkommen Aufgabentypen die in der Klausur vorkommen können 1. Nennen Sie fünf wichtige Anwendungsgebiete der Computerlinguistik. 2. Für welches der drei Anwendungsgebiete Maschinelle Übersetzung, Rechtschreibkorrektur

Mehr

Grammatiken. Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen

Grammatiken. Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen Grammatiken Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen Grammatiken eignen sich besonders zur Modellierung beliebig tief geschachtelter,

Mehr

Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung

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

Mehr

Theoretische Informatik I

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

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Tutorium 4 26..25 INSTITUT FÜR THEORETISCHE INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Parsing-EinfŸhrung Ð 1

Parsing-EinfŸhrung Ð 1 Parsing-EinfŸhrung bersicht Falsifizierbarkeit, oder: Sind Grammatiken wissenschaftlich? Grammatik, Formalismus Kontextfreie Grammatiken Ableitungen Ziel Verstehen der linguistischen Motivation Intuitives

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

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

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme und Grammatikregeln

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme und Grammatikregeln Stefan Brass: OOP (Java), 3. Syntaxdiagramme und Grammatikregeln 1/32 Objektorientierte Programmierung Kapitel 3: Syntaxdiagramme und Grammatikregeln Stefan Brass Martin-Luther-Universität Halle-Wittenberg

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

Was ist ein Compiler?

Was ist ein Compiler? Was ist ein Compiler? Was ist ein Compiler und worum geht es? Wie ist ein Compiler aufgebaut? Warum beschäftigen wir uns mit Compilerbau? Wie ist die Veranstaltung organisiert? Was interessiert Sie besonders?

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

Compiler. Kapitel. Syntaktische Analyse. Kapitel 4. Folie: 1. Syntaktische Analyse. Autor: Aho et al.

Compiler. Kapitel. Syntaktische Analyse. Kapitel 4. Folie: 1. Syntaktische Analyse. Autor: Aho et al. Folie: 1 Kapitel 4 Übersicht Übersicht Syntax: Definition 4 syn-tax: the way in which words are put together to form phrases, clauses, or sentences. Webster's Dictionary Die Syntax (griechisch σύνταξις

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

Formale Sprachen. Grammatiken. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marion OSWALD. Grammatiken: Ableitung

Formale Sprachen. Grammatiken. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marion OSWALD. Grammatiken: Ableitung Formale Sprachen rammatiken und die Chomsky-Hierarchie Rudolf FREUND, Marion OSWALD rammatiken Das fundamentale Modell zur Beschreibung von formalen Sprachen durch Erzeugungsmechanismen sind rammatiken.

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

Kapitel IV Formale Sprachen und Grammatiken

Kapitel IV Formale Sprachen und Grammatiken Kapitel IV Formale Sprachen und Grammatiken 1. Begriffe und Notationen Sei Σ ein (endliches) Alphabet. Dann Definition 42 1 ist Σ das Monoid über Σ, d.h. die Menge aller endlichen Wörter über Σ; 2 ist

Mehr

Informatik IC2. Balazs Simon 2005.03.26.

Informatik IC2. Balazs Simon 2005.03.26. Informatik IC2 Balazs Simon 2005.03.26. Inhaltsverzeichnis 1 Reguläre Sprachen 3 1.1 Reguläre Sprachen und endliche Automaten...................... 3 1.2 Determinisieren.....................................

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

Ü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

16. Die Chomsky-Hierarchie

16. Die Chomsky-Hierarchie 16. Die Chomsky-Hierarchie Die Chomsky-Sprachen sind gerade die rekursiv aufzählbaren Sprachen: CH = RA Da es nicht rekursive (d.h. unentscheidbare) r.a. Sprachen gibt, ist das Wortproblem für Chomsky-Grammatiken,

Mehr

Chomsky-Grammatiken 16. Chomsky-Grammatiken

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

Mehr

Theorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie

Theorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie Theorie der Informatik 17. März 2014 6. Formale Sprachen und Grammatiken Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 6.1 Einführung

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

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Woche 7 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Zusammenfassung Zusammenfassung der letzten LV 1 Wir betrachten die folgende Signatur

Mehr

TEIL III: FORMALE SPRACHEN

TEIL III: FORMALE SPRACHEN EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester 2011 TEIL III: FORMALE SPRACHEN 16. TERMERSETZUNGSSYSTEME UND CHOMSKY-GRAMMATIKEN Theoretische Informatik (SoSe 2011)

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

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Tutorium 27 29..24 FAKULTÄT FÜR INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Definition

Mehr

Grundlagen der Theoretischen Informatik

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

Mehr

Syntax (= Satzgefüge), vgl. auch Grammatik

Syntax (= Satzgefüge), vgl. auch Grammatik 1 Natürliche Sprachen Natürliche Sprachen bezeichnen wie das Wort "Sprache" ausdrückt zunächst das Gesprochene. Das Schweizerdeutsch etwa ist eine typische natürliche Sprache. Mit der Erfindung der Aufzeichnung

Mehr

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

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

Mehr

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

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

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

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.11.2005 5. Vorlesung 1 Überblick: Kontextfreie Sprachen Formale Grammatik Einführung, Beispiele Formale

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

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

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

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

Zusammenfassung. Beispiel. 1 Wir betrachten die folgende Signatur F = {,, +, 0, 1} sodass. 3 Wir betrachten die Identitäten E. 4 Dann gilt E 1 + x = 1 Zusammenfassung Zusammenfassung der letzten LVA Einführung in die Theoretische Informatik Christina Kohl Alexander Maringele eorg Moser Michael Schaper Institut für Informatik @ UIBK Wintersemester 2016

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

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

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

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

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

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

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

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

Mehr

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

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

Mehr

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de Grundlagen Theoretischer Informatik I SoSe 2011 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Grundlagen Theoretischer Informatik I Gesamtübersicht Organisatorisches; Einführung Logik

Mehr