Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Größe: px
Ab Seite anzeigen:

Download "Theoretische Informatik für Wirtschaftsinformatik und Lehramt"

Transkript

1 Theoretische Informatik für Wirtschaftsinformatik und Lehramt Reguläre Sprachen Priv.-Doz. Dr. Stefan Milius Theoretische Informatik Friedrich-Alexander Universität Erlangen-Nürnberg SS / 82

2 Gliederung 1 Lernziele 2 Grammatiken 3 Reguläre Sprachen 4 Deterministische endliche Automaten 5 Nichtdeterministische endliche Automaten 6 Reguläre Ausdrücke 7 Zusammenfassung 2 / 82

3 Worum geht es in diesem Abschnitt? (I) Erste Formalismen zur endlichen algorithmischen Beschreibung von formalen Sprachen (= Lösung der entsprechenden Entscheidungsprobleme): Automaten und Grammatiken Praktische Anwendungen: Compilerbau: lexikalische Analyse, Parsing, Textprocessing Automatische Systemanalyse: z.b. formale Verifikation von nicht-trivialen Eigenschaften (Modelchecking) Chomsky-Hierarchie: Hierarchie von Klassen von formalen Sprachen und Grammatiken (und Maschinenmodellen) (setzt die verschiedenen Sprachklassen in Beziehung zueinander) 3 / 82

4 Lernziele Grammatiken Reguläre Sprachen DFA NFA Reguläre Ausdrücke Zusammenfassung Noam Chomsky Amerikanischer Linguist, Philosoph, Logiker, Historiker und politischer Aktivist Vater der modernen Linguistik Analytische Philosophie Über 100 Bücher Bekannte Entdeckungen: Chomsky-Hierarchie Chomsky-Schützenberger Satz Noam Chomsky (1928 ) Quelle: Wikipedia Einfluss auf: künstliche Intelligenz, Kognitionswissenschaft, Mathematik, Logik, Informatik, Programmiersprachentheorie, Psychologie und Politikwissenschaft. 4 / 82

5 Worum geht es in diesem Abschnitt? (II) Jetzt als Erstes: Reguläre Sprachen besonders einfach z.b. Suche nach regulären Ausdrücken in Texten Mechanismen zur Erzeugung/Beschreibung regulärer Sprachen: reguläre Grammatiken reguläre Ausdrücke deterministische und nichtdeterministische endliche Automaten 5 / 82

6 Lernziele wissen, wie eine reguläre Sprache erzeugt und akzeptiert werden kann die Chomsky-Hierarchie kennen und Eigenschaften der ihr zugeordneten Grammatik-Typen benennen können 6 / 82

7 Grammatiken 7 / 82

8 Zur Erinnerung: Formale Sprachen Definition Sei Σ ein Alphabet. (d.h. eine nicht leere, endliche Menge) Eine (formale) Sprache L über Σ ist eine beliebige Teilmenge von Σ (= Menge aller Wörter über Σ): L Σ. Die leere Teilmenge heißt leere Sprache. Zu jeder Sprache L über Σ gehört das Entscheidungsproblem: Eingabe: w Σ Aufgabe: entscheide, ob w L gilt. 8 / 82

