Teil V: Formale Sprachen 1. Sprachen und Grammatiken 2. Endliche Automaten

Größe: px
Ab Seite anzeigen:

Download "Teil V: Formale Sprachen 1. Sprachen und Grammatiken 2. Endliche Automaten"

Transkript

1 Formale Sprachen

2 Teil V: Formale Sprachen 1. Sprachen und Grammatiken 2. Endliche Automaten Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 2 (von 50)

3 1. Sprachen und Grammatiken Formale Sprachen Formale Sprachen vs. gesprochene Sprachen Grammatiken Die Sequenz Typen-Einteilung für Grammatiken nach N-Chomsky Chomsky-Hierarchie und Programmiersprachen Chomsky-Normalform (CNF) für Typ 2 Sprachen Reguläre Ausdrücke Alternative Darstellung: BNF/EBNF Syntaxdiagramme Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 3 (von 50)

4 Formale Sprachen Ziele: Formulierung von Algorithmen in eindeutiger und für Computer verständlicher Weise. Mittel: Formalismen, die gewisse Ähnlichkeiten mit gesprochenen Sprachen haen, sich aer in Bezug auf Zweckmässigkeit und Eindeutigkeit von gesprochenen Sprachen agrenzen Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 4 (von 50)

5 Formale Sprachen (1) Gesprochene Sprache hat u. a. Formalen Aufau (Grammatik, d.h. Regeln) Bedeutung (Semantik) auch ei formalen Sprachen kleine grammatisch korrekte Unterschiede können zu großen Bedeutungsunterschieden führen; auch jenseits von Gegenteiligkeit Bsp.: Der Weg ist das Ziel. Weg ist das Ziel. auch in formalen Sprachen möglich Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 5 (von 50)

6 Formale Sprachen (2) Dassele Wort, d. h. diesele Buchstaenfolge kann in verschiedenen gesprochenen Sprachen vorkommen und dann verschiedene Bedeutungen haen m i n d e r deutsch englisch weniger Aufpasser Auch in verschiedenen formalen Sprachen zulässig. Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 6 (von 50)

7 Formale Sprachen vs. gesprochene Sprachen Zeichen aus Alphaet Wörter Ausdrücke, Anweisungen, Wörter, (Sätze) Buchstaen aus Alphaet Wörter Sätze Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 7 (von 50)

8 Grammatiken Um mit Sprachen, die im Allgemeinen unendliche Ojekte sind, algorithmisch umgehen zu können, enötigen wir endliche Beschreiungsmöglichkeiten für Sprachen. Dazu dienen sowohl Grammatiken als auch Automaten Grammatik Syntax Synthetische Sicht Analytische Sicht Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 8 (von 50)

9 Grammatiken (1) NP = Nominalphrase VP = Veralphrase N = Nomen A = Artikel PP = Präpositionalphrase V = Ver P = Präposition Satz NP VP NP NP PP NP N NP A N VP V VP V NP VP VP PP PP P NP P P P N N N N mit in auf Hans Frau Fernglas Park V V A A A A sieht geht der die das einem Syntaxaum zu Hans sieht die Frau mit einem Fernglas 1) Satz 2) Satz Mehrdeutige Grammatik VP VP NP PP NP VP PP NP NP NP NP NP N V A N P A N N V A N P A N (Hans) (sieht) (die Frau) (mit einem Fernglas) (Hans) (sieht die Frau) (mit einem Fernglas) Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 9 (von 50)

10 Grammatiken (2) Eine Grammatik wird spezifiziert durch 4 Angaen: G = (V, Σ, P, S) V = endliche Menge der Varialen Σ = endliche Menge der Terminalzeichen S V = die Startvariale P = endliche Menge der Regeln (oder Produktionen) auch ülich: (V, A, P, S), (N, T, P, S), (S N, S T, P, w S ) Es gilt: V Σ = Regeln Produktionsregeln haen die Form: linke Seite rechte Seite linke und rechte Seite können aus Varialen (= Nichtterminalzeichen) und Terminalzeichen zusammengesetzt sein Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 10 (von 50)

11 Grammatiken (3) Beispiel: V = { S } Σ = { a, } lies: S erzeugt as oder aus S folgt as Regeln 1) S as 2) S a S a S as aa = a²² S as aas aaa = a³³ d. h. Bei dieser Grammatik sind aleitar alle Wörter der Form a n n, n 1 Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 11 (von 50)

12 Grammatiken (4) Definition: Eine endliche, nicht-leere Menge von Terminalzeichen nennt man auch Alphaet. Die Elemente eines Alphaets heißen Symole. Falls Σ ein Alphaet ist, so ezeichnet Σ* die Menge aller Worte estehend aus Buchstaen Σ. leeres Wort z. B.: Σ * = { ε, 0, 1, 00, 01, 10, 11, 000, 001,... } Σ + = Σ * \ { ε } (Buchstaen, Zeichen, Token) ( endliche Folgen) Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 12 (von 50)

13 Grammatiken (5) Beispiel: A = { a,,, z }; B = { 0, 1 } C = { for, end, egin, if, then, else, } (endliche Folgen) Durch Hintereinanderschalten entstehen Wörter acad A*; B*; egin if end C*; Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 13 (von 50)

