3.0 VU Formale Modellierung

Größe: px
Ab Seite anzeigen:

Download "3.0 VU Formale Modellierung"

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

Mehr

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

Mehr

3.0 VU Formale Modellierung

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

Mehr

Induktive Definition

Induktive 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}

Mehr

3.0 VU Formale Modellierung

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

Mehr

Automaten und formale Sprachen Klausurvorbereitung

Automaten und formale Sprachen Klausurvorbereitung Automaten und formale Sprachen Klausurvorbereitung Rami Swailem Mathematik Naturwissenschaften und Informatik FH-Gießen-Friedberg Inhaltsverzeichnis 1 Definitionen 2 2 Altklausur Jäger 2006 8 1 1 Definitionen

Mehr

Fragenkatalog 2. Abgabegespräch Formale Modellierung 3 Reguläre Sprachen

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

Mehr

3.0 VU Formale Modellierung

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

Mehr

Beurteilung. Theoretische Informatik für Lehramt I. Christian Fermüller, Gernot Salzer,

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

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen 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

Mehr

DisMod-Repetitorium Tag 4

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

Mehr

Reguläre Sprachen und endliche Automaten

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

Mehr

Theoretische Informatik und Logik

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

Mehr

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

Mehr

Berechenbarkeitstheorie 1. Vorlesung

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

Mehr

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

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

Mehr

Alphabet, formale Sprache

Alphabet, formale Sprache n Alphabet Alphabet, formale Sprache l nichtleere endliche Menge von Zeichen ( Buchstaben, Symbole) n Wort über einem Alphabet l endliche Folge von Buchstaben, die auch leer sein kann ( ε leere Wort) l

Mehr

Grundbegriffe der Informatik Tutorium 33

Grundbegriffe 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)

Mehr

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer,

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, Reguläre Sprachen Reguläre Sprachen (Typ-3-Sprachen) haben große Bedeutung in Textverarbeitung und Programmierung (z.b. lexikalische Analyse) besitzen für viele Entscheidungsprobleme effiziente Algorithmen

Mehr

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012

Automaten 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

Mehr

Formale Sprachen und endliche Automaten

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

Mehr

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2011

Automaten 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

Mehr

Theoretische Grundlagen des Software Engineering

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

Mehr

1. Übungsblatt 6.0 VU Theoretische Informatik und Logik

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

Mehr

Theoretische Informatik und Logik Übungsblatt 1 (2016S) Lösung

Theoretische 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

Übungsaufgaben zu Formalen Sprachen und Automaten Universität Freiburg PD Dr. A. Jakoby Sommer 27 Übungen zum Repetitorium Informatik III Übungsaufgaben zu Formalen Sprachen und Automaten. Untersuchen Sie das folgende Spiel: A B x x 2 x 3 C D Eine Murmel

Mehr

Grammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S)

Grammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S) Grammatiken Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V Startsymbol S V Produktionen P ( (V Σ) \ Σ ) (V Σ) Kurzschreibweise G = (V, Σ, P, S) Schreibweise für Produktion (α, β) P: α β 67 /

Mehr

Automatentheorie und formale Sprachen

Automatentheorie und formale Sprachen Automatentheorie und formale Sprachen VL 8 Chomsky-Grammatiken Kathrin Hoffmann 23. Mai 2012 Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 23.5. 2012 250 Wortproblem Wortproblem ist das

Mehr

Endliche Automaten, reguläre Ausdrücke, rechtslineare Grammatiken

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

Mehr

Grundlagen der Informatik II

Grundlagen 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

Mehr

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

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

Mehr

Kontextfreie Grammatiken. Kontextfreie Grammatiken 1 / 48

Kontextfreie 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

Mehr

Grundlagen der Theoretischen Informatik

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

Mehr

10 Kellerautomaten. Kellerautomaten

10 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

Mehr

Kontextfreie Sprachen

Kontextfreie Sprachen Kontextfreie Sprachen Bedeutung: Programmiersprachen (Compilerbau) Syntaxbäume Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung

Mehr

Syntax von Programmiersprachen

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

Mehr

Lexikalische Analyse, Tokenizer, Scanner

Lexikalische 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,

Mehr

Kontextfreie Grammatiken. Kontextfreie Grammatiken 1 / 45

Kontextfreie 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

Mehr

3.0 VU Formale Modellierung

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

Mehr

Syntax von Programmiersprachen

Syntax von Programmiersprachen "Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt Syntax von Programmiersprachen Prof. Dr. Martin Wirsing in Zusammenarbeit mit Michael Barth, Philipp

Mehr

Kapitel 2: Formale Sprachen Gliederung

Kapitel 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

Mehr

2. Übungsblatt 6.0 VU Theoretische Informatik und Logik

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

Mehr

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

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

Mehr

5.2 Endliche Automaten

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

Mehr

Grundlagen der Theoretischen Informatik

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

Mehr

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

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

Mehr

Software Engineering Ergänzung zur Vorlesung

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

Mehr

Informatik III - WS07/08

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

Mehr

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

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

Mehr

FORMALE SYSTEME. 3. Vorlesung: Endliche Automaten. TU Dresden, 17. Oktober Markus Krötzsch

FORMALE SYSTEME. 3. Vorlesung: Endliche Automaten. TU Dresden, 17. Oktober Markus Krötzsch FORMALE SYSTEME 3. Vorlesung: Endliche Automaten Markus Krötzsch TU Dresden, 17. Oktober 2016 Rückblick Markus Krötzsch, 17. Oktober 2016 Formale Systeme Folie 2 von 31 Wiederholung Mit Grammatiken können

