Formale Sprachen und Automaten

Größe: px
Ab Seite anzeigen:

Download "Formale Sprachen und Automaten"

Transkript

1 Formale Sprachen und Automaten Kapitel 4: Typ 2 kontextfreie Sprachen Vorlesung an der DHBW Karlsruhe Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2012

2 Kapitel 4 Typ 2 kontextfreie Sprachen Kellerautomaten Kontextfreie Grammatiken Zusammenhang von Kellerautomaten und Typ-2-Grammatiken Inhalt 2/56

3 Kellerautomaten Kontextfreie Grammatiken Zusammenhang von Kellerautomaten und Typ-2-Grammatiken Kellerautomaten 3/56

4 4.1 Warnung Im Unterschied zu endlichen Akzeptoren gibt es einen Unterschied zwischen deterministischen und nichtdeterministischen Kellerautomaten hinsichtlich der Erkennungsmächtigkeit. Kellerautomaten 4/56

5 4.2 Vorüberlegung Wie kann man DEA erweitern? Hinzunahme von Speicher. Extrem: allgemeiner Prozessor mit unbeschränkt viel Speicher mit wahlfreiem Zugriff Weniger heftig? Die Größe des Speichers wird eingeschränkt. Die Zugriffsmöglichkeiten auf den Speicher werden eingeschränkt. Kellerautomaten 5/56

6 Beispiele für Speicher mit Beschränkungen Beispiel: Zähler, die in- und dekrementiert werden können; die Steuereinheit kann aber nur in Abhängigkeit davon, ob der Zählerinhalt 0 ist oder nicht, im Programm verzweigen. Kellerautomaten: in jedem Schritt kann nur auf das zuletzt abgespeicherte Datum zurückgegriffen werden. Überlegen Sie sich noch andere interessant aussehende Zugriffsbeschränkungen! Kellerautomaten 6/56

7 4.3 Definition nichtdeterministischer Kellerautomat (NKA) besteht aus endlicher Steuereinheit, Eingabeband und Keller(speicher). Eingabeband Eingabealphabet X Kelleralphabet Y endliche Steuereinheit Keller. Anfangskellersymbol y 0 Y endliche Zustandsmenge Z Anfangszustand z 0 Z Menge F Z akzept. Zustände Überführungsfunktion f : Z Y (X {ε}) 2 Z Y Kellerautomaten 7/56

8 Arbeitsweise Ist ein NKA in Zustand z und liest Kellersymbol y, kann er entscheiden, ob ein Eingabesymbol gelesen wird oder nicht. kein Eingabesymbol: f (z, y, ε) ist (unter Umständen leere) Menge von möglicher Aktionen (z, v) Z Y. Dabei ist z neuer Zustand und v Wort neuer Kellersymbole (letztes Symbol von v zuunterst,..., erstes Symbol zuoberst gespeichert) Eingabesymbol: f (z, y, x) ist (unter Umständen leere) Menge von möglichen Aktionen (z, v) Z Y vor für den Fall, dass das Eingabesymbol gerade x ist. Kellerautomaten 8/56

9 Keller soll nicht leer werden Immer, wenn das Kelleranfangssymbol y 0 aus dem Keller gelesen wird, soll es auch wieder zuunterst auf den Keller gelegt werden, d. h. in diesem Fall muss bei jeder Aktion (z, v) das Wort v mit y 0 beginnen. Kellerautomaten 9/56

10 4.4 Definition deterministischer Kellerautomat (DKA): wie NKA, muss aber den folgenden Einschränkungen genügen: z und y bestimmen eindeutig, ob Eingabesymbol gelesen wird oder nicht: Entweder f (z, y, ε) = oder für alle x X ist f (z, y, x) =. Wenn f (z, y, ε) =, dann enthält f (z, y, x) für alle x X genau eine Aktion (z, v). Wenn f (z, y, ε), dann enthält es genau eine Aktion (z, v). Kellerautomaten 10/56

11 4.5 Definition Die von einem KA K erkannte Sprache ist die Menge aller Eingabewörter w mit der folgenden Eigenschaft: Wenn man K mit w als Eingabe startet und mit einem Keller, der nur das Kelleranfangssymbol enthält, dann gibt es für K (mindestens) eine Berechnung, bei der nach einigen Schritten alle Eingabesymbole gelesen sind und die Steuereinheit in einem akzeptierenden Zustand ist. Kellerautomaten 11/56

12 4.6 Beispiel Überprüfe, ob ein Eingabewort w X = {0, 1} die Form 0 k 1 k hat. Dieses Problem kann nicht von einem endlichen Akzeptor gelöst werden. Wie kann ein Kellerautomat vorgehen? Kellerautomaten 12/56

13 4.6 Beispiel Überprüfe, ob ein Eingabewort w X = {0, 1} die Form 0 k 1 k hat. Dieses Problem kann nicht von einem endlichen Akzeptor gelöst werden. Wie kann ein Kellerautomat vorgehen? Idee: erste Worthälfte einkellern, dann wieder auskellern und mit der zweiten Worthälfte vergleichen Kellerautomaten 12/56

14 4.6 Beispiel (2) Ist zum Beispiel das Eingabewort , dann werden nacheinander dessen Symbole gelesen und die durchlaufenen Zustände und Kellerinhalte sind: z 0 0 z 0 0 z 0 0 z 0 0 z 0 1 z 1 1 z 1 1 z 1 1 z 1 ε z + * * * * * * * * 0 * * Kellerautomaten 13/56

15 4.6 Beispiel (3) Kelleralphabet Y = {*, 0} Kelleranfangssymbol * Zustandsmenge Z = {z 0, z 1, z +, z } z 0 sei Anfangszustand nur ein akzeptierender Zustand: F = {z + } z y x z v z 0 * 0 z 0 0* z z 0 00 z z 1 ε z z 1 ε z 1 * ε z + * sonst z y ε z y Kellerautomaten 14/56

16 Alternative Darstellung gelesene neuer neuer Eingabe Zustand Kellerinhalt z 0 * 0 z 0 0* 00 z 0 00* 000 z 0 000* 0000 z * z 1 000* z 1 00* z 1 0* z 1 * z + * Kellerautomaten 15/56

17 4.7 Definition Für w A bezeichne w R das Spiegelbild von w. Also: ε R = ε x A w A : (xw) R = w R x Allgemein: (w 1 w 2 ) R = w R 2 w R 1 Kellerautomaten 16/56