9 Formale Sprachen Beispiel Σ = {(, ), +,,, /, a} Sprache der korrekt geklammerten arithmetischen Ausdrücke: EXPR Σ (a a) a + a/(a + a) a EXPR (((a))) EXPR ((a+) a( / EXPR (a Platzhalter für beliebige Konstanten oder Variablen) 9 / 82

10 Grammatiken (I) Sprachen enthalten im Allgemeinen unendlich viele Wörter algorithmischer Umgang mit Sprachen erfordert endliche Beschreibung dazu dienen Grammatiken und Automaten Beispiel für Grammatik Satz Subjekt Prädikat Objekt Subjekt Artikel Attribut Substantiv Artikel ε Artikel der Artikel die Artikel das Attribut ε Attribut Adjektiv Attribut Adjektiv Attribut 10 / 82

11 Grammatiken (II) Beispiel für Grammatik (Fortsetzung) Adjektiv kleine Adjektiv bissige Adjektiv große Substantiv Hund Substantiv Katze Prädikat jagt Objekt Artikel Attribut Substantiv in spitzen Klammern : Nicht-Terminale (oder Variable) ohne spitze Klammern: Terminale Frage: Gehört der Satz der kleine bissige Hund jagt die große Katze zu der Sprache, die von der Grammatik erzeugt wird? 11 / 82

12 Syntaxbaum Elternknoten mit linker Seite einer Regel beschriftet Kinder sind Objekte auf der rechten Seite der Regeln mit dieser Grammatik ist unendliche Sprache darstellbar, z.b. der Hund jagt die } kleine kleine {{ kleine} Katze beliebige endliche Anzahl 12 / 82

13 Grammatiken (III) Grammatiken besitzen Regeln der Form linke Seite rechte Seite Links und rechts zwei Typen von Symbolen: Nicht-Terminale (oder Variablen) aus denen noch weitere Wortbestandteile abgeleitet werden sollen Terminale die eigentlichen Symbole Vorheriges Beispiel: Auf der linken Seite befindet sich immer genau ein Nicht-Terminal (sog. kontextfreie Grammatik). Es gibt aber allgemeinere Grammatiken. 13 / 82

14 Definition einer Grammatik Definition Eine Grammatik ist ein 4-Tupel G = (V, Σ, P, S) mit V endliche Menge der Nicht-Terminale (oder Variablen) Σ Alphabet der Terminale P endliche Menge der Regeln (oder Produktionen): P (V Σ) + (V Σ) S V Startvariable. 14 / 82

15 Schreibweisen Variablen (Elemente aus V ) mit Großbuchstaben: A, B, C,... Terminalsymbole (Elemente aus Σ) oft mit Kleinbuchstaben: a, b, c,... Wörter (Elemente aus Σ ) mit Kleinbuchstaben um w herum :..., u, v, w,... Regeln mit einem Pfeil : u v statt (u, v) P. (d.h. (V Σ) + (V Σ) Relation) 15 / 82

16 Beispiel einer Grammatik Beispiel G = (V, Σ, P, S) mit V = {S, B, C}, Σ = {a, b, c} und P besteht aus: S asbc S abc CB BC ab ab bb bb bc bc cc cc Frage: Wie beschreiben Grammatiken Wörter formaler Sprachen? 16 / 82

17 Ableitungen (I) Definition Seien u, v (V Σ). Definiere die Relation u G v ( G (V Σ) (V Σ )) ( v aus u mit G direkt ableitbar ) falls u = xyz und v = xy z mit x, y (V Σ) und y y Regel in P. G sei die reflexive, transitive Hülle von G, d.h.: u G v falls es w 0, w 1, w 2,..., w n (n N) gibt mit u = w 0 G w 1 G w 2 G G w n = v ( v aus u mit G ableitbar ) (in n = 0, 1, 2,... Schritten) Die Folge w 0, w 1,..., w n heißt Ableitung (von v aus u). Wir schreiben meist: bzw. statt G und G. 17 / 82

18 Ableitungen (II) Beispiel Für G = (V, Σ, P, S) mit V = {S, B, C}, Σ = {a, b, c} und P: S asbc S abc CB BC ab ab bb bb bc bc cc cc Es gilt: S aaabbbccc, denn S asbc aasbcbc aaabcbcbc aaabbccbc aaabbcbcc aaabbbccc aaabbbccc aaabbbccc aaabbbccc aaabbbccc aaabbbccc aaabbbccc Es gilt auch: asbc aaabbbccc. 18 / 82

19 Erzeugte Sprache einer Grammatik (I) Definition Sei G = (V, Σ, P, S) eine Grammatik. G erzeugt ein Wort w Σ, falls S w gilt. Die von G erzeugte Sprache ist L(G) = {w Σ S w}. (genau alle von G erzeugten Wörter über Σ) 19 / 82

20 Erzeugte Sprache einer Grammatik (II) Beispiel G = (V, Σ, P, S) mit V = {S, B, C}, Σ = {a, b, c} und P: S asbc S abc CB BC ab ab bb bb bc bc cc cc (Ohne Beweis) G erzeugt die Sprache: L(G) = {a n b n c n n 1}. 20 / 82

21 Ableiten und Nichtdeterminismus (I) Bemerkung: Ableiten ist ein nichtdeterministischer Prozess. Für ein Wort u (V Σ) kann es entweder gar kein, ein oder mehrere v geben mit u v. Mit anderen Worten: ist keine Funktion. Dieser Nichtdeterminismus kann durch zwei verschiedene Effekte verursacht werden / 82

22 Ableiten und Nichtdeterminismus (II) Zwei verschiedene Regeln sind anwendbar: In der Beispiel-Ableitung: Eine Regel ist an zwei verschiedenen Stellen anwendbar: In der Beispiel-Ableitung: 22 / 82

23 Weitere Bemerkungen zum Ableiten Es kann beliebig lange Pfade geben, die nie zu einem Wort aus Terminalsymbolen führen: S asbc aasbcbc aaasbcbcbc Pfade können in einer Sackgasse enden, d.h. obwohl noch Variablen vorkommen, ist keine Regel mehr anwendbar: S asbc aabcbc aabcbc aabcbc 23 / 82

24 Die Chomsky-Hierarchie (I) Allgemeine Grammatiken (und auch später Turing-Maschinen) erzeugen genau die sogenannten semi-entscheidbare Sprachen. Entscheidbare Sprachen nur dann, wenn die Erzeugungs- Mächtigkeit der Grammatiken eingeschränkt wird. Im Folgenden: bestimmte eingeschränkte Typen von Grammatiken: 24 / 82

25 Die Chomsky-Hierarchie (II) Definition (Typ 0-, Typ 1-, Typ 2-, Typ 3-Grammatiken) Typ 0: Jede Grammatik ist vom Typ 0. (keine Einschränkungen der Regelform) Typ 1: Eine Grammatik ist vom Typ 1 oder kontextsensitiv, falls alle Regeln in P von einer der folgenden Formen sind: S ε oder uav uwv mit A V, u, v (Σ V ) und w (Σ V ) +. Typ 2: Eine Grammatik ist vom Typ 2 oder kontextfrei, falls alle Regeln in P in der folgenden Form sind: A w mit A V, w (Σ V ). 25 / 82

26 Die Chomsky-Hierarchie (III) Definition (Typ 0-, Typ 1-, Typ 2-, Typ 3-Grammatiken) Typ 3: Eine Grammatik ist vom Typ 3 oder regulär, falls alle Regeln in P in der folgenden Form sind: A ε, A a oder A ab mit A, B V, a Σ. (d.h. rechte Seiten entweder leer oder einzelne Terminalzeichen oder ein Terminalzeichen gefolgt von einer einzelnen Variablen.) Woher kommen die Namen kontextfrei und kontextsensitiv? Bei kontextfreien Grammatiken: Regeln der Form A w: In Ableitungen uav uwv wird A immer unabhängig vom Kontext ersetzt. Bei kontextsensitiven Grammatiken ist uav uwv möglich: A kann nur in Kontexten mit u und v durch w ersetzt werden. 26 / 82

27 Die Chomsky-Hierarchie (IV) Schreibweise: Statt A w 1, A w 2,..., A w n (d.h. gleiche linke Seite) schreibe: A w 1 w 2 w n. Beispiele Typ 2- bzw. kontextfreie Grammatik S acb C C c Cc Typ 3- bzw. reguläre Grammatik S as au U bb b 27 / 82

28 Die Chomsky-Hierarchie (V) Definition (Typ 0-, Typ 1-, Typ 2-, Typ 3-Sprachen) Eine Sprache L Σ heißt vom Typ 0 (Typ 1, Typ 2, Typ 3), falls es eine Typ 0- (Typ 1-, Typ 2-, Typ 3-) Grammatik G gibt mit L(G) = L. Typ-2-Sprachen heißen auch kontextfrei. Typ-3-Sprachen heißen auch regulär. 28 / 82

29 Die Chomsky-Hierarchie (VI) Typ 1-Grammatiken sind vom Typ 0 Typ 2-Grammatiken sind vom Typ 1 (können leicht umgewandelt werden) Typ 3-Grammatiken sind vom Typ 2 = Sprachklassen ineinander enthalten Außerdem: die Inklusionen sind echt. (z.b. gibt es kontextfreie Sprachen, die nicht regulär sind) 29 / 82

30 Reguläre Sprachen 30 / 82

31 Reguläre Grammatiken (I) Definition (Erinnerung) Eine Grammatik G = (V, Σ, P, S) heißt regulär, wenn jede Regel in P von einer der folgenden Formen ist: A ε, A a oder A ab (rechtslineare Regel) mit A, B V und a Σ. Beispiel einer regulären Grammatik Grammatik G 3a mit V = {A, B, C}, Σ = {a, b}, S = A und Regeln A ab ba ε, B ac bb, C aa bc 31 / 82

32 Reguläre Grammatiken (II) Beispiel einer Ableitung Regeln: A ab ba ε, B ac bb, C aa bc Ableitung: A ba bab baac baabc baabaa baaba 32 / 82

33 Reguläre Sprachen (I) Sei nun L 3a = {w {a, b} w a ist durch 3 teilbar}. Behauptung: L 3a ist eine reguläre Sprache, denn es gilt L 3a = L(G 3a ). Beweis: Für alle w {a, b} gilt: a) A w w a ist durch 3 teilbar. b) B w w a + 1 ist durch 3 teilbar. c) C w w a + 2 ist durch 3 teilbar. Aus a) folgt dann L 3a = L(G 3a ). 33 / 82