14 Grammatiken (6) Die Länge eines Wortes ist die Anzahl seiner Buchstaen. acda Σ*, mit acda = 6 ε = 0 Für w Σ* ezeichnet w die Länge von w. Es gilt: w1 w2 = w1 + w2 Sei w Σ* ein Wort, n N Dann ist w n = ww w ein Wort der Länge w n = n w n-mal Sei Σ ein Alphaet, dann heißt L Σ* eine (formale) Sprache Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 14 (von 50)

15 Grammatiken (7) Prolem: Sprachen enthalten i. a. unendlich viele Wörter Ziel: Endlichen Formalismus angeen, der in der Lage ist, unendlich viele Sprachen zu ezeichnen. Beispiel: Grammatik aus vorangegangenem Beispiel war kontextfrei, d. h. auf der linken Seite der Regeln steht nur eine Variale. Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 15 (von 50)

16 Grammatiken (8) kontextsensitive Beispiel für eine nicht-kontextfreie Grammatik V = { S, B } Σ = { a,, c } S: Startvariale Regeln: 1) S asbc 2) S ac 3) cb Bc 4) B Eine mögliche Aleitung eines Wortes Σ* S asbc aacbc aabcc aacc = a²²c² 1) 2) 3) 4) Bei dieser Grammatik sind aleitar: alle Wörter der Form a n n c n, n 1 Σ* Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 16 (von 50)

17 Grammatiken (9) Beispiel Für n = 3 S a S B c aa S B c B c aaac B c B c aaa B cc B c aaa B c B cc aaa B B ccc aaa B ccc aaaccc Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 17 (von 50)

18 Grammatiken (10) Definition: Die von einer Grammatik G = (V, Σ, P, S) erzeugte (definierte) Sprache ist L(G) := { w Σ* S. w } w 1 w 2 edeutet eine Aleitung: vgl. Bsp. von oen: L(G) = { a n n c n n 1 } Das Wort w 1 enthält die linke Seite einer Grammatik-Regel. Diese linke Seite wurde in w 2 durch die rechte Seite ersetzt. Eine Aleitung endet, wenn w nur noch Terminalsymole enthält. Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 18 (von 50)

19 Die Sequenz S w edeutet, dass es eine Aleitung, d. h. eine endliche Folge von Regelanwendungen git, die von S auf w führt. Diese Folge ist nicht zwingend und es kann passieren, dass estimmte ( schlechte) Folgen zu gar keiner Sequenz aus Σ* führen. Beispiel: V = { S, B }, Σ = { a,, c } S asbc S ac cb Bc B as ab d. i. keine Sequenz nur aus Terminalsymolen S asbc abbc [stop] Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 19 (von 50)

20 Typen Einteilung für Grammatiken nach N-Chomsky Typ 0: keine Einschränkungen Typ 1: (oder kontextsensitiv) Für alle Regeln w 1 w 2 der Grammatik muss gelten: w 1 w 2 Typ 2: (oder kontextfrei) für alle Regeln w 1 w 2 der Grammatik gilt: w 1 V Typ 3: (oder regulär) wie Typ 2, zusätzlich muss w 2 eine der eiden Bauarten haen w 2 Σ oder w 2 esteht aus Terminal gefolgt von Varialer Menge aller Sprachen Typ 0 entscheidar Typ 1 Typ 2 Typ 3 Hinweis: Eine Sprache L Σ* ist Typ i { 0, 1, 2, 3 }, falls es Grammatik G vom Typ i git mit L = L(G) Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 20 (von 50)

21 Typen Einteilung für Grammatiken nach N-Chomsky (1) Eine Sprache L ist vom Typ 0, 1, 2, oder 3, wenn es eine Grammatik G von entsprechendem Typ git, die die Sprache festlegt, also L = L(G). Also: Sprachtypen sind gleich Grammatiktypen. Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 21 (von 50)

22 Typen Einteilung für Grammatiken nach N-Chomsky (2) Beispiel für reguläre Sprache (Typ 3) V = { S, A, B } Σ = { a, } P = { 1. S S, 2. S aa, 3. A S, 4. A ab, 5. A a, 6. B B, 7. B ab, 8. B, 9. B a } Diese Grammatik ist vom Typ 3, denn 1. auf der linken Seite steht ei jeder Regel nur eine Variale. 2. auf der rechten Seite steht nur ein einziges Terminalsymol (Regeln 5, 8, 9) oder ein Terminalsymol gefolgt von einer Varialen (Regeln 1, 2, 3, 4, 6, 7). Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 22 (von 50)

23 Typen Einteilung für Grammatiken nach N-Chomsky (3) Welche Sprache wird von vorangegangener Grammatik erzeugt? z. B.: S aa aab aaa S S S aa aa L = { x { a, }* in x kommt aa vor }. Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 23 (von 50)

24 Typen Einteilung für Grammatiken nach N-Chomsky (4) Chomsky Hierarchie ist strikt Typ 1 L = { x a n n c n, n 1 } Beispiel jeweils nicht in speziellerer Klasse Typ 2 L = { x a n n, n 1 } Typ 3 L = { x x enthält aa } Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 24 (von 50)