18 4.8 Beobachtungen Ein Wort v mit der Eigenschaft v R = v heißt Palindrom. zum Beispiel: RELIEFPFEILER oder SAIPPUAKAUPPIAS (finnisch: Seifenhändler) (ww R ) R = ww R D. h.: Jedes Wort der Form v = ww R ist ein Palindrom, und zwar gerader Länge. Und: Jedes Palindrom gerader Länge hat die Form ww R. Palindrome ungerader Länge? Kellerautomaten 17/56

19 4.9 Beispiel Gesucht: Kellerautomat für L pal = {ww R w {a, b} } Beispieleingabe: abaaaaba Kellerautomaten 18/56

20 4.9 Beispiel Gesucht: Kellerautomat für L pal = {ww R w {a, b} } Beispieleingabe: abaaaaba z i a z i b z i a z i a z i ε z o a z o a z o b z o a z o ε z + * a b a a a a b a * * * a b a a b a * * a b b a * * a a * * * Kellerautomaten 18/56

21 4.9 Beispiel (2) Z = {z i, z o, z, z + }, Anfangszustand z i, F = {z + } z y x z v z i * a z i a* z i * b z i b* z i a a z i aa z i a b z i ba z i b a z i ab z i b b z i bb z i a ε z o a z i b ε z o b z o a a z o ε z o a b z ε z o b a z ε z o b b z o ε z o * ε z + * in allen anderen Fällen z y ε z y Kellerautomaten 19/56

22 4.11 Mitteilung L pal kann man nur mit nichtdeterministischen Kellerautomaten erkennen. Es gibt keinen deterministischen, der es tut. Beachte: Bei Kellerautomaten ist die Erkennungsmächtigkeit von deterministischen und nichtdeterministischen Kellerautomaten verschieden. Bei endlichen Automaten war sie gleich. Kellerautomaten 20/56

23 4.12 Mitteilung Es gibt formale Sprachen, die auch von keinem nichtdeterministischen Kellerautomaten erkannt werden können. Beispiel: L = {0 k 1 k 2 k k N} Kellerautomaten 21/56

24 Kellerautomaten Kontextfreie Grammatiken Zusammenhang von Kellerautomaten und Typ-2-Grammatiken Kontextfreie Grammatiken 22/56

25 Inhalt Definition Links-/Rechtsableitungen Ableitungsbäume ein- und mehrdeutige Grammatiken Syntaxanalyse: erste Ansätze Kontextfreie Grammatiken 23/56

26 4.13 Definition kontextfreie Grammatik oder Typ-2-Grammatik (T2G): Alle Produktionen sind von der Form X w mit X N und w (N T ) kontextfreie Sprache: von T2G erzeugbar. Kontextfreie Grammatiken 24/56