34 Reguläre Sprachen (II) Beweis durch Induktion über den Aufbau von w: (wir schreiben: t 3 (x) für x ist durch 3 teilbar ): 1.) w = ε: es gilt t 3 ( w a ) und A w, nicht B w und nicht C w. Daher gelten a), b) und c). 2) w ε: dann ist w = aw oder w = bw (w Σ ). 1. Fall: w = aw. Dann gilt (mit Anwendung der Induktionsvoraussetzung auf w ): (A w) (B w ) t 3 ( w a + 1) t 3 ( w a ), (B w) (C w ) t 3 ( w a + 2) t 3 ( w a + 1), (C w) (A w ) t 3 ( w a ) t 3 ( w a + 2). 34 / 82

35 Reguläre Sprachen (III) Beweis durch Induktion über den Aufbau von w (Fortsetzung): 2) w ε (Fortsetzung): 2. Fall: w = bw. Dann gilt (mit Anwendung der Induktionsvoraussetzung auf w ): (A w) (A w ) t 3 ( w a ) t 3 ( w a ), (B w) (B w ) t 3 ( w a + 1) t 3 ( w a + 1), (C w) (C w ) t 3 ( w a +2) t 3 ( w a +2). In jedem Fall gelten also a), b) und c) für w. 35 / 82

36 Deterministische endliche Automaten (DFA) 36 / 82

37 Deterministische endliche Automaten (I) Bisher: Grammatiken erzeugen Wörter formaler Sprachen aus nichts. Jetzt: Verarbeitung von Wörtern durch abstrakte Maschinen: endliche Automaten verarbeiten (akzeptieren) eingegebene Wörter 37 / 82

38 Deterministische endliche Automaten (II) Arbeitsweise eines endlichen Automaten M: liest die Eingabe von links nach rechts Symbole der Eingabe werden nicht verändert für jedes gelesene Symbol ändert M seinen internen Zustand Zustände zeigen an, ob (bis jetzt) gelesenes Wort akzeptiert/nicht akzeptiert wird 38 / 82

39 Deterministische endliche Automaten (III) Graphische Notation: Beispiel: (Σ = {a, b}) 39 / 82

40 Deterministische endliche Automaten (IV) Definition Ein deterministischer endlicher Automat (deterministic finite automaton, DFA) ist ein 5-Tupel M = (Z, Σ, δ, z 0, E) eine endliche Menge Z von Zuständen, ein Eingabealphabet Σ, gegeben durch eine totale Überführungsfunktion δ : Z Σ Z, einen Startzustand z 0 Z, eine Menge E Z von Finalzuständen (auch Endzustände oder akzeptierende Zustände). Warum deterministisch? Weil für jeden Zustand und jedes Eingabesymbol genau ein Folgezustand existiert. 40 / 82

41 Ablauf eines DFA (I) Beispiel 41 / 82

42 Ablauf eines DFA (II) Beispiel (Fortsetzung) 42 / 82

43 Mehr-Schritt-Übergänge eines DFA (I) Arbeitsweise und akzeptierte Wörter/Sprache eines DFA soll jetzt formalisiert werden. Dazu: Erweiterung der Übergangsfunktion δ : Z Σ Z auf Wörter: ˆδ : Z Σ Z, Definition (Mehr-Schritt-Übergänge) Zu einem gegebenen DFA M = (Z, Σ, δ, z 0, E) definieren wir eine Funktion ˆδ : Z Σ Z induktiv: ˆδ(z, ε) = z, ˆδ(z, aw) = ˆδ(δ(z, a), w) (z Z, a Σ, w Σ ). 43 / 82

44 Mehr-Schritt-Übergänge eines DFA (II) ˆδ(z, w) ist der Zustand, den der Automat erreicht, nachdem er w abgearbeitet hat. Für ˆδ gilt offenbar: a) a Σ ˆδ(z, a) = δ(z, a) b) a 1,..., a n Σ ˆδ(z, a 1 a n ) = δ( δ(δ(z, a 1 ), a 2 ),..., a n ) c) u, v Σ ˆδ(z, uv) = ˆδ(ˆδ(z, u), v) 44 / 82

45 Akzeptierte Sprache eines DFA (I) Definition Sei M = (Z, Σ, δ, z 0, E) ein DFA. M akzeptiert ein Wort w Σ, falls ˆδ(z 0, w) E gilt. Die von M akzeptierte Sprache ist L(M) = {w Σ M akzeptiert w}. Von M akzeptierte Sprache: Menge aller Wörter, die M vom Startzustand in einen Endzustand überführen. 45 / 82

46 Akzeptierte Sprache eines DFA (II) Beispiel 1 Sei Σ = {a, b, c}. DFA, der die folgende Sprache L akzeptiert: L = {w Σ w enthält abc} 46 / 82

47 Akzeptierte Sprache eines DFA (III) Beispiel 2 M 3a = ({z 0, z 1, z 2 }, {a, b}, δ, z 0, {z 0 }) mit δ(z 0, a) = z 1, δ(z 1, a) = z 2, δ(z 2, a) = z 0, δ(z 0, b) = z 0, δ(z 1, b) = z 1, δ(z 2, b) = z 2. Zustandsübergangsgraph 47 / 82

48 Akzeptierte Sprache eines DFA (IV) Beispiel 2 (Fortsetzung) Dann gilt z.b. ˆδ(z 0, ε) = z 0 {z 0 } ˆδ(z 0, abaa) = ˆδ(δ(z 0, a), baa) = ˆδ(z 1, baa) = ˆδ(δ(z 1, b), aa) = ˆδ(z 1, aa) = ˆδ(δ(z 1, a), a) = ˆδ(z 2, a) = ˆδ(δ(z 2, a), ε) = ˆδ(z 0, ε) = z 0 {z 0 } 48 / 82

