3.0 VU Formale Modellierung
|
|
- Samuel Scholz
- vor 5 Jahren
- Abrufe
Transkript
1 3.0 VU Formale Modellierung Gernot Salzer AB Theoretische Informatik und Logik Institut für Computersprachen
2 Was Sie letztes Mal hörten 1. Organisatorisches 2. Was bedeutet Modellierung? 3. Aussagenlogik 4. Endliche Automaten 4.1. Beispiele 4.2. Klassifikation 4.3. Grundlagen formaler Sprachen 4.4. Deterministische endliche Automaten 4.5. Nichtdeterministische endliche Automaten 4.6. Determinisierung 4.7. Transducer 2
3 Beispiel: Flussüberquerung als Automat m m h k G MKH k m g MGH K g h m MKGH m KG MH h g KGH M g m k M KGH k h MH KG m MKGH K MGH m MKH G Mögliche Lösungen: {mhkmghm, mmmhhhgmkhm,..., mhkmgkmgkmghm,... } Sprache des Automaten 3
4 Beispiel: Reelle Numerale E ε Zustandsbeschriftungen 1 6 dienen nur der Bezugnahme, irrelevant für das Verhalten des Automaten Kanten sind mit Symbolen beschriftet, die gelesen/geschrieben werden. Anfangszustand (1) ist durch einen Pfeil aus dem Nichts markiert. Endzustände (3, 6) sind durch einen Doppelkreis markiert. Zwei Sichtweisen: Akzeptor: Der Automat liest Symbole und akzeptiert alle Zeichenketten, die vom Anfangs- zu einem der Endzustände führen. Generator: Der Automat schreibt Symbole und generiert jene Zeichenketten, die vom Anfangs- zu einem der Endzustände führen. 7
5 Was Sie letztes Mal hörten 1. Organisatorisches 2. Was bedeutet Modellierung? 3. Aussagenlogik 4. Endliche Automaten 4.1. Beispiele 4.2. Klassifikation 4.3. Grundlagen formaler Sprachen 4.4. Deterministische endliche Automaten 4.5. Nichtdeterministische endliche Automaten 4.6. Determinisierung 4.7. Transducer 8
6 Endliche Automaten modellieren Systeme bzw. Abläufe, die nur eine begrenzte, feste Zahl an unterscheidbaren Zuständen besitzen. (Klassischer) Endlicher Automat: Anfangs- und Endzustände nur Eingaben (bzw. nur Ausgaben) verarbeitet endliche Symbolfolgen Unterarten: deterministisch, nichtdeterministisch mit/ohne ε-übergängen Transducer: wie endlicher Automat, aber mit Ein- und Ausgaben. Unterarten: Mealy-Automaten, Moore-Automaten Büchi-Automat: wie endlicher Automat, verarbeitet aber unendliche Symbolfolgen Spezifikation von Automaten: Graphisch: Zustände sind Knoten, Übergänge sind Kanten, Ein- und Ausgaben sind Beschriftungen von Knoten und Kanten. Tabellarisch: Zu jedem Zustand und Eingabesymbol gibt es einen Eintrag mit zugehöriger Ausgabe und den Folgezuständen. 9
7 Was Sie letztes Mal hörten 1. Organisatorisches 2. Was bedeutet Modellierung? 3. Aussagenlogik 4. Endliche Automaten 4.1. Beispiele 4.2. Klassifikation 4.3. Grundlagen formaler Sprachen 4.4. Deterministische endliche Automaten 4.5. Nichtdeterministische endliche Automaten 4.6. Determinisierung 4.7. Transducer 10
8 Formale Sprachen Σ Alphabet, d.h., endliche, nicht-leere Menge atomarer Symbole w Wort über Σ, (endliche) Folge von Zeichen aus dem Alphabet Σ ε Leerwort Σ + Σ Menge aller nicht-leeren endlichen Wörter über Σ Menge aller endlichen Wörter über Σ (inklusive Leerwort) w 1 w 2 = w 1 w 2 Verkettung der Wörter w 1, w 2 Σ L Σ formale Sprache über Σ 2 Σ Menge aller Sprachen über Σ Σ,, ε bildet ein Monoid. Σ = {0, 1} Σ = {ε, 0, 1, 00, 01, 10, 11, 000, 001,... } 10 ε = (Klammerung irrelevant, Assoziativität!) ε ε ε = ε 11
9 Was Sie letztes Mal hörten 1. Organisatorisches 2. Was bedeutet Modellierung? 3. Aussagenlogik 4. Endliche Automaten 4.1. Beispiele 4.2. Klassifikation 4.3. Grundlagen formaler Sprachen 4.4. Deterministische endliche Automaten 4.5. Nichtdeterministische endliche Automaten 4.6. Determinisierung 4.7. Transducer Endlicher Transducer Mealy-Automaten Moore-Automaten 12
10 Endliche Automaten Bezeichnungen Q q 0 I F endliche Menge von Zuständen Anfangszustand Menge von Anfangszuständen Menge von Endzuständen Σ Eingabealphabet Γ Ausgabealphabet δ δ γ γ Übergangsfunktion/-relation erweiterte Übergangsfunktion/-relation Ausgabefunktion erweiterte Ausgabefunktion A Automat L(A) die von A akzeptierte Sprache [A] die von A berechnete Übersetzungsfunktion/-relation 13
11 Übergangsfunktionen und -relationen δ : Q Σ Q δ Q Σ Q δ : Q Σ 2 Q det. endlicher Automat (DEA) nichtdet. endl. Aut. (NEA) ohne ε-ü. δ Q (Σ {ε}) Q nichtdet. endl. Aut. (NEA) mit ε-ü. δ : Q (Σ {ε}) 2 Q δ Q (Σ {ε}) (Γ {ε}) Q Transducer (indet. mit ε-ü.) δ : Q (Σ {ε}) 2 (Γ {ε}) Q δ : Q Σ Γ Q Mealy-Automat δ : Q Σ Q γ : Q Σ Γ δ : Q Σ Q γ : Q Γ Moore-Automat ε-übergänge, Relation oder Potenzmenge = nichtdeterm. Automat 14
12 Akzeptierte Worte bzw. Wortpaare (Nicht-)Deterministischer Automat: Alle Worte, mit denen man vom Anfangszustand aus einen der Endzustände erreicht. Transducer: Alle Paare (u, v) von Ein-/Ausgabewörtern, bei denen man mit u vom Anfangszustand (von einem der Anfangszustände) aus in einen Endzustand gelangt und dabei v ausgibt. Mealy: Pro Übergang wird genau ein Symbol gelesen und eines geschrieben. Die Ausgabe ist an den Übergang gebunden. Moore: Pro Übergang wird genau ein Symbol gelesen und eines geschrieben. Die Ausgabe ist an den Zielzustand gebunden. 15
13 Was Sie letztes Mal hörten 1. Organisatorisches 2. Was bedeutet Modellierung? 3. Aussagenlogik 4. Endliche Automaten 4.1. Beispiele 4.2. Klassifikation 4.3. Grundlagen formaler Sprachen 4.4. Deterministische endliche Automaten 4.5. Nichtdeterministische endliche Automaten 4.6. Determinisierung 4.7. Transducer 16
14 Beispiel: Suche nach Max und Ana a,m,n,x,z 1 m a 2 a 4 x a 6 a,m,n,x,z n 3 5 n,x,z 1 a x,z n,x,z m m m m z a 134 a m n 15 n x a x,z n,x,z 16 a 136 m n,x,z m 126 m n,x,z m n 156 m a x,z n 1346 a n,x,z a a a 17
15 Was Sie heute erwartet 1. Organisatorisches 2. Was bedeutet Modellierung? 3. Aussagenlogik 4. Endliche Automaten 4.1. Beispiele 4.2. Klassifikation 4.3. Grundlagen formaler Sprachen 4.4. Deterministische endliche Automaten 4.5. Nichtdeterministische endliche Automaten 4.6. Determinisierung 4.7. Transducer 4.8. Büchi-Automaten 5. Reguläre Sprachen 6. Kontextfreie Grammatiken 18
16 Büchi-Automaten Deterministischer Büchi-Automat... wird beschrieben durch ein 5-Tupel A = Q, Σ, δ, q 0, F, wobei Q, Σ, δ, q 0, F wie bei DEAs definiert sind. Σ ω... Menge aller unendlichen Wörter (= ω-wörter) über Σ Akzeptanz von Wörtern Ein deterministischer Büchi-Automat A akzeptiert ein Wort s 1 s 2 s 3 Σ ω, wenn es Zustände q 0, q 1, q 2, q 3, Q gibt, sodass q 0 Q der Startzustand ist, δ(q i 1, s i ) = q i für alle i N gilt und es unendlich viele i gibt, sodass q i ein Endzustand ist (q i F ). Akzeptierte/Generierte Sprache L(A) = { w Σ ω w wird von A akzeptiert } 19
17 Faire Verkehrsampel a b c h d g f e Der Automat akzeptiert genau jene Wörter aus {a,..., h} ω, bei denen es immer wieder grün wird. 20
18 Nichtdeterministischer Büchi-Automat... wird beschrieben durch ein 5-Tupel A = Q, Σ, δ, I, F, wobei Q, Σ, F... siehe DEA I Q... Anfangszustände δ Q Σ Q... Übergangsrelation Akzeptanz von Wörtern Ein nichtdeterministischer Büchi-Automat A akzeptiert ein Wort s 1 s 2 s 3 Σ ω, wenn es Zustände q 0, q 1, q 2, q 3, Q gibt, sodass q 0 Q ein Startzustand ist (q 0 I), (q i 1, s i, q i ) δ für alle i N gilt und es unendlich viele i gibt, sodass q i ein Endzustand ist (q i F ). Akzeptierte/Generierte Sprache L(A) = { w Σ ω w wird von A akzeptiert } 21
19 Nur endlich viele 1er Gesucht: Ein Büchi-Automat, der genau jene ω-wörter über {0, 1} akzeptiert, die nur eine endliche Anzahl an 1ern enthalten. 0,1 0 a 0 b Kein deterministischer Büchi-Automaten akzeptiert diese Sprache. = Nichtdeterministische Büchi-Automaten sind ausdrucksstärker als deterministische! 22
20 Was Sie heute erwartet 1. Organisatorisches 2. Was bedeutet Modellierung? 3. Aussagenlogik 4. Endliche Automaten 5. Reguläre Sprachen 5.1. Operationen auf formalen Sprachen 5.2. Definition regulärer Sprachen 5.3. Reguläre Ausdrücke 5.4. Eigenschaften regulärer Sprachen 5.5. Vom regulären Ausdruck zum Automaten 5.6. Vom Automaten zum regulären Ausdruck 6. Kontextfreie Grammatiken 23
21 Operationen auf formalen Sprachen Σ Alphabet, d.h., endliche, nicht-leere Menge atomarer Symbole w Wort über Σ, (endliche) Folge von Zeichen aus dem Alphabet Σ ε Leerwort Σ Menge aller endlichen Wörter über Σ (inklusive Leerwort) w w = ww Verkettung der Wörter w, w Σ Seien L, L Σ zwei Sprachen. L L = { w w L oder w L } L L = { w w w L, w L } L 0 = {ε} L n+1 = L L n (n 0) Vereinigung Verkettung Potenzen L + = L n n 1 L = L n = L 0 L + = {ε} L + Kleene-Stern n 0 24
22 Verkettung {a, b} {b, c, d} = {ab, ac, ad, bb, bc, bd} {b, c, d} {a, b} = {ba, bb, ca, cb, da, db} ({a, b} {1, 2}) {#, $} = {a1#, a1$, a2#, a2$, b1#, b1$, b2#, b2$} = {a, b} ({1, 2} {#, $}) {a, b} {ε} = {a ε, b ε} = {a, b} = {ε a, ε b} = {ε} {a, b} {a, b} {} = {} {a, b} = {} {ε} {ε} = {ε} {} {} = {ε} {} = {} {ε} = {} Beobachtungen: Sprachverkettung ist nicht kommutativ. Sprachverkettung ist assoziativ. {ε} ist neutrales Element bzgl. Sprachverkettung. {} ist Nullelement bzgl. Sprachverkettung. 25
23 Potenzen von {a, 42} L = {a, 42} L 0 = {ε} L 1 = L L 0 = L {ε} = L = {a, 42} L 2 = L L 1 = L L = {aa, a42, 42a, 4242} L 3 = L L 2 = {aaa, aa42, a42a, a4242, 42aa, 42a42, 4242a, }. L + = n 1 Ln = L 1 L 2 L 3 = {a, 42, aa, a42, 42a, 4242, aaa, aa42, a42a, a4242, 42aa,... } L = n 0 Ln = L 0 L 1 L 2 L 3 = {ε, a, 42, aa, a42, 42a, 4242, aaa, aa42, a42a, a4242, 42aa,... } Potenzen eines Alphabets Σ Σ 0 = {ε} Σ n Σ + = n 1 Σn Σ = n 0 Σn Σ 1 = Σ alle Σ-Wörter der Länge n (d.h., mit n Symbolen) alle Σ-Wörter ohne Leerwort alle Σ-Wörter mit Leerwort 26
24 2 Σ,,, {}, {ε} bildet einen idempotenten Halbring Das heißt, es gelten folgende Gleichungen. 2 Σ,, {}... idemp.komm.monoid (A B) C = A (B C) {} A = A {} = A A B = B A A A = A 2 Σ,, {ε}... Monoid (A B) C = A (B C) {ε} A = A {ε} = A Verkettung distribuiert über Vereinigung. A (B C) = (A B) (A C) (B C) A = (B A) (C A) {} ist Nullelement bzgl. Verkettung. {} A = A {} = {} Weitere Identitäten für + und : (A ) = A (A {ε}) = A A A = A + A + {ε} = A 27
25 Was Sie heute erwartet 1. Organisatorisches 2. Was bedeutet Modellierung? 3. Aussagenlogik 4. Endliche Automaten 5. Reguläre Sprachen 5.1. Operationen auf formalen Sprachen 5.2. Definition regulärer Sprachen 5.3. Reguläre Ausdrücke 5.4. Eigenschaften regulärer Sprachen 5.5. Vom regulären Ausdruck zum Automaten 5.6. Vom Automaten zum regulären Ausdruck 6. Kontextfreie Grammatiken 28
26 Reguläre Sprachen Alle Sprachen, die aus einem Alphabet mit Hilfe von Vereinigung, Verkettung und Stern gebildet werden können. Anwendungen: Betriebssytem-Shells: Dos ( Wildcards ), Unix-Shells (wie sh, csh, ash, bash, zsh),... Unix Kommandozeilenprogramme: grep, awk, ed, sed,... Editoren: vi, emacs,... Compilerbau: Tokens bilden reguläre Sprache, die durch sog. Scanner (Lexer) wie lex oder flex verarbeitet werden. Programmiersprachen: Perl, Tcl, Php, Python, Ruby, R, Java, JavaScript,.Net-Sprachen,... Websprachen: Xml Schema, XQuery, XPath, Dtds,... Datenbanken: MySQL, Oracle, PostgreSQL,
27 Regulären Sprachen über einem Alphabet Die Menge der regulären Sprachen über Σ, L reg (Σ), ist die kleinste Menge, sodass gilt: {}, {ε} und {s} sind reguläre Sprachen (für alle s Σ). Wenn L und L reguläre Sprachen sind, dann auch L L, L L und L. Reellen Numerale: reguläre Sprache über Σ = {0,..., 9,., E, +, -} real = digit digit {.} digit ({ε} scale) scale = {E} {+, -, ε} digit digit digit = {0,..., 9} = {0} {9} Wichtig: Unterscheide Symbole des Alphabets von Meta-Symbolen! 0,..., 9,., E, +, -... Symbole des Alphabets ε, real, scale, digit... Meta-Symbole, Abkürzungen 30
28 Was Sie heute erwartet 1. Organisatorisches 2. Was bedeutet Modellierung? 3. Aussagenlogik 4. Endliche Automaten 5. Reguläre Sprachen 5.1. Operationen auf formalen Sprachen 5.2. Definition regulärer Sprachen 5.3. Reguläre Ausdrücke 5.4. Eigenschaften regulärer Sprachen 5.5. Vom regulären Ausdruck zum Automaten 5.6. Vom Automaten zum regulären Ausdruck 6. Kontextfreie Grammatiken 31
29 Reguläre Ausdrücke Ausdrücke wie digit digit und digit + sind ununterscheidbar: Beides sind semantische Beschreibungen der Menge aller Ziffernfolgen. Um Aussagen über ihre Form treffen zu können, benötigen wir eine formale Sprache. Reguläre Ausdrücke (algebraische Notation) Die regulären Ausdrücke über Σ sind die kleinste Menge, für die gilt:, ε und s sind reguläre Ausdrücke (für alle Symbole s Σ). Sind r und r reguläre Ausdrücke, dann auch (r + r ), (rr ) und r. Vereinfachte Klammerung: + bindet am schwächsten, am stärksten. Keine Klammern bei gleichartigen Operatoren (wegen Assoziativität). Die Sprache L(r) zu einem regulären Ausdruck r ist definiert durch: L( ) = {} L(ε) = {ε} L(s) = {s} für s Σ L( (r + r ) ) = L(r) L(r ) L( (rr ) ) = L(r) L(r ) L(r ) = (L(r)) 32
30 Regulärer Ausdruck für die reellen Numerale R = DD.D (ε + S) S = E( ε)dd D = (R, S und D sind Abkürzungen für die jeweiligen regulären Ausdrücke.) Die zugehörigen Sprachen: L(D) = L( ) = L(0) L(1) L(9) = {0} {1} {9} = digits L(S) = L(E( ε)dd ) = L(E) L( ε) L(D) L(D ) = {E} (L(+) L(-) L(ε)) digits L(D) = {E} ({+} {-} {ε}) digits digits = scale L(R) = = real 33
31 Zwei reguläre Ausdrücke r und r heißen äquivalent, geschrieben r = r, wenn L(r) = L(r ) gilt. ((a + b) + ε) = (a + b) L(((a + b) + ε) ) = = ({a, b} {ε}) = ({a, b} ) da ε L für alle L = ({a, b} ) 0 ({a, b} ) 1 ({a, b} ) 2 = {a, b} ({a, b} ) 0 ({a, b} ) 2 = {a, b} da L alle Wörter über L enthält = = L((a + b) ) 34
32 Reguläre Ausdrücke in Ebnf-Notation Ebnf... Erweiterte Backus-Naur-Form (Formalismus zur Beschreibung der Syntax von Programmiersprachen, die reguläre Ausdrücke zulässt) AB A B Aufeinanderfolge A B A B Alternativen [A] {ε} A Option {A} A Wiederholung (A) (A) Gruppierung "s" {s} Symbol Reelle Numerale in Ebnf-Notation real = digit { digit } "." { digit } [ scale ] scale = "E" [ "+" "-" ] digit { digit } digit = "0" "1" "2" "9" 35
33 Reguläre Ausdrücke als Syntaxdiagramme Syntaxdiagramme... graphische Form der Ebnf A A Abkürzung s {s} Symbol X X + Wiederholung 1 X X Wiederholung 0 X Y X Y Aufeinanderfolge X Y X Y Alternativen X {ε} X Option 36
34 Reelle Numerale als Syntaxdiagramm real = scale = digit = digit digit. scale + E digit
35 Reguläre Ausdrücke im informatischen Alltag Unix := 30 definitions of regular expressions living under one roof grep -E -e "regexp" file (Donald E. Knuth) liefert alle Zeilen der Datei file, die eine Zeichenkette enthalten, die dem regulären Ausdruck regexp (in Posix Ere Syntax) entspricht. Verschiedene Standards : Posix Basic Regular Expressions Posix Extended Regular Expressions Perl Regular Expressions... 38
36 Posix Extended Regular Expressions (Ere) regexp trifft zu auf \s Zeichen s s s, falls kein Sonderzeichen. alle Zeichen ˆ Zeilenanfang $ Zeilenende [s 1 s n ] ein Zeichen aus {s 1,..., s n } [ˆs 1 s n ] alle Zeichen außer s 1,..., s n (r) r Reelle Numerale als Ere digit = {0,..., 9} scale = {E} {+, -, ε} digit digit real = digit digit {.} digit ({ε} scale) regexp trifft zu auf rr r gefolgt von r r r r oder r r* 0 Mal r r+ 1 Mal r r? 1 Mal r r{i} i Mal r r{i,} i Mal r r{i,j} i bis j Mal r [0-9] E[+-]?[0-9]+ ^[0-9]+\.[0-9]*(E[+-]?[0-9]+)?$ [0-9]... Kurzform von [ ]; analog [a-za-z] für Buchstaben 39
37 Was Sie heute erwartet 1. Organisatorisches 2. Was bedeutet Modellierung? 3. Aussagenlogik 4. Endliche Automaten 5. Reguläre Sprachen 5.1. Operationen auf formalen Sprachen 5.2. Definition regulärer Sprachen 5.3. Reguläre Ausdrücke 5.4. Eigenschaften regulärer Sprachen 5.5. Vom regulären Ausdruck zum Automaten 5.6. Vom Automaten zum regulären Ausdruck 6. Kontextfreie Grammatiken 40
38 Eigenschaften regulärer Sprachen Reguläre Sprachen sind abgeschlossen gegenüber Vereinigung, Verkettung und Stern (warum?) Durchschnitt, Komplement, Differenz, Homomorphismen, Quotientenbildung,... Entscheidbarkeit eines Problems: Es gibt ein Verfahren (einen Algorithmus), der für jede Eingabe die richtige Antwort ja/nein liefert. Nicht entscheidbar: Halteproblem Ihrer Lieblingsprogrammiersprache Gegeben ein Programm mit einer Eingabe, wird es anhalten? Folgende Probleme regulärer Sprachen sind entscheidbar: Gegeben ein Wort w und einen regulären Ausdruck r, gilt w L(r)? (Wortproblem) Gegeben zwei reguläre Ausdrücke r und r, gilt L(r) = L(r )? (Äquivalenzproblem) Gegeben einen regulären Ausdruck r, ist L(r) leer/endlich/unendlich? 41
39 Ausdruckskraft regulärer Sprachen Die regulären Sprachen sind genau jene, die von endlichen Automaten akeptiert werden, d.h.: Zu jedem regulären Ausdruck r gibt es einen endlichen Automaten A, sodass L(A) = L(r) gilt. Zu jedem endlichen Automaten A gibt es einen regulären Ausdruck r, sodass L(r) = L(A) gilt. Nicht regulär sind Sprachen, deren Analyse ein unbegrenztes Gedächtnis erfordert: Klammerausdrücke: {(), (()), ()(), ((())), (())(), ()()(),... } { a n b n n 0 } = {ε, ab, aabb, aaabbb,... } { a n b n c n n 0 } = {ε, abc, aabbcc, aaabbbccc,... } Palindrome: Worte, die identisch mit ihrem Spiegelbild sind. {otto, anna, reliefpfeiler, o genie der herr ehre dein ego,... } Doppelworte: { ww w Σ } (falls Σ > 1) 42
40 Was Sie heute erwartet 1. Organisatorisches 2. Was bedeutet Modellierung? 3. Aussagenlogik 4. Endliche Automaten 5. Reguläre Sprachen 5.1. Operationen auf formalen Sprachen 5.2. Definition regulärer Sprachen 5.3. Reguläre Ausdrücke 5.4. Eigenschaften regulärer Sprachen 5.5. Vom regulären Ausdruck zum Automaten 5.6. Vom Automaten zum regulären Ausdruck 6. Kontextfreie Grammatiken 43
41 Vom regulären Ausdruck zum Automaten Automat für : i f Automat für s Σ {ε}: s i f Automat für r 1 r 2 : Automat für r 1 + r 2 : i Automat für r 1 ε i 1 f 1 Automat für r 2 ε i 2 f 2 Automat für r 1 Automat für r 2 ε ε ε i i 1 f 1 i 2 f 2 ε ε f f Automat für r 1 : ε i ε Automat für r1 i 1 f 1 ε f ε 44
42 Automat für Binärnumerale ohne führende Null Regulärer Ausdruck: 1(0 + 1) ε ε 1 ε ε ε 0 ε ε ε ε 1 ε ε 0,1 Minimaler deterministischer Automat: 1 Manuelle Konstruktion von Automaten: 1 Konstruiere die Automaten zu einfachen Teilsprachen durch Hinschauen. 2 Verwende die allgemeine Konstruktion mit ε-übergängen für undurchsichtige Situationen. 45
43 Was Sie heute erwartet 1. Organisatorisches 2. Was bedeutet Modellierung? 3. Aussagenlogik 4. Endliche Automaten 5. Reguläre Sprachen 5.1. Operationen auf formalen Sprachen 5.2. Definition regulärer Sprachen 5.3. Reguläre Ausdrücke 5.4. Eigenschaften regulärer Sprachen 5.5. Vom regulären Ausdruck zum Automaten 5.6. Vom Automaten zum regulären Ausdruck 6. Kontextfreie Grammatiken 46
44 Vom Automaten zum regulären Ausdruck R... Menge der regulären Ausdrücke über Σ Verallgemeinerter endlicher Automat... wird beschrieben durch ein 5-Tupel A = Q, Σ, δ, i, f, wobei Q... endliche Zustandsmenge Σ... Eingabealphabet δ : (Q {f }) (Q {i}) R... Übergangsfunktion i Q... Anfangszustand f Q, f i... Endzustand Unterschiede zu normalen Automaten: keine Übergänge in den Anfangszustand; nur ein Endzustand, der nicht Anfangszustand ist; keine Übergänge weg vom Endzustand; nur ein Übergang zwischen je zwei Zuständen; Übergänge beschriftet mit regulären Ausdrücken. 47
45 Umwandlung eines endlichen Automaten in einen verallgemeinerten Übergänge in den Anfangszustand oder Anfangszustand ist Endzustand: = ε Mehrere Endzustände: = Übergänge weg vom Endzustand: = ε ε ε ε Mehrere Übergänge zwischen zwei Zuständen: s 1 s 2 = s 1 + s 2 48
46 Vom verallgemeinerten Automaten zum regulären Ausdruck Gegeben: Verallgemeinerter Automat A = Q, Σ, δ, i, f Für jeden Zustand q Q {i, f } führe folgende Schritte durch: 1 Füge zwischen allen Nachbarn p, p von q neue Übergänge hinzu: y y p x q z p = p x q z p (x, y und z bezeichnen reguläre Ausdrücke.) xy z 2 Entferne q und alle Kanten von und nach q aus dem Automaten. r Restautomat: i f Ergebnis: r ist ein regulärer Ausdruck mit L(r) = L(A). 49
47 Anmerkungen: Falls p und p derselbe Knoten sind, erhält man: y xy z y x x p q = p q z z Falls die Schleife mit dem Ausdruck y nicht existiert, entfällt y. Falls der Übergang p p bereits existiert, wird xy z addiert. 50
48 A 1 0 0,1 a 0 b 1 c 1 ε i a b c f ε ε 51
49 A 1 0 0,1 a 0 b 1 c 1 1 ε i a b c f ε 0 ε 51
50 A 1 0 0,1 a 0 b 1 c (1 + 01)(0 + 1) i b c f ε 0 + 1(0 + 1) ε
51 A 1 0 0,1 a 0 b 1 c 00 + (1 + 01)(0 + 1) i b f 0 + 1(0 + 1) ε (0 + 1(0 + 1))(00 + (1 + 01)(0 + 1)) (ε ) 51
52 A 1 0 0,1 a 0 b 1 c i f 1 + (0 + 1(0 + 1))(00 + (1 + 01)(0 + 1)) (ε ) r = 1 + ( )( ) (ε ) Es gilt: L(r) = L(A). 51
53 Was Sie heute erwartet 1. Organisatorisches 2. Was bedeutet Modellierung? 3. Aussagenlogik 4. Endliche Automaten 5. Reguläre Sprachen 6. Kontextfreie Grammatiken 6.1. Definition 6.2. Beispiele 52
54 Grenzen regulärer Sprachen Was reguläre Ausdrücke und endliche Automaten beschreiben können: lexikale Elemente in Programmiersprachen: Identifier, Numerale,... Morphologie von Worten in natürlichen Sprachen: korrekte Fall-/Zahl-/Zeitendungen,... Systeme, die nur ein endliches Gedächtnis besitzen Was sie nicht beschreiben können: geklammerte Ausdrücke in Programmiersprachen geschachtelte Programmstrukturen wie if... while... if... endif... endwhile... endif Schachtelung von Haupt- und Nebensätzen in natürlichen Sprachen Systeme mit einem (potentiell) unendlichen Speicher Wohlgeklammerte Ausdrücke sind nicht regulär {(), (()), ()(), ((())), (())(), ()()(),... } { a n b n n 0 } ist nicht regulär {ε, ab, aabb, aaabbb, aaaabbbb, aaaaabbbbb,... } 53
55 Kontextfreie Grammatiken Menge von Ersetzungsregeln 2 Arten von Symbolen: Terminale, Nonterminale Ausgehend vom Start-Nonterminal werden Nonterminale solange ersetzt, bis nur noch Terminale bleiben. Satz HwP ZwP HwP Art Hw ZwP Hzw HwP Zw Art der den Hw Hund Mond Hzw wird Zw anbellen Satz p HwP ZwP p Art Hw Hzw HwP Zw p der Hund wird Art Hw anbellen p der Hund wird den Mond anbellen Generative Grammatiken gehen zurück auf Noam Chomsky (Linguist, Philosoph, Aktivist; *1928). 54
56 Kontextfreie Grammatik... wird beschrieben durch ein 4-Tupel G = V, T, P, S, wobei V... Menge der Nonterminalsymbole (Variablen) T... Menge der Terminalsymbole (V T = {}) P V (V T )... Produktionen S V... Startsymbol Schreibweise: A w statt (A, w) P A w 1 w n statt A w 1,..., A w n Ableitbarkeit... in einem Schritt: x A y x w y, falls A w P und x, y (V T ).... in mehreren Schritten: u v, falls u = v, oder u u und u v für ein Wort u (V T ). 55
57 Von Grammatik G generierte Sprache L(G) = { w T S w } Grammatiken G 1 und G 2 heißen äquivalent, wenn L(G 1 ) = L(G 2 ) gilt. G = {S}, {a, b}, {S ε a S b}, S S aabb, weil S a S b aa S bb aa ε bb = aabb L(G) = { a n b n n 0 } = {ε, ab aabb aaabbb,... } Kontextfreie Sprachen Eine Sprache heißt kontextfrei, wenn es eine kontextfreie Grammatik gibt, die sie generiert. 56
58 Verschiedene Ableitbarkeitsbegriffe Linksableitbarkeit: x A y L x w y falls A w P und x T (In jedem Schritt wird die linkeste Variable ersetzt.) Rechtsableitbarkeit: x A y R x w y falls A w P und y T (In jedem Schritt wird die rechteste Variable ersetzt.) Parallelableitbarkeit: x 0 A 1 x 1 A n x n P x 0 w 1 x 1 w n x n falls A 1 w 1,..., A n w n P und x 0,..., x n T (In jedem Schritt werden alle Variablen ersetzt.) L, R und P sind eingeschränkte Ableitungsrelationen: Manche Wörter w (V T ) sind mit herleitbar (S w), aber nicht mit diesen Relationen. Sie können aber jedes Wort der Sprache ableiten. Für alle w T gilt: S w gdw. S L w gdw. S R w gdw. S P w L(G) = { w T S w } = { w T S L w } = { w T S R w } = { w T S P w } 57
59 Was Sie heute erwartet 1. Organisatorisches 2. Was bedeutet Modellierung? 3. Aussagenlogik 4. Endliche Automaten 5. Reguläre Sprachen 6. Kontextfreie Grammatiken 6.1. Definition 6.2. Beispiele 58
60 Syntax aussagenlogischer Formeln G = {Fm, Op, Var}, T, P, Fm, wobei T = {,,, (, ),,,,,,,, } V P = { Fm Var Fm ( Fm Op Fm ), Op, Var A B C } ((A B) (A B)) ist eine aussagenlogische Formel, weil: Fm L ( Fm Op Fm ) L ( ( Fm Op Fm ) Op Fm ) L ( ( Var Op Fm ) Op Fm ) L ( ( A Op Fm ) Op Fm ) L ( ( A Fm ) Op Fm ) L ( ( A Var ) Op Fm ) L ( ( A B ) Op Fm ) L ( ( A B ) Fm ) L ( ( A B ) ( Fm Op Fm ) ) L ( ( A B ) ( Var Op Fm ) ) L ( ( A B ) ( A Op Fm ) ) L ( ( A B ) ( A Fm ) ) L ( ( A B ) ( A Var ) ) L ( ( A B ) ( A B ) ) 59
61 Syntax aussagenlogischer Formeln G = {Fm, Op, Var}, T, P, Fm, wobei T = {,,, (, ),,,,,,,, } V P = { Fm Var Fm ( Fm Op Fm ), Op, Var A B C } ((A B) (A B)) ist eine aussagenlogische Formel, weil: Fm P ( Fm Op Fm ) P ( ( Fm Op Fm ) ( Fm Op Fm ) ) P ( ( Var Var ) ( Var Var ) ) P ( ( A B ) ( A B ) ) 60
62 Reelle Numerale G = V, T, P, Real, wobei V = {Real, Scale, Sign, Digits, Digit} T = {0,..., 9,., E, +, -} und P folgende Produktionen sind: Real Digit Digits. Digits Scale Scale ε E Sign Digit Digits Sign ε + - Digits ε Digit Digits Digit 0 9 Optionalität: A ε B (A steht für optionales B) Wiederholung: A ε B A (A steht für wiederholtes B, auch 0 Mal) A B B A (A steht für wiederholtes B, mind. 1 Mal) 61
63 Wohlgeformte Klammerausdrücke WKA ist die kleinste Menge, sodass ε WKA (w) WKA, wenn w WKA w 1 w 2 WKA, wenn w 1, w 2 WKA G = {W }, {(, )}, {W ε ( W ) W W }, W Beispiel einer Ableitung: W P W W P (W )(W ) P ()(W W ) P ()((W )(W )) P ()(()()) L(G) = {ε, (), (()), ()(), ((())), (())(), ()(()), ()()(),... } = WKA 62
3.0 VU Formale Modellierung
3.0 VU Formale Modellierung Gernot Salzer Arbeitsbereich Theoretische Informatik und Logik Institut für Computersprachen SS 206 Inhalt 0. Überblick. Organisation 2. Was bedeutet Modellierung? 3. Aussagenlogik
MehrWas Sie letzte Woche hörten. 3.0 VU Formale Modellierung. Formale Sprachen. Was Sie letzte Woche hörten
Was Sie letzte Woche hörten 3. VU Formale Modellierung Gernot Salzer 25..2 4. Endliche Automaten 4.. Einleitung 4.2. Anwendungsbeispiele 4.3. Grundlagen formaler Sprachen 4.4. Deterministische endliche
Mehr3.0 VU Formale Modellierung
3.0 VU Formale Modellierung Gernot Salzer 25.10.2011 1 Was Sie letzte Woche hörten 4. Endliche Automaten 4.1. Einleitung 4.2. Anwendungsbeispiele 4.3. Grundlagen formaler Sprachen 4.4. Deterministische
MehrInduktive Definition
Rechenregeln A B = B A A (B C) = (A B) C A (B C) = (A B) C A (B C) = A B A C (B C) A = B A C A {ε} A = A A {ε} = A (A {ε}) = A (A ) = A A A = A + A A = A + A + {ε} = A Beispiel. Real-Zahlen = {0,..., 9}
Mehr3.0 VU Formale Modellierung
3.0 VU Formale Modellierung Gernot Salzer Arbeitsbereich Theoretische Informatik und Logik Institut für Computersprachen SS 2016 1 Inhalt 0. Überblick 1. Organisation 2. Was bedeutet Modellierung? 3. Aussagenlogik
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
MehrFragenkatalog 2. Abgabegespräch Formale Modellierung 3 Reguläre Sprachen
Fragenkatalog 2. Abgabegespräch Formale Modellierung 3 Reguläre Sprachen 1. Was ist eine formale Sprache? Menge von Zeichenketten, die aus den Symbolen eines beliebigen Alphabets aufgebaut sind. Zeichenkette:
Mehr3.0 VU Formale Modellierung
3.0 VU Formale Modellierung Gernot Salzer 19.10.2011 1 Was Sie letzte Woche hörten 3. Aussagenlogik 3.1. Was ist Logik? 3.2. Aussagenlogische Funktionen 3.3. Syntax und Semantik der Aussagenlogik 3.4.
MehrBeurteilung. Theoretische Informatik für Lehramt I. Christian Fermüller, Gernot Salzer,
Theoretische Informatik 1 www.logic.at/lvas/thinf1 Theoretische Informatik für Lehramt I www.logic.at/lvas/tila1 Christian Fermüller, chrisf@logic.at Gernot Salzer, salzer@logic.at 1 Beurteilung Übung
MehrGrundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny
Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 1. Automaten und Sprachen 1.1 Endlicher Automat Einen endlichen Automaten stellen wir uns als Black Box vor, die sich aufgrund einer Folge von
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
MehrReguläre Sprachen und endliche Automaten
Reguläre Sprachen und endliche Automaten 1 Motivation: Syntaxüberprüfung Definition: Fließkommazahlen in Java A floating-point literal has the following parts: a whole-number part, a decimal point (represented
MehrTheoretische Informatik und Logik
Theoretische Informatik und Logik Homepage zu dieser LVA: http://www.logic.at/lvas/wiki/185263 Bernhard Gramlich, gramlich@logic.at Marion Oswald, marion@logic.at 1 Vorlesungsteil Vorlesungtermine: Do,
MehrAutomaten und Formale Sprachen SoSe 2007 in Trier. Henning Fernau Universität Trier
Automaten und Formale Sprachen SoSe 2007 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Automaten und Formale Sprachen Gesamtübersicht Organisatorisches Einführung Endliche Automaten und
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
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
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
MehrGrundbegriffe der Informatik Tutorium 33
Tutorium 33 02.02.2017 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Gliederung 1 2 3 Ein ist ein Tupel A = (Z, z 0, X, f, Y, h)
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
MehrAutomaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012
Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1 Einschub: Kellerautomaten
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
MehrAutomaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2011
Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2011 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1 Wir beschäftigen uns ab
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
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
MehrTheoretische Informatik und Logik Übungsblatt 1 (2016S) Lösung
Theoretische Informatik und Logik Übungsblatt (26S) en Aufgabe. Sei L = {w#w r w {, } }. Geben Sie eine deterministische Turingmaschine M an, welche die Sprache L akzeptiert. Wählen Sie mindestens einen
MehrÜbungsaufgaben zu Formalen Sprachen und Automaten
Universität Freiburg PD Dr. A. Jakoby Sommer 27 Übungen zum Repetitorium Informatik III Übungsaufgaben zu Formalen Sprachen und Automaten. Untersuchen Sie das folgende Spiel: A B x x 2 x 3 C D Eine Murmel
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 /
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
MehrEndliche Automaten, reguläre Ausdrücke, rechtslineare Grammatiken
1 / 15 Endliche Automaten, reguläre Ausdrücke, rechtslineare Grammatiken Prof. Dr. Hans Kleine Büning FG Wissensbasierte Systeme WS 08/09 2 / 15 Deterministischer endlicher Automat (DEA) Definition 1:
MehrGrundlagen der Informatik II
Grundlagen der Informatik II Tutorium 2 Professor Dr. Hartmut Schmeck Miniaufgabe * bevor es losgeht * Finden Sie die drei Fehler in der Automaten- Definition. δ: A = E, S, δ, γ, s 0, F, E = 0,1, S = s
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
MehrKontextfreie Grammatiken. Kontextfreie Grammatiken 1 / 48
Kontextfreie Grammatiken Kontextfreie Grammatiken 1 / 48 Was kann man mit kontextfreien Grammatiken anfangen? Kontextfreie Grammatiken, kurz: werden zur Modellierung von KFGs rekursiv definierten baumartigen
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
Mehr10 Kellerautomaten. Kellerautomaten
10 Kellerautomaten Bisher hatten wir kontextfreie Sprachen nur mit Hilfe von Grammatiken charakterisiert. Wir haben gesehen, dass endliche Automaten nicht in der Lage sind, alle kontextfreien Sprachen
MehrKontextfreie Sprachen
Kontextfreie Sprachen Bedeutung: Programmiersprachen (Compilerbau) Syntaxbäume Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung
MehrSyntax von Programmiersprachen
"Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt Syntax von Programmiersprachen Prof. Dr. Christian Böhm in Zusammenarbeit mit Gefei Zhang WS 07/08
MehrLexikalische Analyse, Tokenizer, Scanner
Lexikalische Analyse, Tokenizer, Scanner Frühe Phase des Übersetzers Aufgabenteilung: Scanner (lokale) Zeichen (Symbol-)Analyse Parser Syntax-Analyse Aufgabe des Scanners: Erkennung von: Zahlen, Bezeichner,
MehrKontextfreie Grammatiken. Kontextfreie Grammatiken 1 / 45
Kontextfreie Grammatiken Kontextfreie Grammatiken 1 / 45 Was kann man mit kontextfreien Grammatiken anfangen? Kontextfreie Grammatiken, kurz: werden zur Modellierung von KFGs beliebig tief geschachtelten
Mehr3.0 VU Formale Modellierung
3.0 VU Formale Modellierung Gernot Salzer 20.3.2012 1 Was Sie letzte Woche hörten 3. Aussagenlogik 3.1. Was ist Logik? 3.2. Aussagenlogische Funktionen 3.3. Syntax und Semantik der Aussagenlogik 3.4. Von
MehrSyntax von Programmiersprachen
"Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt Syntax von Programmiersprachen Prof. Dr. Martin Wirsing in Zusammenarbeit mit Michael Barth, Philipp
MehrKapitel 2: Formale Sprachen Gliederung
Gliederung. Einleitung und Grundbegriffe. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.. Chomsky-Grammatiken 2.2. Reguläre Sprachen Reguläre Grammatiken, ND-Automaten
Mehr2. Übungsblatt 6.0 VU Theoretische Informatik und Logik
2. Übungsblatt 6.0 VU Theoretische Informatik und Logik 25. September 2013 Aufgabe 1 Geben Sie jeweils eine kontextfreie Grammatik an, welche die folgenden Sprachen erzeugt, sowie einen Ableitungsbaum
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
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
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
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
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
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
MehrGrammatiken. Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen
Grammatiken Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen Grammatiken eignen sich besonders zur Modellierung beliebig tief geschachtelter,
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
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
MehrEinführung in die Informatik
Universität Innsbruck - Institut für Informatik Datenbanken und Informationssysteme Prof. Günther Specht, Eva Zangerle 24. November 28 Einführung in die Informatik Übung 7 Allgemeines Für die Abgabe der
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
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
MehrReguläre Ausdrücke. Michael Jäger. 4. April 2017
Reguläre Ausdrücke Michael Jäger 4. April 2017 Zeichenketten und Sprachen Ein Alphabet ist eine endliche Menge von Symbolen. Beispiele: 1. Σ 1 = {0, 1} 2. Σ 2 = {a, b, c, d, e, f, g, h, i, j, k, l, m,
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 ε
MehrAutomaten und Formale Sprachen SoSe 2013 in Trier
Automaten und Formale Sprachen SoSe 2013 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 2. Juni 2013 1 Automaten und Formale Sprachen Gesamtübersicht Organisatorisches Einführung Endliche
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
MehrAutomaten und Formale Sprachen SoSe 2013 in Trier
Automaten und Formale Sprachen SoSe 2013 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 2. Juni 2013 1 Automaten und Formale Sprachen Gesamtübersicht Organisatorisches Einführung Endliche
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
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
MehrAutomatentheorie und formale Sprachen
Automatentheorie und formale Sprachen VL 4 Reguläre Ausdrücke und reguläre Sprachen Kathrin Hoffmann 10. April 2012 Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 10.4. 2012 114 Aufgabe 13:
MehrTheoretische Informatik. Reguläre Sprachen und Automaten
Theoretische Informatik Reguläre Sprachen und Automaten Reguläre Sprachen Reguläre Ausdrücke und Sprachen Gleichungen Syntaxdiagramme Erweiterungen Anwendungen Reguläre Ausdrücke über Σ Syntax: Konstante
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
MehrGrundlagen der theoretischen Informatik
Grundlagen der theoretischen Informatik Kurt Sieber Fakultät IV, Department ETI Universität Siegen SS 2013 Vorlesung vom 09.04.2013 Inhalt der Vorlesung Teil I: Automaten und formale Sprachen (Kurt Sieber)
MehrNachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen
Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen Aufgabe 1 2 3 4 5 6 7 max. Punkte 6 6 7 7 8 8 12 err. Punkte Gesamtpunktzahl: Note: 1 Aufgabe 1 (3+1+1+1 = 6 Punkte) Es seien
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)
MehrKapitel 0: Grundbegriffe Gliederung
Gliederung 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechenbarkeitstheorie 4. Komplexitätstheorie 5. Kryptographie 0/2, Folie 1 2009 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
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
MehrKapitel 2. Methoden zur Beschreibung von Syntax
1 Kapitel 2 Methoden zur Beschreibung von Syntax Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt 2 Ziele Zwei Standards zur Definition der Syntax von
MehrSyntax von Programmiersprachen
"Grammatik, die sogar Könige zu kontrollieren weiß aus Molière, Les Femmes Savantes (1672), 2. kt Syntax von Programmiersprachen Prof. Dr. Martin Wirsing Ziele Zwei Standards zur Definition der Syntax
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
Mehr2.6 Verdeutlichung verwendeter Begriffe
2.6 Verdeutlichung verwendeter Begriffe endlich/finit: die Mengen der Zustände und der Ein- bzw. Ausgabezeichen sind endlich synchron: die Ausgabezeichen erscheinen synchron mit dem Einlauf der Eingabezeichen
MehrTheoretische Informatik Testvorbereitung Moritz Resl
Theoretische Informatik Testvorbereitung Moritz Resl Bestandteile einer Programmiersprache: a) Syntax (Form): durch kontextfreie Grammatik beschrieben b) Semantik (Bedeutung) 1.) Kontextfreie Sprachen
Mehr1.5 Turing-Berechenbarkeit
A.M. Turing (1937): Maschinenmodell zur exakten Beschreibung des Begriffs effektiv berechenbar Stift Mensch a c b b Rechenblatt a b b c Lese-/Schreibkopf endliche Kontrolle Turingmaschine Eine Turingmaschine
MehrLexikalische Programmanalyse der Scanner
Der Scanner führt die lexikalische Analyse des Programms durch Er sammelt (scanned) Zeichen für Zeichen und baut logisch zusammengehörige Zeichenketten (Tokens) aus diesen Zeichen Zur formalen Beschreibung
MehrFormale Sprachen. Reguläre Sprachen. Rudolf FREUND, Marian KOGLER
Formale Sprachen Reguläre Sprachen Rudolf FREUND, Marian KOGLER Endliche Automaten - Kleene STEPHEN KLEENE (99-994) 956: Representation of events in nerve nets and finite automata. In: C.E. Shannon und
Mehr1 Spezifikation formaler Sprachen
1 Spezifikation formaler Sprachen 1.1 Formale Sprachen Ein Alphabet ist eine endliche, nicht-leere Menge von atomaren Symbolen, d.h. von Symbolen, die weder eine innere Struktur besitzen noch eine andere
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.
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
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
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
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.
Mehr2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen:
Probeklausur Automatentheorie & Formale Sprachen WiSe 2012/13, Wiebke Petersen Name: Matrikelnummer: Aufgabe A: Typ3-Sprachen 1. Konstruieren Sie einen endlichen Automaten, der die Sprache aller Wörter
MehrKontextfreie Sprachen. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kontextfreie Sprachen
Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Wortproblem: der CYK-Algorithmus Pumping Lemma für kontextfreie Sprachen
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
MehrKontextfreie Sprachen werden von PDAs akzeptiert
Kontextfreie Sprachen werden von PDAs akzeptiert Sei G = (Σ, V, S, P) eine kontextfreie Grammatik. Dann gibt es einen PDA A mit L(A) = L(G). Der PDA A arbeitet mit nur einem Zustand q 0, besitzt das Kelleralphabet
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
Mehr1.5 Turing-Berechenbarkeit
A.M. Turing (1937): Maschinenmodell zur exakten Beschreibung des Begriffs effektiv berechenbar Stift Mensch a c b b Rechenblatt a b b c Lese-/Schreibkopf endliche Kontrolle Turingmaschine Eine Turingmaschine
MehrInformatik III. Christian Schindelhauer Wintersemester 2006/07 7. Vorlesung
Informatik III Christian Schindelhauer Wintersemester 2006/07 7. Vorlesung 16.11.2006 schindel@informatik.uni-freiburg.de 1 Informatik III 7. Vorlesung - 2 Informatik III 7. Vorlesung - 3 Informatik III
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Übung am 3..2 INSTITUT FÜR THEORETISCHE KIT 7..2 Universität des Andrea Landes Schumm Baden-Württemberg - Theoretische und Grundlagen der Informatik INSTITUT FÜR
MehrGrundbegriffe der Informatik Tutorium 10
Grundbegriffe der Informatik Tutorium 10 Tutorium Nr. 32 Philipp Oppermann 17. Januar 2014 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum
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
MehrDas Pumping-Lemma Formulierung
Das Pumping-Lemma Formulierung Sei L reguläre Sprache. Dann gibt es ein n N mit: jedes Wort w L mit w n kann zerlegt werden in w = xyz, so dass gilt: 1. xy n 2. y 1 3. für alle k 0 ist xy k z L. 59 / 162
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
Mehr