Mehr

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

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

Mehr

Einführung in die Informatik

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

Mehr

Formale Grundlagen der Wirtschaftsinformatik

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

Mehr

Kontextfreie Sprachen

Kontextfreie Sprachen Kontextfreie Sprachen besitzen große Bedeutung im Compilerbau Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung durch

Mehr

Reguläre Ausdrücke. Michael Jäger. 4. April 2017

Regulä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,

Mehr

Kurz-Skript zur Theoretischen Informatik I

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

Mehr

Automaten und Formale Sprachen SoSe 2013 in Trier

Automaten und Formale Sprachen SoSe 2013 in Trier Automaten und Formale Sprachen SoSe 2013 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 2. Juni 2013 1 Automaten und Formale Sprachen Gesamtübersicht Organisatorisches Einführung Endliche

Mehr

Satz (Abschluß unter der Stern-Operation)

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

Mehr

Automaten und Formale Sprachen SoSe 2013 in Trier

Automaten und Formale Sprachen SoSe 2013 in Trier Automaten und Formale Sprachen SoSe 2013 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 2. Juni 2013 1 Automaten und Formale Sprachen Gesamtübersicht Organisatorisches Einführung Endliche

Mehr

2.1 Allgemeines. Was ist eine Sprache? Beispiele:

2.1 Allgemeines. Was ist eine Sprache? Beispiele: Was ist eine Sprache? Beispiele: (a) Deutsch, Japanisch, Latein, Esperanto,...: Natürliche Sprachen (b) Pascal, C, Java, Aussagenlogik,...: Formale Sprachen Wie beschreibt man eine Sprache? (i) Syntax

Mehr

THIA - Übungsblatt 2.

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

Mehr

Automatentheorie und formale Sprachen

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

Mehr

Theoretische Informatik. Reguläre Sprachen und Automaten

Theoretische 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

Mehr

2.2 Reguläre Sprachen Endliche Automaten

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

Mehr

Grundlagen der theoretischen Informatik

Grundlagen 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)

Mehr

Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen

Nachklausur 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

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen Malte Helmert Gabriele Röger Universität Basel 7. April 2014 Kontextsensitive und allgemeine Grammatiken Wiederholung: (kontextsensitive)

Mehr

Kapitel 0: Grundbegriffe Gliederung

Kapitel 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

Mehr

Einführung in die Theoretische Informatik

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

Mehr

Kapitel 2. Methoden zur Beschreibung von Syntax

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

Mehr

Syntax von Programmiersprachen

Syntax 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

Mehr

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

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

Mehr

2.6 Verdeutlichung verwendeter Begriffe

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

Mehr

Theoretische Informatik Testvorbereitung Moritz Resl

Theoretische Informatik Testvorbereitung Moritz Resl Theoretische Informatik Testvorbereitung Moritz Resl Bestandteile einer Programmiersprache: a) Syntax (Form): durch kontextfreie Grammatik beschrieben b) Semantik (Bedeutung) 1.) Kontextfreie Sprachen

Mehr

1.5 Turing-Berechenbarkeit

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

Mehr

Lexikalische Programmanalyse der Scanner

Lexikalische 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

Mehr

Formale Sprachen. Reguläre Sprachen. Rudolf FREUND, Marian KOGLER

Formale 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

Mehr

1 Spezifikation formaler Sprachen

1 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

Mehr

WS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven

WS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven WS06/07 Referentin: Katharina Blinova Formale Sprachen Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven 1. Allgemeines 2. Formale Sprachen 3. Formale Grammatiken 4. Chomsky-Hierarchie 5.

Mehr

Rekursiv aufzählbare Sprachen

Rekursiv aufzählbare Sprachen Kapitel 4 Rekursiv aufzählbare Sprachen 4.1 Grammatiken und die Chomsky-Hierarchie Durch Zulassung komplexer Ableitungsregeln können mit Grammatiken größere Klassen als die kontextfreien Sprachen beschrieben

Mehr

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14 Kapitel: Die Chomsky Hierarchie Die Chomsky Hierarchie 1 / 14 Allgemeine Grammatiken Definition Eine Grammatik G = (Σ, V, S, P) besteht aus: einem endlichen Alphabet Σ, einer endlichen Menge V von Variablen

Mehr

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

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

Mehr

Das Halteproblem für Turingmaschinen

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

Mehr

2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen:

2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen: Probeklausur Automatentheorie & Formale Sprachen WiSe 2012/13, Wiebke Petersen Name: Matrikelnummer: Aufgabe A: Typ3-Sprachen 1. Konstruieren Sie einen endlichen Automaten, der die Sprache aller Wörter

Mehr

Kontextfreie Sprachen. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kontextfreie Sprachen

Kontextfreie 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

Mehr

Theoretische Informatik I

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

Mehr

Kontextfreie Sprachen werden von PDAs akzeptiert

Kontextfreie 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

Mehr

11.1 Kontextsensitive und allgemeine Grammatiken

11.1 Kontextsensitive und allgemeine Grammatiken Theorie der Informatik 7. April 2014 11. Kontextsensitive und Typ-0-Sprachen Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen 11.1 Kontextsensitive und allgemeine Grammatiken Malte Helmert

Mehr

1.5 Turing-Berechenbarkeit

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

Mehr

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

Informatik 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

Mehr

Theoretische Grundlagen der Informatik

Theoretische 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

Mehr

Grundbegriffe der Informatik Tutorium 10

Grundbegriffe 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

Mehr

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

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

Mehr

Das Pumping-Lemma Formulierung

Das 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

Mehr

Theoretische Grundlagen der Informatik

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

Mehr