49 Akzeptierte Sprache eines DFA (V) Beispiel 2 (Fortsetzung) ˆδ(z 0, bba) = ˆδ(z 0, ba) = ˆδ(z 0, a) = z 1 {z 0 } Also: ε L(M 3a ), abaa L(M 3a ), bba L(M 3a ). 49 / 82

50 Akzeptierte Sprache eines DFA (VI) Beispiel 3 DFA, der die folgende Sprache akzeptiert (mit Σ = {a, b}): L b = {w Σ w = bw mit w Σ } Zustandsgraph: Beachte: z 2 ( Fehler- ) Zustand, von dem aus kein akzeptierender Zustand mehr erreichbar ist. 50 / 82

51 Zusammenhang DFA und reguläre Grammatik (I) Konstruktion: DFA reguläre Grammatik Sei M = (Z, Σ, δ, z 0, E) ein DFA. Konstruiere Grammatik G M = (Z, Σ, P, z 0 ) mit Regeln: P : z az für alle z, z Z, a Σ mit δ(z, a) = z, z ε für alle z E. G M ist offenbar regulär. Anschaulich: Zustandsbezeichner z i von M Variablensymbole in G M Zustandsübergänge Regeln 51 / 82

52 Zusammenhang DFA und reguläre Grammatik (II) Beispiel Für den DFA M 3a = ({z 0, z 1, z 2 }, {a, b}, δ, z 0, {z 0 }) mit δ(z 0, a) = z 1 δ(z 0, b) = z 0 δ(z 1, a) = z 2 δ(z 1, b) = z 1 δ(z 2, a) = z 0 δ(z 2, b) = z 2 ist G M3a = ({z 0, z 1, z 2 }, {a, b}, P, z 0 ) mit z 0 az 1 z 0 bz 0 z 1 az 2 z 1 bz 1 z 2 az 0 z 2 bz 2 z 0 ε Beobachtung: G M3a ist die ursprüngliche Grammatik G 3a für L 3a (bis auf Bezeichnung der Variablen (hier: z i )). Es gilt also: L(G M3a ) = L 3a = L(M 3a ). 52 / 82

53 Zusammenhang DFA und reguläre Grammatik (III) Allgemein gilt: Satz 2.1 Für jeden DFA M ist L(G M ) = L(M). Direkt aus diesem Satz folgt insbesondere: Satz 2.2 Jede von einem DFA akzeptierte Sprache ist regulär. 53 / 82

54 Nichtdeterministische endliche Automaten (NFA) 54 / 82

55 Idee nichtdeterministischer endlicher Automaten (I) Nichtdeterminismus: erlaube, dass ein Zustand für ein Eingabesymbol mehrere oder keine Folgezustände hat. Ziel: Vereinfachung/Unterspezifizierung. Führt zu kleineren oder besser verständlichen Automaten. 55 / 82

56 Idee nichtdeterministischer endlicher Automaten (II) Nichtdeterministische Automaten: Zu jedem Paar (z, a) mit z Zustand, a Eingabesymbol gibt es entweder keinen, einen oder mehrere Nachfolgezustände. Nichtdeterministischer Automat wählt aus den möglichen Nachfolgerzuständen immer (nichtdeterministisch) einen aus. akzeptiert ein Wort, falls es bei richtiger Auswahl vom Startzustand in einen Endzustand führt. 56 / 82

57 Nichtdeterministische endliche Automaten Definition Ein nichtdeterministischer endlicher Automat (nondeterministic finite automaton, NFA) ist ein 5-Tupel M = (Z, Σ, δ, z 0, E) Z, Σ, z 0, E wie bei DFA, gegeben durch: eine totale Überführungsfunktion δ : Z Σ (Z). (Z) ist die Potenzmenge der Menge der Zustände: δ bildet jedes Paar (z, a) Z Σ auf eine Teilmenge von Z ab. (die möglichen Folgezustände von z bei Eingabe von a) Alternativ: (und equivalent) δ (Z Σ) Z Relation 57 / 82

58 Ablauf eines NFA (I) Beispiel 58 / 82

59 Ablauf eines NFA (II) Beispiel (Fortsetzung) 59 / 82

60 Mehr-Schritt-Übergänge eines NFA (I) Erweiterung von δ auf ganze Wörter w Σ : Informell: für Zustandsmenge Z Z ist ˆδ(Z, w) die Menge aller Zustände, die von Z aus durch Abarbeitung von w erreicht werden können. Definition (Mehr-Schritt-Übergänge) Zu einem gegebenen NFA M = (Z, Σ, δ, z 0, E) definieren wir eine Funktion ˆδ : (Z) Σ (Z) induktiv wie folgt: ˆδ(Z, ε) = Z für Z (Z), ˆδ(Z, aw) = mit Z Z, w Σ und a Σ. z Z ˆδ(δ(z, a), w) für Z (Z), a Σ, w Σ. 60 / 82

61 Akzeptierte Sprache eines NFA (I) Definition Sei M = (Z, Σ, δ, z 0, E) ein NFA. M akzeptiert ein Wort w Σ, falls ˆδ({z 0 }, w) E gilt. Die von M akzeptierte Sprache ist: L(M) = {w Σ M akzeptiert w}. Von M akzeptierte Sprache: Menge aller Wörter, die M vom Startzustand in einen Endzustand überführen. (Es kann für ein Wort mehrere Überführungspfade geben.) Bemerkung: Jeder DFA ist ein (spezieller) NFA. Die graphische Darstellung von NFA ist analog zu der von DFA. 61 / 82

62 Akzeptierte Sprache eines NFA (II) Beispiel Der NFA M aba sei gegeben durch Es ist z. B. baabab L(M aba ), denn: ˆδ({z 0 }, baabab) = ˆδ({z 0 }, aabab) = ˆδ({z 0, z 1 }, abab) = ˆδ({z 0, z 1 }, bab) = ˆδ({z 0, z 2 }, ab) = ˆδ({z 0, z 1, z 3 }, b) 62 / 82

