Theoretische Informatik für Wirtschaftsinformatik und Lehramt
|
|
- Hanna Günther
- vor 7 Jahren
- Abrufe
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
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
MehrVorlesung 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
MehrFormale 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
Mehr2.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
Mehr1 Σ 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
Mehr1 Σ 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
MehrRegulä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
MehrGrammatiken. 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 /
MehrAlphabet, 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
Mehr1 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
MehrGrundlagen 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
MehrGrundlagen 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
MehrSatz (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
Mehr2.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
MehrTheoretische 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.
Mehrc) {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, λ}?
MehrSei Σ 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
MehrFormale 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
MehrTheoretische Informatik Mitschrift
Theoretische Informatik Mitschrift 2. Grammatiken und die Chomsky-Hierarchie Beispiel: Syntaxdefinition in BNF :=
MehrAutomaten 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
MehrTheorie 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
MehrFormale 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
MehrEinfü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
MehrLemma 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
MehrSprachanalyse. 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
MehrTheoretische 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
MehrFORMALE 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
Mehr4 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
MehrRekursiv 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
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
MehrFormale 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
MehrDisMod-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
Mehr3. 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
MehrZusammenfassung. 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
MehrKapitel: 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
MehrFormale 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
MehrTheoretische 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
MehrKapitel 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
Mehr5.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
Mehrq 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
MehrWS06/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.
MehrInformatik 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
MehrEinfü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
MehrGrundlagen 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
MehrAbschluss 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
MehrDefinition 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,
MehrBerechenbarkeitstheorie 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
MehrGrundlagen 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
MehrEinfü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
MehrAutomatentheorie 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
MehrAlgorithmen 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
MehrProseminar 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
MehrFormale 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.
MehrDeterministische 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
MehrLö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,
Mehr2.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
Mehr1. Ü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
MehrDefinition (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 (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),
MehrTheorie 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)
MehrDas 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.
MehrTheoretische 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
Mehr11.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
MehrTutorium 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
MehrTheoretische 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
Mehr54 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
MehrFORMALE 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
MehrEinfü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
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
MehrGrundlagen 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
MehrFormale 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
MehrVorlesung 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
MehrKurz-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 ε
MehrTheoretische 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
MehrTHIA - Ü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
MehrBeweisidee: 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
MehrFormale 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.
MehrTheoretische 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
MehrKontextfreie Sprachen
Kontextfreie Sprachen Bedeutung: Programmiersprachen (Compilerbau) Syntaxbäume Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung
MehrKapitel 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
MehrInformatik 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
MehrAkzeptierende 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
MehrZusammenfassung. 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:
MehrEndliche 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:
MehrSprachen 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
MehrSoftware 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
MehrKontextfreie 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
MehrWorterkennung 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
Mehr7 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
MehrInformatik 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
MehrFORMALE 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
MehrTheorie 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
MehrAutomaten 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
MehrLö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
MehrWas 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
MehrAutomaten 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
MehrWas 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)
MehrDie 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