27 Beispiele viele verboten ist z. B. so etwas wie XB Q G = ({X, Y 0, Y 1 }, {0, 1}, X, P) mit Produktionen P = {X 0Y 0 1Y 1, Y 0 X 0, Y 1 X 1} Beachte: G ist nicht von Typ 3! G = ({S}, {(, )}, S, {S ε (S) SS} Kontextfreie Grammatiken 25/56

28 4.17 Definition Ableitungsschritt uxu uwu mit Produktion X w heißt Linksableitungsschritt, falls u T. Geschrieben: uxu l uwu. w 0 w 1 w k ist eine Linksableitung(sfolge) falls w 0 l w1 l l wk. Geschrieben: w 0 l w k. Analog: Rechtsableitungsschritt r und Rechtsableitung r. Kontextfreie Grammatiken 26/56

29 4.18 Beispiel G = ({S}, {(, )}, S, {S ε (S) SS}. Betrachte: S SS S(S) (S) () keine Linksableitung: zweiter Schritt falsch keine Rechtsableitung: dritter Schritt falsch Linksableitung: S SS S (S) () Rechtsableitung: S SS S(S) S() () Kontextfreie Grammatiken 27/56

30 4.19 Definition Ableitungsbaum zu einer Ableitung X w: Graph, der Baum ist, und dessen Knoten beschriftet sind mit Nichtterminalsymbolen, Terminalsymbolen oder ε Aufbau des Baumes: Die Wurzel des Baumes ist mit X beschriftet. Die Blätter des Baumes von links nach rechts ergeben w. Gehört zu einer Ableitung X wyw der Ableitungsbaum B, so ergibt sich der Ableitungsbaum B zu X wyw wvw mit zuletzt angewendeter Produktion Y v daraus, indem an das mit Y beschriftete Blatt von T Nachfolgeknoten angehängt werden, die mit den Symbolen von v beschriftet sind. Kontextfreie Grammatiken 28/56

31 4.20 Beispiel S SS S(S) (S) () schrittweiser Aufbau des Ableitungsbaums: S S S S S S S S S S S S S ( S ) ε ( S ) ε ( S ) ε Kontextfreie Grammatiken 29/56

32 4.21 Beobachtung Ableitungsbaum ist allgemeiner als Ableitung Die Ableitungen S SS S (S) () und S SS S(S) S() () liefern den gleichen Ableitungsbaum. Kontextfreie Grammatiken 30/56

33 4.22 Beobachtung Aus jedem Ableitungsbaum ergibt sich genau eine Linksableitung und analog genau eine Rechtsableitung. Also: Zu jeder Ableitung gibt es eine äquivalente Links- (bzw. Rechts-)ableitung. Kontextfreie Grammatiken 31/56

34 4.23 Definition Typ-2-Grammatik ist mehrdeutig, falls es für ein Wort zwei verschiedene Ableitungsbäume (Linksableitungen, Rechtsableitungen) gibt. Sonst heißt die Grammatik eindeutig. Eine kontextfreie Sprache ist (inhärent) mehrdeutig, falls jede sie erzeugende T2G mehrdeutig ist. Kontextfreie Grammatiken 32/56

35 4.24 Beispiel G = ({S}, {(, )}, S, {S ε (S) SS} ist mehrdeutig. 2 Linksableitungen für das Wort ()()(): S l SS l SSS l ()SS l ()()() und S l SS l (S)S l ()()S l ()()() Kontextfreie Grammatiken 33/56

36 4.24 Beispiel (2) verschiedene Ableitungsbäume: S S S S S S S S ( S ) ( S ) S S ( S ) ( S ) ε ε ( S ) ( S ) ε ε ε ε Die erzeugte formale Sprache ist aber nicht inhärent mehrdeutig. Eindeutige Grammatik: G = ({S, T }, {(, )}, S, {S ε ST, T (S)}. Kontextfreie Grammatiken 34/56

37 4.25 Mitteilung Es gibt inhärent mehrdeutige kontextfreie Sprachen Beispiel: Jede kontexfreie Grammatik für die Sprache L = {a i b j c k i = j oder j = k oder i = k} muss mehrdeutig sein. Beweis: nicht ganz einfach; das überlassen wir den Spezialisten... Übersetzerbau: man will eindeutige Grammatiken ansonsten bekommt man Probleme wie z. B. mit if C then if D then X else Y Kontextfreie Grammatiken 35/56

38 Kellerautomaten Kontextfreie Grammatiken Zusammenhang von Kellerautomaten und Typ-2-Grammatiken Zusammenhang von Kellerautomaten und Typ-2-Grammatiken 36/56

39 Inhalt erster Ansatz: Top-Down-Syntaxanalyse modifizierte Kellerautomaten alternativer Ansatz: Bottom-Up-Syntaxanalyse Zusammenhang von Kellerautomaten und Typ-2-Grammatiken 37/56

40 4.26 Satz Für jede formale Sprache L sind beiden folgenden Aussagen äquivalent: L kann von einem nichtdeterministischen Kellerautomaten erkannt werden. L kann von einer kontextfreien Grammatik erzeugt werden. Zusammenhang von Kellerautomaten und Typ-2-Grammatiken 38/56

41 4.27 Beweisidee Wir beschränken uns auf die folgende Richtung: Gegeben: kontextfreie Grammatik G = (N, T, X 0, P) Gesucht: Kellerautomat K mit L(K) = L(G). Wähle Z = {z 0, z, z + } Y = {*} T N Zusammenhang von Kellerautomaten und Typ-2-Grammatiken 39/56

42 4.27 Beweisidee (2) Die Arbeitsweise von K wird durch die folgenden Aktionen beschrieben: Am Anfang: f (z 0, *, ε) = {(z, X 0 *)} wenn oben auf dem Keller ein Nichtterminalsymbol X N: Produktionsschritt für Produktion X w: (z, w) f (z, X, ε) kein Eingabesymbol gelesen wenn oben auf dem Keller ein Terminalsymbol x T : Leseschritt für x T : (z, ε) f (z, x, x) Für x x gibt es aber keine Aktion: f (z, x, x ) =. Am Ende: f (z, *, ε) = {(z +, *)} Zusammenhang von Kellerautomaten und Typ-2-Grammatiken 40/56

43 4.27 Beweisidee (2) Unterscheidung, ob ein Produktionsschritt oder Leseschritt: deterministisch Welcher Leseschritt gegebenenfalls: deterministisch Wahl des Produktionsschrittes: nichtdeterministisch, da mehrere Produktionen mit der gleichen linken Seite möglich. Es gilt: Wenn es für ein Wort w eine Linksableitung in G gibt, dann gibt es eine Berechnung von K, nach der w akzeptiert wird. Kann umgekehrt K ein Wort w akzeptieren, dann muss es eine Linksableitung dafür in G geben. Zusammenhang von Kellerautomaten und Typ-2-Grammatiken 41/56

44 4.28 Beispiel Grammatik G = ({S}, {(, )}, S, {S ε (S) SS} Linksableitung S SS (S)S ((S))S (())S (())(S) (())(). mögliche Arbeitsweise des Kellerautomaten für die Eingabe (())(): Zusammenhang von Kellerautomaten und Typ-2-Grammatiken 42/56

45 4.28 Beispiel (2) gelesene neuer neuer verwendete Eingabe Zustand Kellerinhalt Produktion z 0 * z S* S SS z SS* S (S) z (S)S* ( z S)S* ( z (S))S* S (S) (( z S))S* (( z ))S* S ε (() z )S* (()) z S* (()) z (S)* S (S) (())( z S)* (())( z )* S ε (())() z * (())() z + * Zusammenhang von Kellerautomaten und Typ-2-Grammatiken 43/56

46 4.28 Beispiel (3) eine andere Arbeitsweise des Kellerautomaten für die Eingabe (())(): gelesene neuer neuer verwendete Eingabe Zustand Kellerinhalt Produktion z 0 * z S* S SS z SS* S (S) z (S)S* ( z S)S* ( z (S))S* S (S) (( z S))S* (( z (S)))S* S (S) An dieser Stelle ist der Kellerautomat in einer Sackgasse, weil nächstes Eingabesymbol ), aber auf dem Keller ( liegt! Zusammenhang von Kellerautomaten und Typ-2-Grammatiken 44/56

47 4.29 Top-down-Syntaxanalyse Kellerautomat konstruiert Ableitungsbaum von oben nach unten. α: bereits gelesener Teil der Eingabe ω: noch ausstehender Teil der Eingabe κ: Kellerinhalt Situation unmittelbar vor Produktionsschritt: schon klar: S l ακ noch zu prüfen: κ l ω? S gefunden κ gesucht α ω Zusammenhang von Kellerautomaten und Typ-2-Grammatiken 45/56

48 4.30 Bei der Top-down-Syntaxanalyse erzeugt der Kellerautomat eine Linksableitung. Zusammenhang von Kellerautomaten und Typ-2-Grammatiken 46/56

49 4.31 Nichtdeterministische Kellerautomaten sind unpraktisch. Mögliche Auswege: simuliere den Kellerautomaten deterministisch systematische Suche nach einer akzeptierenden Berechnung Vorsicht: unendlichen Rekursion droht. Außerdem: Zeitaufwand evtl. zu groß Backtracking erschwert Aktualisierung von Datenstrukturen no no no schränke Kellerautomaten ein Extremfall: nur deterministische Variante Günstiger: erlaube Vorausschau im Eingabestrom vergiss Kellerautomaten und mache die Syntaxanalyse anders auch erzwungen, wenn die Syntax nicht kontextfrei Zusammenhang von Kellerautomaten und Typ-2-Grammatiken 47/56

50 4.32 Bottom-up-Syntaxanalyse Alternative zu Top-down-Syntaxanalyse Zunächst wieder nur nichtdeterministische Kellerautomaten Frage: Wozu Bottom-up-Syntaxanalyse, wenn wieder Nichtdeterminismus und nur die gleiche Erkennungsmächtigkeit? Antwort: Bei Einschränkung auf deterministische Kellerautomaten mit Vorausschau liefern Top-down- bzw. Bottom-up-Syntaxanalyse verschiedene Leistungsfähigkeit. Zusammenhang von Kellerautomaten und Typ-2-Grammatiken 48/56

51 4.33 Modifizierte Kellerautomaten Kellerautomat kann in einem Schritt mehrere oberste Kellersymbole lesen. Mit normalem Kellerautomaten simulierbar, erleichtert aber die Beschreibung wesentlich. Beim Auslesen eines Wortes, dessen Symbole oben auf dem Keller liegen, ist das oberste Kellersymbol das letzte Wortsymbol, das zweitoberste Kellersymbol das vorletzte Wortsymbol, usw. Zusammenhang von Kellerautomaten und Typ-2-Grammatiken 49/56

52 4.34 Beispiel G = ({S}, {(, )}, S, {S ε (S) SS} Leseschritt: Das nächste Eingabesymbol wird gekellert. Reduktionsschritt: Oberste Kellersymbole bilden die rechte Seite einer Produktion, die durch zugehörige linke Seite ersetzt wird. Zusammenhang von Kellerautomaten und Typ-2-Grammatiken 50/56

53 4.34 Beispiel (2) neuer neuer noch nicht ge- verwendete Kellerinhalt Zustand lesene Eingabe Produktion * z 0 (())() *( z ())() *(( z ))() *((S z ))() S ε *((S) z )() *(S z )() S (S) *(S) z () *S z () S (S) *S( z ) *S(S z ) S ε *S(S) z S (S) *SS z S SS *S z *S z + Zusammenhang von Kellerautomaten und Typ-2-Grammatiken 51/56

54 4.35 Bottom-up-Syntaxanalyse Kellerautomat versucht, rückwärts eine Rechtsableitung des Eingabewortes gemäß der zu Grunde gelegten Grammatik zu finden. schon klar: κ r α noch zu prüfen: S r κω S gesucht gefunden κ α ω Zusammenhang von Kellerautomaten und Typ-2-Grammatiken 52/56

55 4.35 Bottom-up-Syntaxanalyse (2) Leseschritt: das nächste Eingabesymbol wird gelesen und gekellert. Das erhält die Eigenschaft κ r α. Reduktionsschritt: Kellerautomat ersetzt rechte Seite einer Produktion oben auf dem Keller durch linke Seite. Ist κ = κ γ und X γ benutzte Produktion, gilt: κ X r κ γ = κ r α. Ziel: κ = S und die gesamte Eingabe w gelesen, also ω = ε. r Dann S = κ α = w. Zusammenhang von Kellerautomaten und Typ-2-Grammatiken 53/56

56 4.36 Der Kellerautomat findet bei Bottom-up-Syntaxanalyse die Produktionen einer Rechtsableitung von hinten nach vorne. Zusammenhang von Kellerautomaten und Typ-2-Grammatiken 54/56

57 4.37 Freiheitsgrade bei der Bottom-up-Syntaxanalyse: Es kann sowohl ein Lese- als auch ein Reduktionsschritt möglich sein. Bei einem Reduktionsschritt können unterschiedlich lange Kellerenden reduziert werden. Bei einem Reduktionsschritt kann unter mehreren Produktionen mit gleicher rechter Seite ausgewählt werden. Wenn man einen deterministischen Algorithmus will, muss man also die Grammatik geeignet konstruieren. Zusammenhang von Kellerautomaten und Typ-2-Grammatiken 55/56

58 Zusammenfassung Nichtdeterministische Kellerautomaten und kontextfreie Grammatiken sind äquivalente Beschreibungsmittel. Bei Top-Down-Syntaxanalyse wird eine Linksableitung von vorne nach hinten konstruiert. Bei Bottom-Up-Syntaxanalyse wird eine Rechtsableitung von hinten nach vorne konstruiert. Zusammenhang von Kellerautomaten und Typ-2-Grammatiken 56/56

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung Theoretische Informatik Rainer Schrader Zentrum für Angewandte Informatik Köln 14. Juli 2009 1 / 40 2 / 40 Beispiele: Aus den bisher gemachten Überlegungen ergibt sich: aus der Chomsky-Hierarchie bleiben

Mehr

Einführung in die Computerlinguistik Formale Grammatiken rechtslineare und kontextfreie Grammatiken Kellerautomaten

Einführung in die Computerlinguistik Formale Grammatiken rechtslineare und kontextfreie Grammatiken Kellerautomaten Einführung in die Computerlinguistik Formale Grammatiken rechtslineare und kontextfreie Grammatiken Kellerautomaten Dozentin: Wiebke Petersen 13. Foliensatz Wiebke Petersen Einführung CL 1 Formale Grammatik

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

DKA und dkfs (mit Übungen)

DKA und dkfs (mit Übungen) DKA und dkfs (mit Übungen) Prof.Dr.Christian Wagenknecht mit Beiträgen von Herrn Dr.Michael Hielscher Prof.Dr.Chr. Wagenknecht Formale Sprachen und Automaten 1/15 kurz DKA Analog zu endlichen Automaten

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

Ein Satz der deutschen Sprache besitzt ein Subjekt, ein Prädikat und ein Objekt (SPO).

Ein Satz der deutschen Sprache besitzt ein Subjekt, ein Prädikat und ein Objekt (SPO). 1 Grammatiken Autor: Tilman Blumenbach Letzte Änderung: 28. Juni 2012 18:15 Ziel von Grammatiken Wollen die Struktur von Sprachen modellieren und charakterisieren. Beispiel Ein Satz der deutschen Sprache

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

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

(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

Formale Methoden 1. Gerhard Jäger 9. Januar Uni Bielefeld, WS 2007/2008 1/23

Formale Methoden 1. Gerhard Jäger 9. Januar Uni Bielefeld, WS 2007/2008 1/23 1/23 Formale Methoden 1 Gerhard Jäger Gerhard.Jaeger@uni-bielefeld.de Uni Bielefeld, WS 2007/2008 9. Januar 2008 2/23 Automaten (informell) gedachte Maschine/abstraktes Modell einer Maschine verhält sich

Mehr

Kapitel 3: Reguläre Grammatiken und Endliche. Automaten

Kapitel 3: Reguläre Grammatiken und Endliche. Automaten Kapitel 3: Reguläre Grammatiken und Endliche Automaten Prof.-Dr. Peter Brezany Institut für Softwarewissenschaft Universität Wien, Liechtensteinstraße 22 090 Wien Tel. : 0/4277 38825 E-mail : brezany@par.univie.ac.at

Mehr

Formale Sprachen und Automaten

Formale Sprachen und Automaten Formale Sprachen und Automaten Kapitel 1: Grundlagen Vorlesung an der DHBW Karlsruhe Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2012 Ziel Einführung der wichtigsten

Mehr

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

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

Mehr

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester 2012 17. DIE KONTEXTFREIEN SPRACHEN II: ABSCHLUSSEIGENSCHAFTEN, MASCHINENCHARAKTERISIERUNG, KOMPLEXITÄT Theoretische

Mehr

a n b n c n ist kontextsensitiv kontextfreie Sprachen (Typ 2) Abschnitt 3.3 kontextfreie Sprachen: Abschlusseigenschaften Chomsky NF und binäre Bäume

a n b n c n ist kontextsensitiv kontextfreie Sprachen (Typ 2) Abschnitt 3.3 kontextfreie Sprachen: Abschlusseigenschaften Chomsky NF und binäre Bäume Kap 3: Grammatiken Chomsky-Hierarchie 32 Kap 3: Grammatiken Kontextfreie 33 a n b n c n ist kontextsensiti Beispiel 3111 modifizieren: Σ = {a, b, c G = (Σ, V, P, X ) V = {X, Y, Z P : X ε X axyz ZY YZ ay

Mehr

11.1 Kontextsensitive und allgemeine Grammatiken

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

Mehr

8. Turingmaschinen und kontextsensitive Sprachen

8. Turingmaschinen und kontextsensitive Sprachen 8. Turingmaschinen und kontextsensitive Sprachen Turingmaschinen (TM) von A. Turing vorgeschlagen, um den Begriff der Berechenbarkeit formal zu präzisieren. Intuitiv: statt des Stacks bei Kellerautomaten

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Johannes Köbler Institut für Informatik Humboldt-Universität zu Berlin WS 2011/12 Deterministische Kellerautomaten Von besonderem Interesse sind kontextfreie Sprachen,

Mehr

Fachseminar Compilerbau

Fachseminar Compilerbau Fachseminar Compilerbau WS 08/09 Matthias Schiller Syntaktische Analyse 1. Prinzip der Top-Down-Analyse 2. LL(1)-Grammatiken Modell-Vorstellung Der Scanner liefert als Ergebnis der lexikalischen Analyse,

Mehr

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben Dieses Dokument soll mehr dazu dienen, Beispiele für die formal korrekt mathematische Bearbeitung von Aufgaben zu liefern, als konkrete Hinweise auf typische Klausuraufgaben zu liefern. Die hier gezeigten

Mehr

Kapitel 5: Syntax-Analyse

Kapitel 5: Syntax-Analyse Kapitel 5: Syntax-Analyse Aufgabe Die Token-Folge wird strukturiert in Anweisungen, Ausdrücke etc., um die Semantische Analyse und Code-Erzeugung zu ermöglichen Themen Kontextfreie Grammatik Äquivalente

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

Übungsaufgaben zu Formalen Sprachen und Automaten

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

Mehr

Theoretische Informatik Testvorbereitung Moritz Resl

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

Mehr

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie 1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie 15 Ziele vgl. AFS: Berechnungsmodelle für Typ-0- und Typ-1-Sprachen (Nicht-)Abschlußeigenschaften

Mehr

Theoretische Informatik. Grammatiken. Grammatiken. Grammatiken. Rainer Schrader. 9. Juli 2009

Theoretische Informatik. Grammatiken. Grammatiken. Grammatiken. Rainer Schrader. 9. Juli 2009 Theoretische Informatik Rainer Schrader Institut für Informatik 9. Juli 2009 1 / 41 2 / 41 Gliederung die Chomsky-Hierarchie Typ 0- Typ 3- Typ 1- Die Programmierung eines Rechners in einer höheren Programmiersprache

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

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

Automatentheorie und formale Sprachen rechtslineare Grammatiken

Automatentheorie und formale Sprachen rechtslineare Grammatiken Automatentheorie und formale Sprachen rechtslineare Grammatiken Dozentin: Wiebke Petersen 17.6.2009 Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 1 Pumping lemma for regular languages

Mehr

Komplexitätsklassen. (Lauf-)Zeit-Klassen. (Lauf-)Zeit-Klassen. Charakteristische Problemgrößen beim Parsing

Komplexitätsklassen. (Lauf-)Zeit-Klassen. (Lauf-)Zeit-Klassen. Charakteristische Problemgrößen beim Parsing Komplexitätsklassen Charakteristische Problemgrößen beim Parsing O(1) konstant O(log n) logarithmisch O(n) linear O(n k ) polynomial (k [2,4]) O(n k ) polynomial (k > 4) O(k n ) exponentiell n ist die

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

Theoretische Informatik I

Theoretische Informatik I heoretische Informatik I Einheit 2 Endliche Automaten & Reguläre Sprachen. Deterministische endliche Automaten 2. Nichtdeterministische Automaten 3. Reguläre Ausdrücke 4. Grammatiken 5. Eigenschaften regulärer

Mehr

Endliche Automaten. Im Hauptseminar Neuronale Netze LMU München, WS 2016/17

Endliche Automaten. Im Hauptseminar Neuronale Netze LMU München, WS 2016/17 Endliche Automaten Im Hauptseminar Neuronale Netze LMU München, WS 2016/17 RS- Flipflop RS-Flipflop Ausgangszustand 0 1 0 1 0 1 Set Reset neuer Zustand 0 0 0 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 Was ist ein endlicher

Mehr

Formale Sprachen und Automaten

Formale Sprachen und Automaten Formale Sprachen und Automaten Kapitel 5: Typ 1 und Typ 0 Vorlesung an der DHBW Karlsruhe Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2012 Kapitel 5 Typ 1

Mehr

Theoretische Grundlagen der Informatik

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

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik 1 Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Wintersemester 2014/15 2 Kontextfreie Grammatiken Definition: Eine Grammatik G

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 7 15. Juni 2010 Einführung in die Theoretische

Mehr

Klausuraufgaben. 1. Wir betrachten die folgende Sprache über dem Alphabet {a, b}

Klausuraufgaben. 1. Wir betrachten die folgende Sprache über dem Alphabet {a, b} Klausuraufgaben 1. Wir betrachten die folgende Sprache über dem Alphabet {a, b} L = {a n b m n > 0, m > 0, n m} a) Ist L kontextfrei? Wenn ja, geben Sie eine kontextfreie Grammatik für L an. Wenn nein,

Mehr

Universität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III

Universität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III Name Vorname Matrikelnummer Universität Karlsruhe Institut für Theoretische Informatik o. Prof. Dr. P. Sanders 26. Feb. 2007 Klausur: Informatik III Aufgabe 1. Multiple Choice 10 Punkte Aufgabe 2. Teilmengenkonstruktion

Mehr

4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls

4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls 4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls δ(q, a, Z) + δ(q, ɛ, Z) 1 (q, a, Z) Q Σ. Die von einem DPDA, der mit leerem Keller akzeptiert,

Mehr

2.11 Kontextfreie Grammatiken und Parsebäume

2.11 Kontextfreie Grammatiken und Parsebäume 2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Übung am 02.02.2012 INSTITUT FÜR THEORETISCHE 0 KIT 06.02.2012 Universität des Andrea Landes Schumm Baden-Württemberg - Theoretische und Grundlagen der Informatik

Mehr

Sprachen und Automaten. Tino Hempel

Sprachen und Automaten. Tino Hempel Sprachen und Automaten 11 Tino Hempel Bisherige Automaten Automat mit Ausgabe/Mealy-Automat Akzeptor, Sprache eines Akzeptors Grenze: L = {a n b n } Kellerautomat erkennt L = {a n b n } Grenze:? T. Hempel

Mehr

Reguläre Sprachen und endliche Automaten

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

Mehr

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

Alphabet, formale Sprache

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

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 8: kontextfreie Grammatiken Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2009/2010 1/37 Überblick Kontextfreie Grammatiken

Mehr

Turing-Maschinen. Definition 1. Eine deterministische Turing-Maschine (kurz DTM) ist ein 6- Dem endlichen Alphabet Σ von Eingabesymbolen.

Turing-Maschinen. Definition 1. Eine deterministische Turing-Maschine (kurz DTM) ist ein 6- Dem endlichen Alphabet Σ von Eingabesymbolen. Turing-Maschinen Nachdem wir endliche Automaten und (die mächtigeren) Kellerautomaten kennengelernt haben, werden wir nun ein letztes, noch mächtigeres Automatenmodell kennenlernen: Die Turing-Maschine

Mehr

Dank. 1 Ableitungsbäume. 2 Umformung von Grammatiken. 3 Normalformen. 4 Pumping-Lemma für kontextfreie Sprachen. 5 Pushdown-Automaten (PDAs)

Dank. 1 Ableitungsbäume. 2 Umformung von Grammatiken. 3 Normalformen. 4 Pumping-Lemma für kontextfreie Sprachen. 5 Pushdown-Automaten (PDAs) ank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert iese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen

Mehr

Endliche Sprachen. Folgerung: Alle endlichen Sprachen sind regulär. Beweis: Sei L={w 1,,w n } Σ*. Dann ist w 1 +L+w n ein regulärer Ausdruck für

Endliche Sprachen. Folgerung: Alle endlichen Sprachen sind regulär. Beweis: Sei L={w 1,,w n } Σ*. Dann ist w 1 +L+w n ein regulärer Ausdruck für Endliche Sprachen Folgerung: Alle endlichen Sprachen sind regulär. Beweis: Sei L={w 1,,w n } Σ*. Dann ist w 1 +L+w n ein regulärer Ausdruck für L. 447 Zusammenfassung Beschreibungsformen für reguläre Sprachen:

Mehr

Beschreibungskomplexität von Grammatiken Definitionen

Beschreibungskomplexität von Grammatiken Definitionen Beschreibungskomplexität von Grammatiken Definitionen Für eine Grammatik G = (N, T, P, S) führen wir die folgenden drei Komplexitätsmaße ein: Var(G) = #(N), Prod(G) = #(P ), Symb(G) = ( α + β + 1). α β

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

Kapitel 2: Formale Sprachen Kontextfreie Sprachen. reguläre Grammatiken/Sprachen. kontextfreie Grammatiken/Sprachen

Kapitel 2: Formale Sprachen Kontextfreie Sprachen. reguläre Grammatiken/Sprachen. kontextfreie Grammatiken/Sprachen reguläre Grammatiken/prachen Beschreibung für Bezeichner in Programmiersprachen Beschreibung für wild cards in kriptsprachen (/* reguläre Ausdrücke */)?; [a-z]; * kontextfreie Grammatiken/prachen Beschreibung

Mehr

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln, Theorie der Informatik 8. März 25 8. Reguläre Sprachen I Theorie der Informatik 8. Reguläre Sprachen I 8. Reguläre Grammatiken Malte Helmert Gabriele Röger 8.2 DFAs Universität Basel 8. März 25 8.3 NFAs

Mehr

LL(k)-Analyse. (y) folgt α = β. (x) = start k. (=l> ist ein Linksableitungsschritt)

LL(k)-Analyse. (y) folgt α = β. (x) = start k. (=l> ist ein Linksableitungsschritt) LL(k)-Analyse Eine KFG G = (N,T,P,S) heisst LL(k)-Grammatik, wenn für alle w,x,y T*, α,β,σ (N U T)* und A N mit 1. S =l>* waσ =l> wασ =l>* wx, 2. S =l>* waσ = > wβσ =l>* wy, 3. start k (x) = start k (y)

Mehr

Was bisher geschah: Formale Sprachen

Was bisher geschah: Formale Sprachen Was bisher geschah: Formale Sprachen Alphabet, Wort, Sprache Operationen und Relationen auf Wörtern und Sprachen Darstellung unendlicher Sprachen durch reguläre Ausdrücke (Syntax, Semantik, Äquivalenz)

Mehr

18 E N D L I C H E AU T O M AT E N erstes beispiel: ein getränkeautomat

18 E N D L I C H E AU T O M AT E N erstes beispiel: ein getränkeautomat 18 E N D L I C H E AU T O M AT E N 18.1 erstes beispiel: ein getränkeautomat Als erstes Beispiel betrachten wir den folgenden primitiven Getränkeautomaten (siehe Abbildung 18.1). Man kann nur 1-Euro-Stücke

Mehr

2.6 Deterministisches Top-Down-Parsen

2.6 Deterministisches Top-Down-Parsen 48 2.6 Deterministisches Top-Down-Parsen Als nächstes wollen wir uns mit Methoden zur syntaktischen Analyse befassen. Der lexikale canner eines Compilers liest die Eingabe Zeichen für Zeichen und erzeugt

Mehr

Mathematische Grundlagen der Computerlinguistik formale Sprachen

Mathematische Grundlagen der Computerlinguistik formale Sprachen Mathematische Grundlagen der Computerlinguistik formale Sprachen Dozentin: Wiebke Petersen 3. Foliensatz Wiebke Petersen math. Grundlagen 49 Alphabete und Wörter Denition ˆ Alphabet Σ: endliche Menge von

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 heoretische Informatik 1 eil 2 Bernhard Nessler Institut für Grundlagen der Informationsverabeitung U Graz SS 2009 Übersicht 1 uring Maschinen uring-berechenbarkeit 2 Kostenmaße Komplexität 3 Mehrband-M

Mehr

Es gibt drei unterschiedliche Automaten:

Es gibt drei unterschiedliche Automaten: Automatentheorie Es gibt drei unterschiedliche Automaten: 1. Deterministische Endliche Automaten (DEA) 2. Nichtdeterministische Endliche Automaten (NEA) 3. Endliche Automaten mit Epsilon-Übergängen (ε-

Mehr

Theoretische Informatik 2

Theoretische Informatik 2 Theoretische Informatik 2 Johannes Köbler Institut für Informatik Humboldt-Universität zu Berlin WS 2009/10 Die Chomsky-Hierarchie Definition Sei G = (V, Σ, P, S) eine Grammatik. 1 G heißt vom Typ 3 oder

Mehr

Berechenbarkeit und Komplexität

Berechenbarkeit und Komplexität Berechenbarkeit und Komplexität Prof. Dr. Dietrich Kuske FG Theoretische Informatik, TU Ilmenau Wintersemester 2010/11 1 Organisatorisches zur Vorlesung Informationen, aktuelle Version der Folien und Übungsblätter

Mehr

Reguläre Grammatiken/Sprachen und endliche Automaten

Reguläre Grammatiken/Sprachen und endliche Automaten Reguläre Grammatiken/Sprachen und endliche Automaten Bei regulären Grammatiken ist die Form der Grammatikregeln am stärksten eingeschränkt. Trotzdem lassen sich bereits weite Teile einer natürlichen Sprache

Mehr

Teil 4: Grammatiken und Syntaxanalyse. (Kapitel T5-T7)

Teil 4: Grammatiken und Syntaxanalyse. (Kapitel T5-T7) Teil 4: Grammatiken und Syntaxanalyse (Kapitel T5-T7) Grammatiken und die Chomsky- Hierarchie [T5.1] Ziel: Regelsysteme zur Erzeugung von Sprachen. Beispiel: arithmetische Ausdrücke können definiert werden

Mehr

Wortproblem für kontextfreie Grammatiken

Wortproblem für kontextfreie Grammatiken Wortproblem für kontextfreie Grammatiken G kontextfreie Grammatik. w Σ w L(G)? Wortproblem ist primitiv rekursiv entscheidbar. (schlechte obere Schranke!) Kellerautomat der L(G) akzeptiert Ist dieser effizient?

Mehr

7 Endliche Automaten. 7.1 Deterministische endliche Automaten

7 Endliche Automaten. 7.1 Deterministische endliche Automaten 7 Endliche Automaten 7.1 Deterministische endliche Automaten 7.2 Nichtdeterministische endliche Automaten 7.3 Endliche Automaten mit g-übergängen Endliche Automaten 1 7.1 Deterministische endliche Automaten

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 heoretische Informatik 1 uringmaschinen David Kappel Institut für Grundlagen der Informationsverarbeitung echnische Universität Graz 11.03.2016 Übersicht uring Maschinen Algorithmusbegriff konkretisiert

Mehr

Grundlagen der Theoretischen Informatik

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

Mehr

Von der Grammatik zum AST

Von der Grammatik zum AST Von der Grammatik zum AST Welche Eigenschaften soll ein Parser haben? Wann ist eine Grammatik eindeutig? Wie sollte eine Grammatik aussehen? Theoretischer Hin tergrund: FIRST, FOLLOW Einschränkungen von

Mehr

Ausgewählte unentscheidbare Sprachen

Ausgewählte unentscheidbare Sprachen Proseminar Theoretische Informatik 15.12.15 Ausgewählte unentscheidbare Sprachen Marian Sigler, Jakob Köhler Wolfgang Mulzer 1 Entscheidbarkeit und Semi-Entscheidbarkeit Definition 1: L ist entscheidbar

Mehr

Formale Sprachen und Automaten

Formale Sprachen und Automaten Grammatik und Automat Formale Sprachen und Automaten Automaten sind Konzepte, die eine Sprache L dadurch charakterisieren, dass sie L akzeptieren. Grammatiken sind Konzepte, die eine Sprache L dadurch

Mehr

Formale Sprachen. Spezialgebiet für Komplexe Systeme. Yimin Ge. 5ahdvn. 1 Grundlagen 1. 2 Formale Grammatiken 4. 3 Endliche Automaten 5.

Formale Sprachen. Spezialgebiet für Komplexe Systeme. Yimin Ge. 5ahdvn. 1 Grundlagen 1. 2 Formale Grammatiken 4. 3 Endliche Automaten 5. Formale Sprachen Spezialgebiet für Komplexe Systeme Yimin Ge 5ahdvn Inhaltsverzeichnis 1 Grundlagen 1 2 Formale Grammatien 4 Endliche Automaten 5 4 Reguläre Sprachen 9 5 Anwendungen bei Abzählproblemen

Mehr

1 Varianten von Turingmaschinen

1 Varianten von Turingmaschinen 1 Varianten von Turingmaschinen Es gibt weitere Definitionen für Turingmaschinen. Diese haben sich aber alle als äquivalent herausgestellt. Ein wiederkehrendes Element der Vorlesung: Äquivalenz von Formalismen

Mehr

Tutorium zur theoretischen Informatik Übungsblatt 4 (2006-12-13)

Tutorium zur theoretischen Informatik Übungsblatt 4 (2006-12-13) Ein verständiges Herz erwirbt Kenntnisse, und das Ohr der Weisen lauscht dem Wissen. (Die Bibel, "Buch der Sprüche", Kapitel 18 Vers 15) Inhalt 1. Empfehlenswerte Referenzen 2. Aufgabe 1 CF Grammatik für

Mehr

Vorlesung Theoretische Informatik

Vorlesung Theoretische Informatik Vorlesung Theoretische Informatik Automaten und Formale Sprachen Hochschule Reutlingen Fakultät für Informatik Masterstudiengang Wirtschaftsinformatik überarbeitet von F. Laux (Stand: 09.06.2010) Sommersemester

Mehr

Grundlagen der Theoretischen Informatik

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

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

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

Theoretische Informatik I (Grundzüge der Informatik I)

Theoretische Informatik I (Grundzüge der Informatik I) Theoretische Informatik I (Grundzüge der Informatik I) Literatur: Buch zur Vorlesung: Uwe Schöning, Theoretische Informatik - kurzgefasst. Spektrum Akademischer Verlag, Heidelberg/Berlin, 4. Auflage, 2001.

Mehr

Musterlösung der Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2012/13

Musterlösung der Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2012/13 Institut für Kryptographie und Sicherheit Prof. Dr. Jörn Müller-Quade Musterlösung der Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 22/3 Vorname Nachname Matrikelnummer

Mehr

Aufgabentypen die in der Klausur vorkommen

Aufgabentypen die in der Klausur vorkommen Aufgabentypen die in der Klausur vorkommen können 1. Nennen Sie fünf wichtige Anwendungsgebiete der Computerlinguistik. 2. Für welches der drei Anwendungsgebiete Maschinelle Übersetzung, Rechtschreibkorrektur

Mehr

Teil V. Weiterführende Themen, Teil 1: Kontextsensitive Sprachen und die Chomsky-Hierarchie

Teil V. Weiterführende Themen, Teil 1: Kontextsensitive Sprachen und die Chomsky-Hierarchie Teil V Weiterführende Themen, Teil 1: Kontextsensitive Sprachen und die Chomsky-Hierarchie Zwei Sorten von Grammatiken Kontextsensitive Grammatik (CSG) (Σ, V, P, S), Regeln der Form αaβ αγβ α, β (Σ V ),

Mehr

Universität des Saarlandes Theoretische Informatik (WS 2015) Lösungsvorschlag 4

Universität des Saarlandes Theoretische Informatik (WS 2015) Lösungsvorschlag 4 Universität des Saarlandes Theoretische Informatik (WS 2015) Fakultät 6.2 Informatik Team der Tutoren Lösungsvorschlag 4 Aufgabe 4.1 (16 Punkte) Klassifizieren Sie die folgenden Sprachen nach den Kategorien

Mehr

Theoretische Grundlagen der Informatik

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

Mehr

Formale Sprachen und Automaten

Formale Sprachen und Automaten Turingmaschinen Formale Sprachen und Automaten Das Konzept der Turingmaschine wurde von dem Englischen Mathematiker Alan M. Turing (1912-1954) ersonnen. Turingmaschinen, Typ-0- und Typ-1-Grammatiken Der

Mehr

Theorie der Informatik (CS206) Kellerautomat, Postfix-Notation, Turing-Maschine, Busy Beaver

Theorie der Informatik (CS206) Kellerautomat, Postfix-Notation, Turing-Maschine, Busy Beaver Theorie der Informatik (CS206) Kellerautomat, Postfix-Notation, Turing-Maschine, Busy Beaver 20. März 2013 Proff Malte Helmert und Christian Tschudin Departement Mathematik und Informatik, Universität

Mehr

Deterministischer endlicher Automat A ohne Ausgabe (deterministischer endlicher Akzeptor)

Deterministischer endlicher Automat A ohne Ausgabe (deterministischer endlicher Akzeptor) Deterministischer endlicher Automat A ohne Ausgabe (deterministischer endlicher Akzeptor) wobei A = (E, Z, f, z 0, F ) E Z f : Z E Z z 0 Z Eingabealphabet Zustandsmenge (Zustands )Überführungsfunktion

Mehr

Ein deterministischer endlicher Automat (DFA) kann als 5-Touple dargestellt werden:

Ein deterministischer endlicher Automat (DFA) kann als 5-Touple dargestellt werden: Sprachen und Automaten 1 Deterministische endliche Automaten (DFA) Ein deterministischer endlicher Automat (DFA) kann als 5-Touple dargestellt werden: M = (Z,3,*,qo,E) Z = Die Menge der Zustände 3 = Eingabealphabet

Mehr

Turing-Maschine. Berechenbarkeit und Komplexität Turing-Maschinen. Turing-Maschine. Beispiel

Turing-Maschine. Berechenbarkeit und Komplexität Turing-Maschinen. Turing-Maschine. Beispiel Berechenbarkeit und Komplexität Turing-Maschinen Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.jku.at

Mehr

Satz von Kleene. (Stephen C. Kleene, ) Wiebke Petersen Einführung CL 2

Satz von Kleene. (Stephen C. Kleene, ) Wiebke Petersen Einführung CL 2 Satz von Kleene (Stephen C. Kleene, 1909-1994) Jede Sprache, die von einem deterministischen endlichen Automaten akzeptiert wird ist regulär und jede reguläre Sprache wird von einem deterministischen endlichen

Mehr

Sprachen/Grammatiken eine Wiederholung

Sprachen/Grammatiken eine Wiederholung Sprachen/Grammatiken eine Wiederholung Was sind reguläre Sprachen? Eigenschaften regulärer Sprachen Sprachen Begriffe Symbol: unzerlegbare Grundzeichen Alphabet: endliche Menge von Symbolen Zeichenreihe:

Mehr

Kapitel: Kontextfreie Sprachen. Kontextfreie Sprachen 1 / 78

Kapitel: Kontextfreie Sprachen. Kontextfreie Sprachen 1 / 78 Kapitel: Kontextfreie Sprachen Kontextfreie Sprachen 1 / 78 Die Syntax von Programmiersprachen Wie lässt sich die Syntax einer Programmiersprache definieren, so dass die nachfolgende Syntaxanalyse effizient

Mehr

7 Endliche Automaten. Reimund Albers Papierfalten Kapitel 7 Endliche Automaten 103

7 Endliche Automaten. Reimund Albers Papierfalten Kapitel 7 Endliche Automaten 103 Reimund Albers Papierfalten Kapitel 7 Endliche Automaten 103 7 Endliche Automaten Ein erstes Beispiel Ganz im Sinn der vorangegangenen Kapitel machen wir wieder Anleihen in einem wohl etablierten Gebiet.

Mehr

Universität des Saarlandes

Universität des Saarlandes Universität des Saarlandes FR 6.2 Informatik Prof. Dr. Kurt Mehlhorn, Dr. Konstantinos Panagiotou WiSe 2011/2012 Übungen zu Computational Thinking http://www.mpi-inf.mpg.de/departments/d1/teaching/ws11/ct/

Mehr

Formale Sprachen. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marian KOGLER

Formale Sprachen. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marian KOGLER Formale Sprachen Grammatiken und die Chomsky-Hierarchie Rudolf FREUND, Marian KOGLER Grammatiken Das fundamentale Modell zur Beschreibung von formalen Sprachen durch Erzeugungsmechanismen sind Grammatiken.

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische nformatik inheit 3 Kontextfreie Sprachen 1. Kontextfreie Grammatiken 2. Pushdown Automaten 3. igenschaften kontextfreier Sprachen Theoretische nformatik inheit 3.1 Kontextfreie Grammatiken

Mehr

2 Typ Deterministische endliche Automaten

2 Typ Deterministische endliche Automaten 2 Typ 3 2.1 Deterministische endliche Automaten 2.1 Beispiel. Man stelle sich einen kleinen Parkplatz mit 5 Stellplätzen für Autos vor. An der Einfahrt befindet sich eine Schranke. Am Eingang (E) vor der

Mehr

Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit. Zugangsnummer: 3288

Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit.  Zugangsnummer: 3288 Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit Wiederholung Kapitel 2 http://pingo.upb.de Zugangsnummer: 3288 Dozent: Jun.-Prof. Dr. D. Baumeister

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 Sprachen bedeutend für die Syntaxdefinition von Programmiersprachen (Compilerbau) Automaten

Mehr