63 Akzeptierte Sprache eines NFA (III) Beispiel (Fortsetzung) ˆδ({z 0 }, baabab) = = ˆδ({z 0, z 2, z 3 }, ε) = {z 0, z 2, z 3 } und {z 0, z 2, z 3 } E. Allgemeiner gilt (ohne Beweis): L(M aba ) = {w {a, b} aba ist Teilwort von w}. 63 / 82

64 Zusammenhang NFA und reguläre Grammatik (I) Zuvor: Konstruktion DFA reguläre Grammatik Jetzt: Umkehrung der Konstruktion liefert: reguläre Grammatik NFA 64 / 82

65 Zusammenhang NFA und reguläre Grammatik (II) Konstruktion: Sei G = (V, Σ, P, S) eine reguläre Grammatik. Der NFA M G ist gegeben durch M G = (V, Σ, δ, S, E) mit Zustände von M G : V {X} mit X V, V = V Zustandsübergänge von M G : falls P eine Regel der Form A a enthält sonst, B δ(a, a) für Regel A ab in P (für B V ), X δ(a, a) für Regel A a in P, Endzustände von M G : { {A V P enthält A ε} {X}, falls X V E = {A V P enthält A ε} sonst. 65 / 82

66 Zusammenhang NFA und reguläre Grammatik (III) Beispiel Sei G = ({A, B, S}, {a, b}, P, S) mit den Regeln M G ist dann der NFA S aa ab ε, A bs b, B as a. 66 / 82

67 Zusammenhang NFA und reguläre Grammatik (IV) Allgemein gilt: Satz 2.3 Für jede reguläre Grammatik G ist L(M G ) = L(G). Daraus folgt insbesondere: Satz 2.4 Zu jeder regulären Sprache L gibt es einen NFA M mit L(M) = L. Wir haben nun folgende Konstruktionen beschrieben: DFA reguläre Grammatik NFA 67 / 82

68 Zusammenhang NFA und DFA (I) Jetzt: Konstruktion NFA N DFA M N Idee des Verfahrens: (potenzielle) Zustände von M N : jede Teilmenge der Zustandsmenge des NFA N konstruiere die Übergänge eliminiere alle nicht erforderlichen Zustände des DFA M N : nicht erreichbare Teilmengen / Zustände von M N Beachte: Falls N n Zustände hat, hat M N im schlimmsten Fall 2 n Zustände. 68 / 82

69 Zusammenhang NFA und DFA (II) Potenzmenge-Konstruktion: Es sei N = (Z, Σ, δ, z 0, E) NFA. Dann ist M N = ( (Z), Σ, δ, {z 0 }, E ) mit δ (Z, a) = δ(z, a) für alle Z (Z), z Z betrachte alle in Z enthaltenen Zustände z, untersuche welche Zustände N auf Eingabe a von z aus erreicht nimm die Vereinigung aller dieser Zustände. E = {Z (Z) Z E } Menge der Endzustände von M N : alle Teilmengen von Z, die mindestens einen Endzustand aus E enthalten. 69 / 82

70 Zusammenhang NFA und DFA (III) Beispiel q 1 s 1 0,1 0 r 0 t 0,1 δ q r s t {q 0 } {q 0, q 1 } {q 1 } 0 {q 0, q 1 } {q 0, q 1 } 1 {q 1 } {q 0, q 1 } {q 0, q 1 } final? nein ja ja nein 70 / 82

71 Zusammenhang NFA und DFA (IV) Es gelten: Satz 2.5 Für jeden NFA N ist L(M N ) = L(N). Satz 2.6 Zu jedem NFA M gibt es einen DFA M mit L(M ) = L(M). 71 / 82

72 Reguläre Grammatiken, DFA und NFA (I) Bisher: drei Formalismen für reguläre Sprachen: reguläre Grammatiken, DFA und NFA. Vor- und Nachteile der Formalismen: Reguläre Grammatiken schaffen Verbindung zur Chomsky-Hierarchie werden zur Erzeugung von Sprachen eingesetzt nichtdeterministisch schwieriger zu entscheiden, ob ein bestimmtes Wort erzeugt wird NFA erlauben oft kleine, kompakte Darstellungen von Sprachen haben intuitive, graphische Notation nichtdeterministisch schwieriger zu entscheiden, ob ein bestimmtes Wort akzeptiert wird 72 / 82

73 Reguläre Grammatiken, DFA und NFA (II) DFA können gegenüber äquivalenten NFA exponentiell größer werden erlauben eine effiziente Lösung des Wortproblems (einfach Übergänge des Automaten durchführen und überprüfen, ob ein Endzustand erreicht wird) Alle Modelle: relativ viel Schreibaufwand und Platz für die Notation. Gesucht: kompaktere syntaktische Repräsentation reguläre Ausdrücke. 73 / 82

74 Reguläre Ausdrücke 74 / 82

75 Syntax regulärer Ausdrücke Definition (induktiv) Menge Reg Σ der regulären Ausdrücke über Σ (für ein gegebenes Alphabet Σ): 1 Reg Σ, ε Reg Σ und a Reg Σ für alle a Σ. 2 Falls r, s Reg Σ, dann (r s), (r + s), r Reg Σ. Bemerkungen: Beispiele Schreibe: (r s) statt (r + s) und (rs) statt (r s) Anschaulich: (r s) bzw. (r + s) bedeutet Alternative, (r s) bzw. (rs) bedeutet Verkettung und ( ) bedeutet beliebig oft. (ab ba) (ab ba) (ab ba)c (a b c) abc(a b c) 75 / 82

76 Durch regulärer Ausdrücke beschriebene Sprache (I) Nach Syntax jetzt Semantik regulärer Ausdrücke. (d.h. Bedeutung: welche Sprache beschreibt ein regulärer Ausdruck?) Definition Für r Reg Σ ist die durch r beschriebene Sprache L(r) rekursiv definiert wie folgt: 1 L( ) =, L(ε) = {ε}, L(a) = {a} für a Σ. 2 L(r s) = L(r) L(s), L(r + s) = L(r) L(s), L(r ) = L(r). 76 / 82

77 Durch regulärer Ausdrücke beschriebene Sprache (II) Beispiele für reguläre Ausdrücke über dem Alphabet Σ = {a, b} Beispiel 1: Sprache aller Wörter, die mit a beginnen und mit bb enden. α = a(a b) bb Beispiel 2: Sprache aller Wörter, die das Teilwort aba enthalten. α = (a b) aba(a b) Beispiel 3: Sprache aller Wörter, die eine gerade Anzahl des Zeichens a enthalten. α = (b ab a) b 77 / 82

78 Durch regulärer Ausdrücke beschriebene Sprache (III) Konventionen: (zur Klammereinsparung) Bindungsregel: vor +. r s t statt (r s) t oder r (s t) (da ) assoziativ) analog für + bzw.. Beispiele Sei Σ = {a, b}. Dann gilt: L(a b) = Σ L((a b) ) = Σ L((ab) a) = {(ab) n a Σ n N} L(a(a b) b b) = {w Σ w = aw b mit w Σ oder w = b} 78 / 82

