Teil V: Formale Sprachen 1. Sprachen und Grammatiken 2. Endliche Automaten
|
|
- Moritz Meyer
- vor 6 Jahren
- Abrufe
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 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
MehrGrammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S)
Grammatiken Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V Startsymbol S V Produktionen P ( (V Σ) \ Σ ) (V Σ) Kurzschreibweise G = (V, Σ, P, S) Schreibweise für Produktion (α, β) P: α β 67 /
MehrKapitel IV Formale Sprachen und Grammatiken
Kapitel IV Formale Sprachen und Grammatiken 1. Begriffe und Notationen Sei Σ ein (endliches) Alphabet. Dann Definition 42 1 ist Σ das Monoid über Σ, d.h. die Menge aller endlichen Wörter über Σ; 2 ist
MehrMehrdeutige 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
MehrAlphabet, formale Sprache
n Alphabet Alphabet, formale Sprache l nichtleere endliche Menge von Zeichen ( Buchstaben, Symbole) n Wort über einem Alphabet l endliche Folge von Buchstaben, die auch leer sein kann ( ε leere Wort) l
MehrSyntax von Programmiersprachen
"Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt Syntax von Programmiersprachen Prof. Dr. Christian Böhm in Zusammenarbeit mit Gefei Zhang WS 07/08
MehrSyntax von Programmiersprachen
"Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt Syntax von Programmiersprachen Prof. Dr. Martin Wirsing in Zusammenarbeit mit Michael Barth, Philipp
MehrDefinition 4 (Operationen auf Sprachen) Beispiel 5. Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A + = n 1 An
Definition 4 (Operationen auf Sprachen) Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A 0 = {ɛ}, A n+1 = AA n A = n 0 An A + = n 1 An Beispiel 5 {ab, b}{a, bb} = {aba, abbb,
Mehr2.1 Allgemeines. Was ist eine Sprache? Beispiele:
Was ist eine Sprache? Beispiele: (a) Deutsch, Japanisch, Latein, Esperanto,...: Natürliche Sprachen (b) Pascal, C, Java, Aussagenlogik,...: Formale Sprachen Wie beschreibt man eine Sprache? (i) Syntax
Mehr6 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,
MehrSyntax von Programmiersprachen
"Grammatik, die sogar Könige zu kontrollieren weiß aus Molière, Les Femmes Savantes (1672), 2. kt Syntax von Programmiersprachen Prof. Dr. Martin Wirsing Ziele Zwei Standards zur Definition der Syntax
MehrFormale Grundlagen der Wirtschaftsinformatik
Formale Grundlagen der Wirtschaftsinformatik Nikolaj Popov Research Institute for Symbolic Computation popov@risc.uni-linz.ac.at Sprachen und Grammatiken Teil II Sprache Definition: Ein Alphabet Σ ist
Mehr3. Vorlesung: Endliche Automaten Markus Kr otzsch Lehrstuhl Wissensbasierte Systeme
Wiederholung Mit Grammatiken können wir Sprachen beschreiben und sie grob in Typen unterteilen: FORMALE SYSTEME 3. Vorlesung: Endliche Automaten Markus Krötzsch Lehrstuhl Wissensbasierte Systeme Formale
MehrGrammatik 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
MehrFORMALE SYSTEME. 3. Vorlesung: Endliche Automaten. TU Dresden, 17. Oktober Markus Krötzsch
FORMALE SYSTEME 3. Vorlesung: Endliche Automaten Markus Krötzsch TU Dresden, 17. Oktober 2016 Rückblick Markus Krötzsch, 17. Oktober 2016 Formale Systeme Folie 2 von 31 Wiederholung Mit Grammatiken können
MehrEndliche 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
MehrI.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
MehrDer 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,
MehrWS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven
WS06/07 Referentin: Katharina Blinova Formale Sprachen Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven 1. Allgemeines 2. Formale Sprachen 3. Formale Grammatiken 4. Chomsky-Hierarchie 5.
MehrKapitel 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
MehrKapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14
Kapitel: Die Chomsky Hierarchie Die Chomsky Hierarchie 1 / 14 Allgemeine Grammatiken Definition Eine Grammatik G = (Σ, V, S, P) besteht aus: einem endlichen Alphabet Σ, einer endlichen Menge V von Variablen
MehrInformatik III - WS07/08
Informatik III - WS07/08 Kapitel 5 1 Informatik III - WS07/08 Prof. Dr. Dorothea Wagner dwagner@ira.uka.de Kapitel 5 : Grammatiken und die Chomsky-Hierarchie Informatik III - WS07/08 Kapitel 5 2 Definition
MehrEin 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
MehrWas bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen
Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen (Kontextsensitive) Sprachen L 2 Menge aller kontextfreien
MehrMehrdeutige 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
MehrKapitel 2. Methoden zur Beschreibung von Syntax
1 Kapitel 2 Methoden zur Beschreibung von Syntax Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt 2 Ziele Zwei Standards zur Definition der Syntax von
MehrKlammersprache 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
MehrKontextfreie Sprachen. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kontextfreie Sprachen
Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Wortproblem: der CYK-Algorithmus Pumping Lemma für kontextfreie Sprachen
MehrSprachen 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
MehrEinfü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
MehrGrammatiken. Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen
Grammatiken Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen Grammatiken eignen sich besonders zur Modellierung beliebig tief geschachtelter,
Mehr1. 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
Mehr1. 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 (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),
MehrUmformung 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
MehrVorlesung Automaten und Formale Sprachen Sommersemester Beispielsprachen. Sprachen
Vorlesung Automaten und Formale Sprachen Sommersemester 2018 Prof. Barbara König Übungsleitung: Christina Mika-Michalski Wörter Wort Sei Σ ein Alphabet, d.h., eine endliche Menge von Zeichen. Dann bezeichnet
MehrÜ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
MehrDie 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
MehrTeil 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
MehrKlausur 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.
MehrSprachanalyse. Fachseminar WS 08/09 Dozent: Prof. Dr. Helmut Weber Referentin: Nadia Douiri
Sprachanalyse WS 08/09 Dozent: Prof. Dr. Helmut Weber Referentin: Inhalt 1. Formale Sprachen 2. Chomsky-Hierarchie 2 FORMALE SPRACHE 1. WAS IST EINE SPRACHE? 2. WIE BESCHREIBT MAN EINE SPRACHE? 3. WAS
MehrFormale Sprachen. Script, Kapitel 4. Grammatiken
Formale Sprachen Grammatiken Script, Kapitel 4 erzeugen Sprachen eingeführt von Chomsky zur Beschreibung natürlicher Sprache bedeutend für die Syntaxdefinition und -analyse von Programmiersprachen Automaten
MehrGrundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny
Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 1. Automaten und Sprachen 1.1 Endlicher Automat Einen endlichen Automaten stellen wir uns als Black Box vor, die sich aufgrund einer Folge von
Mehr1. Übungsblatt 6.0 VU Theoretische Informatik und Logik
. Übungsblatt 6. VU Theoretische Informatik und Logik 25. September 23 Aufgabe Sind folgende Aussagen korrekt? Begründen Sie jeweils Ihre Antwort. a) Für jede Sprache L gilt: L < L (wobei A die Anzahl
Mehr7. 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
Mehr3 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
Mehr2.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
MehrAutomaten und formale Sprachen Klausurvorbereitung
Automaten und formale Sprachen Klausurvorbereitung Rami Swailem Mathematik Naturwissenschaften und Informatik FH-Gießen-Friedberg Inhaltsverzeichnis 1 Definitionen 2 2 Altklausur Jäger 2006 8 1 1 Definitionen
MehrKapitel 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
MehrIst 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.
Mehr2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen:
Probeklausur Automatentheorie & Formale Sprachen WiSe 2012/13, Wiebke Petersen Name: Matrikelnummer: Aufgabe A: Typ3-Sprachen 1. Konstruieren Sie einen endlichen Automaten, der die Sprache aller Wörter
MehrGrundbegriffe der Informatik Tutorium 33
Tutorium 33 02.02.2017 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Gliederung 1 2 3 Ein ist ein Tupel A = (Z, z 0, X, f, Y, h)
MehrDas Halteproblem für Turingmaschinen
Das Halteproblem für Turingmaschinen Das Halteproblem für Turingmaschinen ist definiert als die Sprache H := { T w : T ist eine TM, die bei Eingabe w {0, 1} hält }. Behauptung: H {0, 1} ist nicht entscheidbar.
Mehr3 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
Mehr2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen:
Probeklausur Automatentheorie & Formale Sprachen WiSe 2012/13, Wiebke Petersen Name: Matrikelnummer: Aufgabe A: Typ3-Sprachen 1. Konstruieren Sie einen endlichen Automaten, der die Sprache aller Wörter
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 18. Januar 2018 INSTITUT FÜR THEORETISCHE 0 18.01.2018 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität
MehrEinfü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
MehrReguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer,
Reguläre Sprachen Reguläre Sprachen (Typ-3-Sprachen) haben große Bedeutung in Textverarbeitung und Programmierung (z.b. lexikalische Analyse) besitzen für viele Entscheidungsprobleme effiziente Algorithmen
MehrAbschluss gegen Substitution. Wiederholung. Beispiel. Abschluss gegen Substitution
Wiederholung Beschreibungsformen für reguläre Sprachen: DFAs NFAs Reguläre Ausdrücke:, {ε}, {a}, und deren Verknüpfung mit + (Vereinigung), (Konkatenation) und * (kleenescher Abschluss) Abschluss gegen
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Sommersemester 2015 23.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen
MehrEinfü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
MehrFragenkatalog 2. Abgabegespräch Formale Modellierung 3 Reguläre Sprachen
Fragenkatalog 2. Abgabegespräch Formale Modellierung 3 Reguläre Sprachen 1. Was ist eine formale Sprache? Menge von Zeichenketten, die aus den Symbolen eines beliebigen Alphabets aufgebaut sind. Zeichenkette:
MehrDaten 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
Mehr23. 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
Mehrq 0 q gdw. nicht (q A) (q A) q i+1 q gdw. q i q oder ( a Σ) δ(q, a) i δ(q, a) L = {a n b n : n N} für a, b Σ, a b
Kap. 2: Endliche Automaten Myhill Nerode 2.4 Minimalautomat für reguläre Sprache Abschnitt 2.4.3 L Σ regulär der Äuivalenzklassen-Automat zu L ist ein DFA mit minimaler Zustandszahl (= index( L )) unter
MehrTheoretische 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
MehrAutomatentheorie und formale Sprachen
Automatentheorie und formale Sprachen VL 8 Chomsky-Grammatiken Kathrin Hoffmann 23. Mai 2012 Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 23.5. 2012 250 Wortproblem Wortproblem ist das
MehrBerechenbarkeitstheorie 1. Vorlesung
Berechenbarkeitstheorie Dr. Institut für Mathematische Logik und Grundlagenforschung WWU Münster WS 15/16 Alle Folien unter Creative Commons Attribution-NonCommercial 3.0 Unported Lizenz. Zentrale Themen
Mehr3.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
MehrRekursiv aufzählbare Sprachen
Kapitel 4 Rekursiv aufzählbare Sprachen 4.1 Grammatiken und die Chomsky-Hierarchie Durch Zulassung komplexer Ableitungsregeln können mit Grammatiken größere Klassen als die kontextfreien Sprachen beschrieben
MehrLö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.:
MehrSyntax 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
MehrFormale 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
MehrHauptklausur 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
MehrAutomaten 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
Mehr1 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
MehrKontextfreie 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
MehrAbschnitt 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
MehrAutomaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012
Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1 Einschub: Kellerautomaten
MehrEinführung in die Theoretische Informatik
Einführung in die Theoretische Informatik Woche 7 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Zusammenfassung Zusammenfassung der letzten LV 1 Wir betrachten die folgende Signatur
MehrObjektorientierte 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/
Mehr2. 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
MehrDie 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
MehrFormalismen 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) =
MehrTuringmaschinen 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
MehrTheoretische 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
MehrAutomaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2011
Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2011 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1 Wir beschäftigen uns ab
MehrGrundbegriffe. 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
MehrAlgorithmen 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
MehrInduktive Definition
Rechenregeln A B = B A A (B C) = (A B) C A (B C) = (A B) C A (B C) = A B A C (B C) A = B A C A {ε} A = A A {ε} = A (A {ε}) = A (A ) = A A A = A + A A = A + A + {ε} = A Beispiel. Real-Zahlen = {0,..., 9}
MehrTheorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie
Theorie der Informatik 17. März 2014 6. Formale Sprachen und Grammatiken Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 6.1 Einführung
MehrGrundlagen 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
MehrFormale 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
MehrMusterlö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