25 Sprach erkennung Es git effiziente Algorithmen, die ei einem vorgelegten Wort w und einer Typ 2 Grammatik G feststellen, o dieses Wort aus G aleitar ist, d. h. zur Sprache L(G) gehört. Für Typ 1 Grammatiken git es solche effiziente Algorithmen nicht! Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 25 (von 50)

26 Chomsky Hierarchie und Programmiersprachen Heutige Programmiersprachen liegen zwischen Typ 2 (kontextfrei) und Typ 1 (kontextsensitiv). D. h. die meisten Anweisungen sind formale Wörter einer kontextfreien Sprache, aer einige Anweisungen sind formale Wörter einer darüer hinaus gehenden Sprache. Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 26 (von 50)

27 Reguläre Ausdrücke Reguläre Sprachen (Typ 3) lassen sich durch reguläre Ausdrücke eschreien. Der reguläre Ausdruck (0 1)*00(0 1)* erzeugt z. B. die Wörter 00, 100, : oder * : keine oder eine oder elieig viele Wiederholungen Hilfszeichen zusätzlich zu ( und ). Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 27 (von 50)

28 Reguläre Ausdrücke (1) * (a*a*a*)* eschreit Wörter mit durch 3 teilarer Anzahl von a s, z. B. aaa, aaa, aaaaaa, ( )* eschreit die natürlichen Zahlen einschließlich 0, 00, 000, 0 1 (0 1)* (+ ) 0 1 (0 1)* eschreit Addition oder Sustraktion oder Multiplikation von Binärzahlen. 0 1 (0 1)* / 1 (0 1)* eschreit Division von Binärzahlen. Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 28 (von 50)

29 Reguläre Ausdrücke (2) (A T C G) (A T C G) (A T C G) eschreit die 4 3 = 64 möglichen Triplets üer dem Alphaet { A, T, C, G }: Wörter des genetischen Codes. Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 29 (von 50)

30 Reguläre Ausdrücke (3) weitere Beispiele: Σ = { 0, 1 } (1) (0 1)* eschreit { 0, 1 }* (2) (0 1)* 0 (0 1)* (3) 1* 0 (0 1)* (4) (0 1)* 0 1* Menge aller Wörter die mindestens eine 0 enthalten (5) 0* 1 0* 1 (0 1)* Menge aller Wörter die mindestens zwei 1 en enthalten (6) (0* 1 0* 1 0*)* Menge aller Wörter, so dass # der 1 en gerade ist Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 30 (von 50)

31 Reguläre Ausdrücke (6) Die von regulären Ausdrücken erzeugten Sprachen sind Typ 3 Sprachen Zur Veranschaulichung dieses Zusammenhangs wird die Sprache des regulären Ausdrucks (0 1)* üer eine reguläre Grammatik erzeugt: S ε V = { S } S 0 Σ = { 0, 1 } S 1 S 0S S 1S Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 31 (von 50)

32 Verkürzte Schreiweise (1) Die Notation regulärer Ausdrücke kann auf die Produktionsregeln üertragen werden: S ε S 0 S 1 S 0S S 1S wird äquivalent geschrieen als S ε 0 1 0S 1S (Typ 3) Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 32 (von 50)

33 Alternative Darstellungen für kontextfreie Grammatiken BNF (Backus-Naur-Form) verkürzte Darstellung für kontextfreie Grammatiken (Typ 2). Für mehrere Regeln, die alle diesele linke Seite haen A β 1 A β 2 A β n kann verkürzend eine einzige Metaregel angegeen werden (unter Verwendung des Metasymols ): A β 1 β 2 β n (Alternative) (Backus und Naur verwendeten statt allerdings ::= ). Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 33 (von 50)

34 Alternative Darstellungen für kontextfreie Grammatiken (1) EBNF (erweiterte Backus-Naur-Form) Weitere Akürzungen werden eingeführt: A αγ A αβγ wird zu A α[β]γ Bedeutung: Der Ausdruck β kann muss aer nicht zwischen α und γ eingefügt werden. (einmal oder keinmal) A αγ A αbγ B β B βb wird zu A α{β}γ Bedeutung: Der Ausdruck β kann zwischen α und γ elieig oft (auch null-mal) wiederholt werden. (keinmal, einmal oder n-mal) Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 34 (von 50)

35 Beispiel: G = (V, Σ, P, S) G = ( { S, A }, { 0, 1 }, { S 0A11, A ε, A 0A, A 1A }, S ) Aus den Produktionen: S 0A11, A ε, A 0A, A 1A wird in EBNF: S 0A11, A { 0 1 } EBNF genauso mächtig, aer kürzer Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 35 (von 50)