79 Reguläre Sprache und regulärer Ausdruck Satz 2.7 (Satz von Kleene) Sei Σ ein Alphabet. Eine Sprache L über Σ ist genau dann regulär, wenn es einen regulären Ausdruck r Reg Σ gibt mit L(r) = L. Bemerkung: der Beweis liefert zwei Konstruktionen: DFA regulärer Ausdruck DFA 79 / 82

80 Stephen Cole Kleene Amerikanischer Mathematiker einer der Begründer der Rekursionstheorie wichtige Beiträge zur Theoretischen Informatik Theorie der berechenbaren Funktionen Bekannte Entdeckungen: Erfinder der regulären Ausdrücke Kleene scher Fixpunktsatz Kleene scher Rekursionssatz Stephen Cole Kleene ( ) Quelle: Außerdem nach Kleene benannt: Kleene Stern, Kleene Algebra, Kleene Hierarchie 80 / 82

81 Zusammenhang reguläre Grammatik, DFA, NFA, regulärer Ausdruck Satz 2.8 Sei L eine Sprache. Die folgenden Aussagen sind äquivalent: a) L wird von einer regulären Grammatik erzeugt (d.h. L ist regulär). b) L wird von einem DFA akzeptiert. c) L wird von einem NFA akzeptiert. d) L wird durch einen regulären Ausdruck beschrieben. 81 / 82

82 Zusammenfassung 1 Lernziele 2 Grammatiken 3 Reguläre Sprachen 4 Deterministische endliche Automaten 5 Nichtdeterministische endliche Automaten 6 Reguläre Ausdrücke 7 Zusammenfassung 82 / 82

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

Vorlesung Automaten und Formale Sprachen Sommersemester Beispielsprachen. Sprachen

Vorlesung Automaten und Formale Sprachen Sommersemester Beispielsprachen. Sprachen Vorlesung Automaten und Formale Sprachen Sommersemester 2018 Prof. Barbara König Übungsleitung: Christina Mika-Michalski Wörter Wort Sei Σ ein Alphabet, d.h., eine endliche Menge von Zeichen. Dann bezeichnet

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

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

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

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

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

Mehr

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

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

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

1 Automatentheorie und Formale Sprachen

1 Automatentheorie und Formale Sprachen Sanders: TGI October 29, 2015 1 1 Automatentheorie und Formale Sprachen 1.1 Allgemeines Sanders: TGI October 29, 2015 2 Beispiel: Arithmetische Ausdrücke:EXPR Σ={1,a,+,,,(,)} a ist Platzhalter für Konstanten

Mehr

Grundlagen der Theoretischen Informatik

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

Mehr

Grundlagen der Theoretischen Informatik

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

Mehr

Satz (Abschluß unter der Stern-Operation)

Satz (Abschluß unter der Stern-Operation) Satz (Abschluß unter der Stern-Operation) Wenn L eine reguläre Sprache ist, dann ist auch L regulär. Beweis: Es gibt einen NFA M = (Z, Σ, S, δ, S, E) mit L(M) = L. Wir bauen aus diesem NFA nun wie folgt

Mehr

2.2 Nichtdeterministische endliche Automaten

2.2 Nichtdeterministische endliche Automaten 2 Endliche Automaten arbeiten und hier kann dann ggf. auch wieder auf die Konstruktion verwiesen werden. Fragen 1. Wie viele Informationen kann man in einem DFA speichern? a) beliebig viele b) endlich

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

c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} c) {abcabc} d) {abcbc, abc, a} c) {aa, ab, ba, bb} d) {{aa}, {ab}, {ba}, {bb}}

c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} c) {abcabc} d) {abcbc, abc, a} c) {aa, ab, ba, bb} d) {{aa}, {ab}, {ba}, {bb}} 2 Endliche Automaten Fragen 1. Was ergibt sich bei {a, bc} {de, fg}? a) {abc, defg} b) {abcde, abcfg} c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} 2. Was ergibt sich bei {abc, a} {bc, λ}?

Mehr

Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden kann.

Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden kann. Der Satz von Kleene Wir haben somit Folgendes bewiesen: Der Satz von Kleene Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden

Mehr

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

Theoretische Informatik Mitschrift

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

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

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

Formale Grundlagen der Wirtschaftsinformatik

Formale Grundlagen der Wirtschaftsinformatik Formale Grundlagen der Wirtschaftsinformatik Nikolaj Popov Research Institute for Symbolic Computation popov@risc.uni-linz.ac.at Sprachen und Grammatiken Teil II Sprache Definition: Ein Alphabet Σ ist

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

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

Sprachanalyse. Fachseminar WS 08/09 Dozent: Prof. Dr. Helmut Weber Referentin: Nadia Douiri

Sprachanalyse. Fachseminar WS 08/09 Dozent: Prof. Dr. Helmut Weber Referentin: Nadia Douiri Sprachanalyse WS 08/09 Dozent: Prof. Dr. Helmut Weber Referentin: Inhalt 1. Formale Sprachen 2. Chomsky-Hierarchie 2 FORMALE SPRACHE 1. WAS IST EINE SPRACHE? 2. WIE BESCHREIBT MAN EINE SPRACHE? 3. WAS

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

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

4 Formale Sprachen. 4.1 Einführung

4 Formale Sprachen. 4.1 Einführung 53 4 ormale Sprachen 41 Einführung Ich erinnere an die Definitionen im Unterkapitel 16, die im weiteren Verlauf der Vorlesung von Bedeutung sein werden Insbesondere werden wir uns mit formalen Sprachen

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

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

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 18/19 Ausgabe 8. Januar 2019 Abgabe 22. Januar 2019, 11:00 Uhr (im

Mehr

Formale Sprachen und endliche Automaten

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

Mehr

DisMod-Repetitorium Tag 4

DisMod-Repetitorium Tag 4 DisMod-Repetitorium Tag 4 Endliche Automaten, Reguläre Sprachen und Kontextfreie Grammatiken 22. März 2018 1 Endliche Automaten Definition DFA Auswertungen Äquivalenzrelationen Verschmelzungsrelation und

Mehr

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

3. Vorlesung: Endliche Automaten Markus Kr otzsch Lehrstuhl Wissensbasierte Systeme Wiederholung Mit Grammatiken können wir Sprachen beschreiben und sie grob in Typen unterteilen: FORMALE SYSTEME 3. Vorlesung: Endliche Automaten Markus Krötzsch Lehrstuhl Wissensbasierte Systeme Formale

Mehr

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

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

Formale Grundlagen der Informatik 1 Kapitel 5 Abschlusseigenschaften

Formale Grundlagen der Informatik 1 Kapitel 5 Abschlusseigenschaften Formale Grundlagen der Informatik 1 Kapitel 5 Frank Heitmann heitmann@informatik.uni-hamburg.de 18. April 2016 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/64 NFAs - Grundlagen DFAs vs. NFAs Der

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische Informatik I Einheit 2.5 Grammatiken 1. Arbeitsweise 2. Klassifizierung 3. Beziehung zu Automaten Beschreibung des Aufbaus von Sprachen Mathematische Mengennotation Beschreibung durch Eigenschaften

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

5.2 Endliche Automaten

5.2 Endliche Automaten 114 5.2 Endliche Automaten Endliche Automaten sind Turingmaschinen, die nur endlichen Speicher besitzen. Wie wir bereits im Zusammenhang mit Turingmaschinen gesehen haben, kann endlicher Speicher durch

Mehr

q 0 q gdw. nicht (q A) (q A) q i+1 q gdw. q i q oder ( a Σ) δ(q, a) i δ(q, a) L = {a n b n : n N} für a, b Σ, a b

q 0 q gdw. nicht (q A) (q A) q i+1 q gdw. q i q oder ( a Σ) δ(q, a) i δ(q, a) L = {a n b n : n N} für a, b Σ, a b Kap. 2: Endliche Automaten Myhill Nerode 2.4 Minimalautomat für reguläre Sprache Abschnitt 2.4.3 L Σ regulär der Äuivalenzklassen-Automat zu L ist ein DFA mit minimaler Zustandszahl (= index( L )) unter

Mehr

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

Informatik III - WS07/08

Informatik III - WS07/08 Informatik III - WS07/08 Kapitel 5 1 Informatik III - WS07/08 Prof. Dr. Dorothea Wagner dwagner@ira.uka.de Kapitel 5 : Grammatiken und die Chomsky-Hierarchie Informatik III - WS07/08 Kapitel 5 2 Definition

Mehr

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

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

Mehr

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

Abschluss gegen Substitution. Wiederholung. Beispiel. Abschluss gegen Substitution

Abschluss gegen Substitution. Wiederholung. Beispiel. Abschluss gegen Substitution Wiederholung Beschreibungsformen für reguläre Sprachen: DFAs NFAs Reguläre Ausdrücke:, {ε}, {a}, und deren Verknüpfung mit + (Vereinigung), (Konkatenation) und * (kleenescher Abschluss) Abschluss gegen

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

Berechenbarkeitstheorie 1. Vorlesung

Berechenbarkeitstheorie 1. Vorlesung Berechenbarkeitstheorie Dr. Institut für Mathematische Logik und Grundlagenforschung WWU Münster WS 15/16 Alle Folien unter Creative Commons Attribution-NonCommercial 3.0 Unported Lizenz. Zentrale Themen

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

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Maximilian Haslbeck Fabian Mitterwallner Georg Moser David Obwaller cbr.uibk.ac.at Zusammenfassung der letzten LVA Definition Eine Grammatik G ist ein Quadrupel

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

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

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

Proseminar TI: Kellerautomaten. 1 Motivation. 2 Einführung. Vortrag: Von Sebastian Oltmanns und Dorian Wachsmann. Dozent: Wolfgang Mulzer. Proseminar TI: Kellerautomaten Vortrag: 10.11.2015 Von Sebastian Oltmanns und Dorian Wachsmann. Dozent: Wolfgang Mulzer. 1 Motivation Wir kennen bereits die Chomsky-Hierarchie. Sie klassiziert formale

Mehr

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

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

Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen Dr. Sebastian Bab WiSe 12/13 Theoretische Grundlagen der Informatik für TI Termin: VL 15 + 16 vom 17.12.2012 und 20.12.2012 Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen

Mehr

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

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004 Lösung zur Klausur Grundlagen der Theoretischen Informatik im WiSe 2003/2004 1. Geben Sie einen deterministischen endlichen Automaten an, der die Sprache aller Wörter über dem Alphabet {0, 1} akzeptiert,

Mehr

2.2 Reguläre Sprachen Endliche Automaten

2.2 Reguläre Sprachen Endliche Automaten 2.2.1 Endliche Automaten E I N G A B E Lesekopf endliche Kontrolle Signal für Endzustand Ein endlicher Automat liest ein Wort zeichenweise und akzeptiert oder verwirft. endlicher Automat Sprache der akzeptierten

Mehr

1. Übungsblatt 6.0 VU Theoretische Informatik und Logik

1. Übungsblatt 6.0 VU Theoretische Informatik und Logik . Übungsblatt 6. VU Theoretische Informatik und Logik 25. September 23 Aufgabe Sind folgende Aussagen korrekt? Begründen Sie jeweils Ihre Antwort. a) Für jede Sprache L gilt: L < L (wobei A die Anzahl

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

(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

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

Das Halteproblem für Turingmaschinen

Das Halteproblem für Turingmaschinen Das Halteproblem für Turingmaschinen Das Halteproblem für Turingmaschinen ist definiert als die Sprache H := { T w : T ist eine TM, die bei Eingabe w {0, 1} hält }. Behauptung: H {0, 1} ist nicht entscheidbar.

Mehr

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

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

Mehr

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

Tutorium 23 Grundbegriffe der Informatik (10. Sitzung)

Tutorium 23 Grundbegriffe der Informatik (10. Sitzung) Tutorium 23 Grundbegriffe der Informatik (10. Sitzung) Tutor: Felix Stahlberg SOFTWARE DESIGN AND QUALITY GROUP Source: pixelio.de KIT The cooperation of Forschungszentrum Karlsruhe GmbH and Universität

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 18. Januar 2018 INSTITUT FÜR THEORETISCHE 0 18.01.2018 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität

Mehr

54 4 FORMALE SPRACHEN

54 4 FORMALE SPRACHEN 54 4 FORMALE SPRACHEN 4 Formale Sprachen 41 Einführung Ich erinnere an die Definitionen im Unterkapitel 16, die im weiteren Verlauf der Vorlesung von Bedeutung sein werden Insbesondere werden wir uns mit

Mehr

FORMALE SYSTEME. Wiederholung. Beispiel: NFA. Wiederholung: NFA. 4. Vorlesung: Nichtdeterministische Endliche Automaten. TU Dresden, 19.

FORMALE SYSTEME. Wiederholung. Beispiel: NFA. Wiederholung: NFA. 4. Vorlesung: Nichtdeterministische Endliche Automaten. TU Dresden, 19. Wiederholung FORMALE SYSTEME 4. Vorlesung: Nichtdeterministische Endliche Automaten Markus Krötzsch Professur für Wissensbasierte Systeme Grammatiken können Sprachen beschreiben und sie grob in Typen unterteilen

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. Sascha Böhme, Lars Noschinski Sommersemester 2 Lösungsblatt 2 3. Mai 2 Einführung in die Theoretische Informatik Hinweis:

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

Grundlagen der Theoretischen Informatik

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

Mehr

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

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

Kurz-Skript zur Theoretischen Informatik I

Kurz-Skript zur Theoretischen Informatik I Kurz-Skript zur Theoretischen Informatik I Inhaltsverzeichnis 1 Grundlagen 2 2 Reguläre Ausdrücke 4 3 Endliche Automaten 5 3.1 Vollständige endliche Automaten................................... 6 3.2 ε

Mehr

Theoretische Grundlagen des Software Engineering

Theoretische Grundlagen des Software Engineering Theoretische Grundlagen des Software Engineering 5: Reguläre Ausdrücke und Grammatiken schulz@eprover.org Software Systems Engineering Reguläre Sprachen Bisher: Charakterisierung von Sprachen über Automaten

Mehr

THIA - Übungsblatt 2.

THIA - Übungsblatt 2. THIA - Übungsblatt 2. Aufgabe 12 (Eine einfache Sprache). Endliche Ziffernfolgen, die mit einer 0 beginnen, auf die mindestens eine weitere Ziffer folgt, wobei nur die Ziffern 0,..., 7 vorkommen, sollen

Mehr

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

Beweisidee: 1 Verwende den Keller zur Simulation der Grammatik. Leite ein Wort. 2 Problem: der Keller darf nicht beliebig verwendet werden, man kann Automaten und Formale prachen alias Theoretische Informatik ommersemester 2011 Dr. ander Bruggink Übungsleitung: Jan tückrath Wir beschäftigen uns ab jetzt einige Wochen mit kontextfreien prachen: Kontextfreie

Mehr

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

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Theoretische Informatik für Wirtschaftsinformatik und Lehramt Theoretische Informatik für Wirtschaftsinformatik und Lehramt Eigenschaften regulärer Sprachen Priv.-Doz. Dr. Stefan Milius stefan.milius@fau.de Theoretische Informatik Friedrich-Alexander Universität

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

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

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

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

Mehr

Akzeptierende Turing-Maschine

Akzeptierende Turing-Maschine Akzeptierende Turing-Maschine Definition: Eine akzeptierende Turing-Maschine M ist ein Sechstupel M = (X, Z, z 0, Q, δ, F ), wobei (X, Z, z 0, Q, δ) eine Turing-Maschine ist und F Q gilt. Die von M akzeptierte

Mehr

Zusammenfassung. Endliche Sprachen. Fazit zu endlichen Automaten. Teil 4: Grammatiken und Syntaxanalyse

Zusammenfassung. Endliche Sprachen. Fazit zu endlichen Automaten. Teil 4: Grammatiken und Syntaxanalyse 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. Zusammenfassung Beschreibungsformen für reguläre Sprachen:

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

Sprachen und Grammatiken

Sprachen und Grammatiken Grundlagen der Theoretischen Informatik Wintersemester 2007 / 2008 Prof. Dr. Heribert Vollmer Institut für Theoretische Informatik 03.12.2007 Sprachen und Grammatiken Alphabete, Zeichen und Symbole Ein

Mehr

Software Engineering Ergänzung zur Vorlesung

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

Mehr

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

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

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

Mehr

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

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

Informatik III. Christian Schindelhauer Wintersemester 2006/07 3. Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 3. Vorlesung 02.11.2006 schindel@informatik.uni-freiburg.de 1 Kapitel III Reguläre Sprachen Reguläre Sprachen und Ausdrücke Informatik III

Mehr

FORMALE SYSTEME. Wiederholung. Beispiel: NFA. Wiederholung: NFA. 4. Vorlesung: Nichtdeterministische Endliche Automaten. TU Dresden, 20.

FORMALE SYSTEME. Wiederholung. Beispiel: NFA. Wiederholung: NFA. 4. Vorlesung: Nichtdeterministische Endliche Automaten. TU Dresden, 20. Wiederholung FORMALE SYSTEME 4. Vorlesung: Nichtdeterministische Endliche Automaten Markus Krötzsch Lehrstuhl Wissensbasierte Systeme Grammatiken können Sprachen beschreiben und sie grob in Typen unterteilen

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

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012 utomaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink utomaten und Formale Sprachen 1 Der CYK-lgorithmus Beispiel

Mehr

Lösungen zum Ergänzungsblatt 2

Lösungen zum Ergänzungsblatt 2 Theoretische Informatik I WS 2018 Carlos Camino en zum Ergänzungsblatt 2 Hinweise: In der Literatur sind zwei verschiedene Definitionen der natürlichen Zahlen gängig. Während in der Mathematik-I-Vorlesung

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

Automaten und formale Sprachen Notizen zu den Folien

Automaten und formale Sprachen Notizen zu den Folien 13 Kellerautomaten Automaten und formale Sprachen Notizen zu den Folien Warum ein Automatenmodell für kontextfreien Sprachen (zu Folie 233) Manche Konstruktionen und Verfahren lassen sich besser mit Hilfe

Mehr

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

Die mathematische Seite

Die mathematische Seite Kellerautomaten In der ersten Vorlesung haben wir den endlichen Automaten kennengelernt. Mit diesem werden wir uns in der zweiten Vorlesung noch etwas eingängiger beschäftigen und bspw. Ansätze zur Konstruktion

Mehr