36 Beispiel: Syntax für ganze Dezimalzahlen Herkömmliche Notation: GanzeZahl Zahl GanzeZahl Vorzeichen Zahl Ziffer Zahl Ziffer Zahl Vorzeichen + Vorzeichen Ziffer 0 Ziffer 1 Ziffer 2 Ziffer 3 Ziffer 4 Ziffer 5 Ziffer 6 Ziffer 7 Ziffer 8 Ziffer 9 Zahl BNF: GanzeZahl Zahl Vorzeichen EBNF: Ziffer GanzeZahl Ziffer Beachte: + 0 Zahl Ziffer 1 Vorzeichen Ziffer Zahl Zahl [ + ] Ziffer { Ziffer } In diesem Beispiel sind Nichtterminalsymole mittels < > geklammert dargestellt, Terminalsymole nicht geklammert. Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 36 (von 50)

37 Syntaxäume (Aleitungsäume) G = (V, Σ, P, S) G = ( { S }, { (, ) }, { S (), S (S), S SS }, S ) Frage : Gehört ( ( ) ) ( ( ) ( ) ) zur Sprache? Mehrere Aleitungen für das sele Wort, die sich nur in der Reihenfolge der Anwendungen der Produktionen unterscheiden, lassen sich in einem Syntaxaum darstellen. (Es kann auch mehrere Syntaxäume für eine Aleitung geen) S S S ( S ) ( S ) ( ) S S ( ) ( ) Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 37 (von 50)

38 Syntaxdiagramme Graphische Darstellung für kontextfreie Grammatiken (Typ 2) Grundausteine der Diagramme: nichtterminale Symole (Varialen) A ( Platzhalter für ein weiteres Diagramm) A Terminalsymole a ( Symole der formalen Sprache) a Konkatenationen (Wortkonstruktionen) ( Üergang von einem Knoten ( ) zum Folgenden) Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 38 (von 50)

39 Syntaxdiagramme (1) Regeln im Umgang mit Syntaxdiagrammen: Jedes Diagramm esitzt einen Namen, genau einen eingehenden Pfeil und genau einen ausgehenden Pfeil. Jeder Knoten hat genau einen eingehenden Pfeil und genau einen ausgehenden Pfeil. Jedes Rechteck (Variale, Nichtterminalsymol) verweist auf ein weiteres Syntaxdiagramm, welches an der Rechteck-Stelle hinein kopiert zu denken ist. Um ein syntaktisch korrektes Wort zu erhalten, durchläuft man das Syntaxdiagramm eim Eingangspfeil eginnend auf einem der möglichen Wege is zum Ausgangspfeil. Daei notiert man der Reihe nach die Terminalsymole (in den Ovalen), an denen man vorei kommt. Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 39 (von 50)

40 Syntaxdiagramme (2) Beispiel: Grammatik von Folie 43 S A 0 A A in S hineinkopiert: S A Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 40 (von 50)

41 Syntaxdiagramme (3) Beispiel: Ausgeglichene Klammern von Folie 45 Rekursion: Syntaxdiagramm kann in sich selst eingesetzt/kopiert werden. S ( ( S ) S ) S Was wird hier kopiert/eingesetzt? Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 41 (von 50)

42 Allgemeiner Zusammenhang: EBNF Syntaxdiagramm 1. Alternative 2. Verkettung A a B. A A ab. A a a B B 3. Wiederholungen kein- oder einmal α kein-, ein- oder n-mal α A A [ α ]. { α }. A A α α Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 42 (von 50)

43 Umsetzung: Produktionen Syntaxdiagramm Beispiel: Ausgeglichene Klammern 1. Produktionen und EBNF P 2. Diagramme { S (), S ( S S SS} P : S ([ S] ) SS = ), ( ) S ( S ) S S S S ( S ) S Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 43 (von 50)

44 2. Endliche Automaten Endliche Automaten Konstruktionen mit endlichen Automaten Ageschlossenheit Minimalautomat Äquivalenzprolem für Endliche Automaten Leerheitsprolem und Wortprolem Kellerautomaten Turingmaschine Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 44 (von 50)

45 Endliche Automaten Bestandteile: Zustände: Z Eine andere Methode, um Typ 3 Sprachen zu definieren Zustandsüergänge: Beispiel: Start S A a a a B Startzustand Endzustand (gerichtete Kanten, eschriftet mit a Σ, Σ Alphaet) Die vom Automaten M akzeptierte Sprache T(M) ist die Menge aller Wörter w Σ*, die vom Startzustand zu einem Endzustand führen a T(M) T(M) aa T(M) aa T(M) aa T(M) usw. {, -5, -2, 1, 4, 7, } Es gilt: T(M) = { w { a, }* ((# a s in w) (# s in w)) 1(mod 3) } Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 45 (von 50)

46 Endliche Automaten (1) M 1 : a Start S A a a B a a Endzustände dürfen zwischendurch verlassen werden! Endzustand = Startzustand erlaut! T(M) = { w # a s in w # s in w = 1 mod 3 } (eim Teilen durch 3 entsteht eín Rest von 1), 2, 1, 4, 7, 11, M 2 : Start 3 1 S a 2 a a A a B 4 a a a a a a a (geht in eiden Endlichen Automaten) (geht nur im unteren Endl. Autom.) Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 46 (von 50)

47 Endliche Automaten (2) Vom Automaten zur Typ 3-Grammatik: M 1 : S aa B a A ab S B as A kompaktere Schreiweise für: S aa S B S a Beispiel einer Aleitung: S aa aab aa Für jeden Automaten M git es eine Typ 3-Grammatik mit L(G) = T(M) Es git auch die Umkehrung: Zu jeder Typ 3-Grammatik G git es einen Automaten M mit T(M) = L(G) Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 47 (von 50)

48 Endliche Automaten (3) Bemerkung: Ein endlicher Automat muss folgende Bedingungen erfüllen: Jeder Zustand esitzt genau viele hinausgehende Kanten, die mit a eschriftet sind. c a Σ = { a,, c } Unzulässig: sog. nichtdeterministischer Automat a a Vervollständigung Unvollständiger Automat: a (Kanten fehlen) a, c c a a, c a,, c c Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 48 (von 50)

49 Konstruktionen mit endlichen Automaten Komplement Gegeen sei ein vollständiger Automat M mit L = T(M) Beispiel: a a a T(M) = { w { a, }* # der a s in w ist durch 3 teilar } Gesucht ist ein M, so dass T(M ) = L := Σ*\L M : a a a Man vertauscht Endzustände mit Nicht-Endzuständen Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 49 (von 50)

50 Konstruktionen mit endlichen Automaten (1) Die Typ 3-Sprachen sind unter Komplementildung ageschlossen. Falls L vom Typ 3, also L = T(M) für einen Automaten M, so ist auch L vom Typ 3, weil für M gilt L = T(M ). Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 50 (von 50)

Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive

Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive Grammatik G mit L(G) = L(G ). Beweis im Beispiel (2.): G = (V,Σ, P, S) : P = {S asbc, S abc, CB BC, ab ab, bb bb, bc bc, cc cc}. (i) G

Mehr

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

Kapitel IV Formale Sprachen und Grammatiken

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

Mehr

Mehrdeutige Grammatiken

Mehrdeutige Grammatiken Mehrdeutige Grammatiken Wir haben gesehen, dass es auch mehr als eine Linksableitung, d.h. mehr als einen Syntaxbaum geben kann, um das selbe Terminalwort zu erzeugen. Eine Grammatik, die für mindestens

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

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

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

Definition 4 (Operationen auf Sprachen) Beispiel 5. Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A + = n 1 An

Definition 4 (Operationen auf Sprachen) Beispiel 5. Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A + = n 1 An Definition 4 (Operationen auf Sprachen) Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A 0 = {ɛ}, A n+1 = AA n A = n 0 An A + = n 1 An Beispiel 5 {ab, b}{a, bb} = {aba, abbb,

Mehr

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

6 Kontextfreie Grammatiken

6 Kontextfreie Grammatiken 6 Kontextfreie Grammatiken Reguläre Grammatiken und damit auch reguläre Ausdrücke bzw. endliche Automaten haben bezüglich ihres Sprachumfangs Grenzen. Diese Grenzen resultieren aus den inschränkungen,

Mehr

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

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

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

Grammatik Prüfung möglich, ob eine Zeichenfolge zur Sprache gehört oder nicht

Grammatik Prüfung möglich, ob eine Zeichenfolge zur Sprache gehört oder nicht Zusammenhang: Formale Sprache Grammatik Formale Sprache kann durch Grammatik beschrieben werden. Zur Sprache L = L(G) gehören nur diejenigen Kombinationen der Zeichen des Eingabealphabets, die durch die

Mehr

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

Endliche Automaten. aus. Abbildung 1: Modell eines einfachen Lichtschalters

Endliche Automaten. aus. Abbildung 1: Modell eines einfachen Lichtschalters Endliche Automaten In der ersten Vorlesungswoche wollen wir uns mit endlichen Automaten eschäftigen. Um uns diesen zu nähern, etrachten wir zunächst einen einfachen Lichtschalter. Dieser kann an oder aus

Mehr

I.5. Kontextfreie Sprachen

I.5. Kontextfreie Sprachen I.5. Kontextfreie prachen Zieht man in Betracht, dass BNF-yteme gerade so beschaffen sind, dass auf der linken eite immer genau ein Nichtterminal steht, so sind das also gerade die Ableitungsregeln einer

Mehr

Der deterministische, endliche Automat. Formale Grundlagen der Informatik 1 Kapitel 3 Mehr zu regulären Sprachen

Der deterministische, endliche Automat. Formale Grundlagen der Informatik 1 Kapitel 3 Mehr zu regulären Sprachen Der deterministische, endliche Automat Formale Grundlagen der Informatik 1 Kapitel 3 Mehr zu regulären Sprachen Frank Heitmann heitmann@informatik.uni-hamurg.de 8. April 2014 Definition (DFA) Ein deterministischer,

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

Kapitel 2: Methoden zur Beschreibung von Syntax

Kapitel 2: Methoden zur Beschreibung von Syntax Einführung in die Informatik: Programmierung und Softwareentwicklung Wintersemester 2018/19 Kapitel 2: Methoden zur Beschreibung von Syntax Prof. Dr. David Sabel Lehr- und Forschungseinheit für Theoretische

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

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

Ein Fragment von Pascal

Ein Fragment von Pascal Ein Fragment von Pascal Wir beschreiben einen (allerdings sehr kleinen) Ausschnitt von Pascal durch eine kontextfreie Grammatik. Wir benutzen das Alphabet Σ = {a,..., z, ;, :=, begin, end, while, do} und

Mehr

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

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

Mehr

Mehrdeutige Grammatiken

Mehrdeutige Grammatiken Mehrdeutige Grammatiken Wir haben gesehen, dass es auch mehr als eine Linksableitung, d.h. mehr als einen Syntaxbaum geben kann, um das selbe Terminalwort zu erzeugen. Eine Grammatik, die für mindestens

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

Klammersprache Definiere

Klammersprache Definiere Klammersprache w=w 1...w n {(,)}* heißt korrekt geklammert, falls die Anzahl ( ist gleich der Anzahl ). in jedem Anfangsstück w 1,...,w i (i n) ist die Anzahl ( nicht kleiner als die Anzahl ). Definiere

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

Sprachen sind durch folgenden Aufbau gekennzeichnet:

Sprachen sind durch folgenden Aufbau gekennzeichnet: BNF UND SYNTAXDIAGRAMME 1. Allgemeines 1.1 Aufbau von Sprachen BNF und Syntaxdiagramme werden verwendet, um die Syntax einer Sprache darzustellen und graphisch zu veranschaulichen. Mit ihnen können entweder

Mehr

Einführung in die Computerlinguistik

Einführung in die Computerlinguistik Einführung in die Computerlinguistik Kontextfreie Sprachen und Pushdown-Automaten Dozentin: Wiebke Petersen WS 2004/2005 Wiebke Petersen Formale Komplexität natürlicher Sprachen WS 03/04 Wiederholung c

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

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

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

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

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

Mehr

(Prüfungs-)Aufgaben zu formale Sprachen

(Prüfungs-)Aufgaben zu formale Sprachen (Prüfungs-)Aufgaben zu formale Sprachen (siehe auch bei den Aufgaben zu endlichen Automaten) 1) Eine Grammatik G sei gegeben durch: N = {S, A}, T = {a, b, c, d}, P = { (S, Sa), (S, ba), (A, ba), (A, c),

Mehr

Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz.

Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz. Chomsky-0-Grammatik Rek. Aufz. Satz T5.2.2: Wenn L durch eine Chomsky-0- Grammatik G beschrieben wird, gibt es eine NTM M, die L akzeptiert. Beweis: Algo von M: Schreibe S auf freie Spur. Iteriere: Führe

Mehr

Vorlesung Automaten und Formale Sprachen Sommersemester Beispielsprachen. Sprachen

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

Mehr

Übersicht: Inhalt und Ziele. Kapitel 2: Methoden zur Beschreibung von Syntax. Aufbau von Programmen. Syntax von Programmiersprachen

Übersicht: Inhalt und Ziele. Kapitel 2: Methoden zur Beschreibung von Syntax. Aufbau von Programmen. Syntax von Programmiersprachen Einführung in die Informatik: Programmierung und Softwareentwicklung Wintersemester 2018/19 Übersicht: Inhalt und Ziele Zwei Methoden zur Beschreibung (Definition) der Syntax von Programmiersprachen Backus-Naur-Form

Mehr

Die Chomsky Hierarchie

Die Chomsky Hierarchie Die Chomsky Hierarchie Slide 1 Die Chomsky Hierarchie Hans U. Simon (RUB) Email: simon@lmi.rub.de Homepage: http://www.ruhr-uni-bochum.de/lmi Die Chomsky Hierarchie Slide 2 Vorgeplänkel: Mathematische

Mehr

Teil V: Formale Sprachen

Teil V: Formale Sprachen Formle Sprchen Teil V: Formle Sprchen 1. Sprchen und Grmmtiken 2. Endliche Automten Frnz-Josef Rdermcher & Uwe Schöning, Fkultät für Ingeneurwissenschften und Informtik, Universität Ulm, 2008/09 Formle

Mehr

Klausur zur Vorlesung Grundbegriffe der Informatik 14. September 2015 Lösungsvorschläge

Klausur zur Vorlesung Grundbegriffe der Informatik 14. September 2015 Lösungsvorschläge Klausur zur Vorlesung Grundegriffe der Informatik 14. Septemer 2015 svorschläge Klausurnummer Nachname: Vorname: Matr.-Nr.: Diese Klausur ist mein 1. Versuch 2. Versuch in GBI Email-Adr.: nur falls 2.

Mehr

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

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

Mehr

Formale Sprachen. Script, Kapitel 4. Grammatiken

Formale Sprachen. Script, Kapitel 4. Grammatiken Formale Sprachen Grammatiken Script, Kapitel 4 erzeugen Sprachen eingeführt von Chomsky zur Beschreibung natürlicher Sprache bedeutend für die Syntaxdefinition und -analyse von Programmiersprachen Automaten

Mehr

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

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

7. Syntax: Grammatiken, EBNF

7. Syntax: Grammatiken, EBNF 7. Syntax: Grammatiken, EBNF Teil 1 Sehr schönes Beispiel für Notwendigkeit der Theoretischen Informatik für Belange der Praktischen Informatik Vertiefung in: Einführung in die Theoretische Informatik

Mehr

3 Syntax von Programmiersprachen

3 Syntax von Programmiersprachen 3 Syntax von Programmiersprachen Syntax ( Lehre vom Satzbau ) formale Beschreibung des Aufbaus der Worte und Sätze, die zu einer Sprache gehören; im Falle einer Programmiersprache Festlegung, wie Programme

Mehr

2.4 Kontextsensitive und Typ 0-Sprachen

2.4 Kontextsensitive und Typ 0-Sprachen Definition 2.43 Eine Typ 1 Grammatik ist in Kuroda Normalform, falls alle Regeln eine der folgenden 4 Formen haben: Dabei: A, B, C, D V und a Σ. Satz 2.44 A a, A B, A BC, AB CD. Für jede Typ 1 Grammatik

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

Kapitel 5: Syntaxdiagramme und Grammatikregeln

Kapitel 5: Syntaxdiagramme und Grammatikregeln 5. Syntaxdiagramme und Grammatikregeln 5-1 Objektorientierte Programmierung (Winter 2010/2011) Kapitel 5: Syntaxdiagramme und Grammatikregeln Syntaxdiagramme Grammatikregeln (kontextfrei) Beispiele: Lexikalische

Mehr

Ist eine algorithmische Problemstellung lösbar und wenn ja, mit welchen Mitteln? was ist eine algorithmische Problemstellung?

Ist eine algorithmische Problemstellung lösbar und wenn ja, mit welchen Mitteln? was ist eine algorithmische Problemstellung? Überblick 1. reguläre Sprachen endliche Automaten (deterministisch vs. nichtdeterministisch) Nichtregularität 2. Berechenbarkeit Registermaschinen/Turingmaschinen Churchsche These Unentscheidbarkeit 3.

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

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

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

3 Syntax von Programmiersprachen

3 Syntax von Programmiersprachen 3 Syntax von Programmiersprachen Syntax ( Lehre vom Satzbau ) formale Beschreibung des Aufbaus der Worte und Sätze, die zu einer Sprache gehören; im Falle einer Programmiersprache Festlegung, wie Programme

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

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

Einführung in die Informatik. Programming Languages

Einführung in die Informatik. Programming Languages Einführung in die Informatik Programming Languages Beschreibung von Programmiersprachen Wolfram Burgard Motivation und Einleitung Wir haben in den vorangehenden Kapiteln meistens vollständige Java- Programme

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

Abschluss gegen Substitution. Wiederholung. Beispiel. Abschluss gegen Substitution

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

Mehr

Grundlagen der Theoretischen Informatik

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

Mehr

Einführung in die Informatik. Programming Languages

Einführung in die Informatik. Programming Languages Einführung in die Informatik Programming Languages Beschreibung von Programmiersprachen Wolfram Burgard Cyrill Stachniss 1/15 Motivation und Einleitung Wir haben in den vorangehenden Kapiteln meistens

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

Daten und Algorithmen

Daten und Algorithmen LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Kapitel 3 Daten und Algorithmen Skript zur Vorlesung Einführung in die Programmierung g im Wintersemester 2012/13 Ludwig-Maximilians-Universität

Mehr

23. Kontextsensitive Sprachen

23. Kontextsensitive Sprachen 2. Kontextsensitive Sprachen In diesem Aschnitt etrachten wir die Klasse der kontextsensitiven Sprachen, der nach der Klasse der allgemeinen Chomsky-Sprachen größten Klasse der Chomsky- Hierarchie. Wir

Mehr

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

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

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 15.01.2015 INSTITUT FÜR THEORETISCHE 0 KIT 15.01.2015 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

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

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

3.1 Reservierte Wörter

3.1 Reservierte Wörter 3.1 Reservierte Wörter int Bezeichner für Basis-Typen; if, else, while Schlüsselwörter aus Programm-Konstrukten; (,), ",, {,},,,; Sonderzeichen. 62 3.2 Was ist ein erlaubter Name? Schritt 1: Angabe der

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

Lösungsvorschläge und Erläuterungen Klausur zur Vorlesung Grundbegriffe der Informatik 2. März 2016

Lösungsvorschläge und Erläuterungen Klausur zur Vorlesung Grundbegriffe der Informatik 2. März 2016 Lösungsvorschläge und Erläuterungen Klausur zur Vorlesung Grundegriffe der Informatik 2. März 2016 Klausurnummer Nachname: Vorname: Matr.-Nr.: Diese Klausur ist mein 1. Versuch 2. Versuch in GI Email-dr.:

Mehr

Syntax von Programmiersprachen

Syntax von Programmiersprachen Information: ist Rohstoff der Informatik, hat eigenständige Dimension (vgl. Länge, Zeit, elektrische Ladung ist jedoch nicht im SI-System enthalten) läßt sich nicht messen, sie wird berechnet wird durch

Mehr

Formale Sprachen, Grammatiken

Formale Sprachen, Grammatiken Formale Sprachen, Grammatiken Informatik I utomatisierungstechnik in der Produktion 17.11.2004 Page 1 of 22 1. Formale Sprachen und Grammatiken Wir hatten gesehen, dass die Regeln dafür, was ein korrekt

Mehr

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012 Hier Aufkleber mit Name und Matrikelnr. anbringen

Mehr

Automaten und Formale Sprachen 4. Vorlesung

Automaten und Formale Sprachen 4. Vorlesung Automaten und Formale Sprachen 4. Vorlesung Martin Dietzfelinger. Novemer 005 Beispiel: Endliche Sprache L = {w,...,w n }, z.b. L = {ei,eine,ue} Gesehen: Präfix-DFA. Hier: NFA e 0 u i 4 e i n 5 6 7 e e

Mehr

1 Formale Sprachen, reguläre und kontextfreie Grammatiken

1 Formale Sprachen, reguläre und kontextfreie Grammatiken Praktische Informatik 1, WS 2001/02, reguläre Ausdrücke und kontextfreie Grammatiken 1 1 Formale Sprachen, reguläre und kontextfreie Grammatiken Ein Alphabet A ist eine endliche Menge von Zeichen. Die

Mehr

Kontextfreie Grammatiken

Kontextfreie Grammatiken Kontextfreie Grammatiken Bisher haben wir verschiedene Automatenmodelle kennengelernt. Diesen Automaten können Wörter vorgelegt werden, die von den Automaten gelesen und dann akzeptiert oder abgelehnt

Mehr

Abschnitt 4: Daten und Algorithmen

Abschnitt 4: Daten und Algorithmen Abschnitt 4: Daten und Algorithmen 4. Daten und Algorithmen 4.1 4.2 Syntaxdefinitionen 4.3 Eigenschaften von Algorithmen 4.4 Paradigmen der Algorithmenentwicklung Peer Kröger (LMU München) Einführung in

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

Einführung in die Theoretische Informatik

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

Mehr

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme Stefan Brass: OOP (Java), 3. 1/31 Objektorientierte Programmierung Kapitel 3: Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2014/15 http://www.informatik.uni-halle.de/ brass/oop14/

Mehr

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2014/2015

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2014/2015 2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2014/2015 Hier Aufkleber mit Name und Matrikelnummer anbringen Vorname: Nachname: Matrikelnummer: Beachten Sie: Bringen Sie

Mehr

Die Chomsky Hierarchie

Die Chomsky Hierarchie Die Chomsky Hierarchie Slide 1 Die Chomsky Hierarchie Hans U. Simon (RUB) mit Modifikationen von Maike Buchin (RUB) Lehrstuhl Mathematik und Informatik Homepage: http://www.ruhr-uni-bochum.de/lmi Die Chomsky

Mehr

Formalismen für REG. Formale Grundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen. Das Pumping Lemma. Abschlusseigenschaften

Formalismen für REG. Formale Grundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen. Das Pumping Lemma. Abschlusseigenschaften Formalismen für RE Formale rundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen Frank Heitmann heitmann@informatik.uni-hamburg.de Satz Zu jeder regulären Sprache L gibt es einen DFA A mit L(A) =

Mehr

Turingmaschinen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen

Turingmaschinen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: und effiziente Algorithmen Wintersemester 2011/12 Schematische Darstellung einer Turing-Maschine: Kopf kann sich nach links und

Mehr

Theoretische Grundlagen der Informatik. Vorlesung am 8. Januar INSTITUT FÜR THEORETISCHE INFORMATIK

Theoretische Grundlagen der Informatik. Vorlesung am 8. Januar INSTITUT FÜR THEORETISCHE INFORMATIK Theoretische Grundlagen der Informatik 0 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Letzte Vorlesung Eine

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

Grundbegriffe. Grammatiken

Grundbegriffe. Grammatiken Grammatiken Grammatiken in der Informatik sind ähnlich wie Grammatiken für natürliche Sprachen ein Mittel, um alle syntaktisch korrekten Sätze (hier: Wörter) einer Sprache zu erzeugen. Beispiel: Eine vereinfachte

Mehr

Algorithmen und Formale Sprachen

Algorithmen und Formale Sprachen Algorithmen und Formale Sprachen Algorithmen und formale Sprachen Formale Sprachen und Algorithmen Formale Sprachen und formale Algorithmen (formale (Sprachen und Algorithmen)) ((formale Sprachen) und

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

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

Grundlagen der Theoretischen Informatik

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

Mehr

Formale Sprachen Jörg Roth Formale Sprachen

Formale Sprachen Jörg Roth Formale Sprachen Formale Sprachen Jörg Roth 196 3 Formale Sprachen Wir haben uns bisher nur mit einem Typ formaler Sprachen besonders intensiv beschäftigt den regulären Sprachen. Wir haben aber auch erkannt, dass reguläre

Mehr

Musterlösung zur Nachklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14

Musterlösung zur Nachklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14 Institut für Theoretische Informatik Prof. Dr. Jörn Müller-Quade Musterlösung zur Nachklausur Theoretische Grundlagen der Informatik Wintersemester 203/4 Vorname Nachname Matrikelnummer Hinweise Für die

Mehr