Formale Sprachen. Grammatiken. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marion OSWALD. Grammatiken: Ableitung

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

Theoretische Informatik Mitschrift

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

Automaten und formale Sprachen Klausurvorbereitung

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

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

Formale Sprachen. Script, Kapitel 4. Grammatiken

Grundbegriffe. Grammatiken

Grundlagen der Theoretischen Informatik

Was bisher geschah: Formale Sprachen

Grundlagen der Theoretischen Informatik

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

Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1

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

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Grundlagen der Theoretischen Informatik

FORMALE SYSTEME. Sprachen beschreiben. Wiederholung. Wie kann man Sprachen beschreiben? 2. Vorlesung: Grammatiken und die Chomsky-Hierarchie

Berechenbarkeit und Komplexität

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

Theoretische Informatik Testvorbereitung Moritz Resl

Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie

Kontextfreie Grammatiken

Motivation natürliche Sprachen

Rekursiv aufzählbare Sprachen

Grundlagen der Theoretischen Informatik

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

Grundlagen der Theoretischen Informatik

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik

Theoretische Informatik I (Grundzüge der Informatik I)

Beschreibungskomplexität von Grammatiken Definitionen

Theoretische Informatik I

Theoretische Grundlagen des Software Engineering

Die Chomsky Hierarchie

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Formale Sprachen und Automaten

Theorie der Informatik

Formale Sprachen und Grammatiken

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

Die Chomsky Hierarchie

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

Abschluss gegen Substitution. Wiederholung. Beispiel. Abschluss gegen Substitution

Kontextfreie Sprachen

Alphabet, formale Sprache

Kapitel 3: Grundlegende Ergebnisse aus der Komplexitätstheorie Gliederung

Aufgabentypen: Spickerblatt: kontextfrei (Typ 2): zusätzlich: u ist eine!"# v 1

Sprachen und Programmiersprachen

Formale Sprachen. Der Unterschied zwischen Grammatiken und Sprachen. Rudolf Freund, Marian Kogler

Wir müssen wissen, und wir werden wissen.

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Formale Sprachen. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S

Beispiele für Wortverarbeitung durch NEA. Beispiele für NEA (1) Beispiele für NEA (2) Beispiele für NEA (3) 1.) 1 q 2. q 5. q 1 1 0,1,2. 0 q 2.

2. Übungsblatt 6.0 VU Theoretische Informatik und Logik

Theoretische Informatik. Alphabete, Worte, Sprachen

Einführung in Berechenbarkeit, Komplexität und Formale Sprachen

Grundlagen der Informatik II

Vorlesung Theoretische Informatik

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

Wir suchen Antworten auf die folgenden Fragen: Was ist Berechenbarkeit? Wie kann man das intuitiv Berechenbare formal fassen?

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

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

Einführung in die Theoretische Informatik

7. Formale Sprachen und Grammatiken

Falls H die Eingabe verwirft, so wissen wir, dass M bei Eingabe w nicht hält. M hält im verwerfenden Haltezustand. Beweis:

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

Funktionale Programmierung ALP I. λ Kalkül WS 2012/2013. Prof. Dr. Margarita Esponda. Prof. Dr. Margarita Esponda

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

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

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

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

Formale Sprachen und Automaten

Unentscheidbare Probleme: Diagonalisierung

Grundlagen der Informatik Theoretische Informatik

Theoretische Grundlagen der Informatik

16. Die Chomsky-Hierarchie

VU Software Paradigmen / SS 2014

Lösungen zur 1. Klausur. Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Theorie der Informatik

Abschluss unter Operationen

Chomsky-Grammatiken 16. Chomsky-Grammatiken

Automaten, Formale Sprachen und Berechenbarkeit I. Skript zur Vorlesung im WS 2001/02 an der TU München

Informatik IC2. Balazs Simon

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

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

2.11 Kontextfreie Grammatiken und Parsebäume

11.1 Kontextsensitive und allgemeine Grammatiken

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

Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ.

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Theoretische Informatik Kap 2: Berechnungstheorie

Übungsaufgaben zu Formalen Sprachen und Automaten

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

Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie

(Prüfungs-)Aufgaben zu formale Sprachen

Einführung in die Theoretische Informatik

Grundlagen Theoretischer Informatik 2 WiSe 2009/10 in Trier. Henning Fernau Universität Trier

Theoretische Informatik 1

Theoretische Informatik 2

Definition Formale Sprache Eine formale Sprache ist eine (Teil-)Menge A Σ* von Worten über einem Alphabet Σ.

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

Transkript:

Formale Sprachen rammatiken und die Chomsky-Hierarchie Rudolf FREUND, Marion OSWALD rammatiken Das fundamentale Modell zur Beschreibung von formalen Sprachen durch Erzeugungsmechanismen sind rammatiken. Eine rammatik ist ein Quadrupel (N,T,P,S) wobei N das Alphabet der Nonterminale (Variablen), T das Alphabet der Terminalsymbole, P eine Menge von Produktionen, S N das Startsymbol (S N* das Axiom) ist. Üblicherweise ist N T = {}. Wir definieren V := N T. P V + V*, d.h., jede Produktion p aus P ist von der estalt p = (α,β) mit α V + und β V*. Anstelle von (α,β) schreiben wir auch α β. 2 rammatiken: Ableitung Sei = (N,T,P,S) eine rammatik. Ein Wort w V* heißt ableitbar in aus dem Wort v V +, in Symbolen v w, falls Wörter x,y V* derart existieren, dass v = xαy und w = xβy für eine Produktion (α,β) P gilt. Durch wird eine Relation über V* definiert. * n Reflexive und transitive Hülle von Ableitung in einem Schritt Ableitung in n Schritten Ist eindeutig aus dem Zusammenhang erkennbar, so schreiben wir statt etc. 3 rammatiken: erzeugte Sprache Sei = (N,T,P,S) eine rammatik. ilt S w für ein Wort w V*, so nennt man w Satzform. Menge aller in n Schritten ableitbaren Satzformen: n SF(,n) = {w V* S w } Die von erzeugte Sprache ist die Menge aller Wörter (Satzformen), die in beliebig vielen Schritten von S abgeleitet werden können und nur aus Terminalsymbolen bestehen: L() = { w T* S * w } 4

rammatiken: Beispiel 1 1 = ( { S }, {a}, {S ε, S as}, S) L( 1 ) = {ε} { a n n 1 } = {a}* Alle in möglichen Ableitungen sind von der estalt S ε bzw. S as n a n+1 S a n+1 für ein n 1. rammatiken: Beispiel 2 2 = ( {S}, {a,b}, { S asb, S ε}, S) L( 2 ) = { a n b n n 0 } Alle in möglichen Ableitungen sind von der estalt S n a n Sb n a n b n für alle n 0. Formaler Beweis mittels natürlicher Induktion: Menge aller Satzformen nach genau n Schritten: SF( 2,n) = { a n Sb n, a n-1 b n-1 } 5 6 rammatiken: Beispiel 2 (Induktion) 2 = ( {S}, {a,b}, { S asb, S ε}, S) Formaler Beweis mittels natürlicher Induktion. Menge aller Satzformen nach genau n 1 Schritten: SF( 2, n) = { a n Sb n, a n-1 b n-1 } Induktionsbasis: SF( 2,1) = { a 1 Sb 1, ε } Induktionshypothese: SF( 2,n) = { a n Sb n, a n-1 b n-1 } Induktionsbehauptung: SF( 2,n+1) = { a n+1 Sb n+1, a n b n } Beweis: Das Wort a n-1 b n-1 ist terminal und daher nicht mehr weiter ableitbar. Aus a n Sb n ist ableitbar: mittels S asb : a n+1 Sb n+1 mittels S ε : a n b n rammatiken: Beispiel 3 3 = ( {S,A,C}, {a,b,c}, P 3, S) wobei P 3 = { S abc, S aabc, A aabc, A abc, Cb bc, Cc cc} L( 3 ) = {a n b n c n n 1 } Alle in möglichen Ableitungen sind von der estalt S abc bzw. für n 2 : S aabc n-2 a n-1 A(bC) n-2 bc a n (bc) n-1 bc * a n b n c n sowie alle möglichen Permutationen der einzelnen Ableitungsschritte. 7 8

rammatik-typen Die vorhergehenden Beispiele zeigen, dass zur Erzeugung bestimmter formaler Sprachen Produktionen mit wachsender Komplexität benötigt werden. Aufgrund dieser Komplexität der Produktionen können wir verschiedene Typen von rammatiken definieren. Typ-i-rammatiken Sei =(N,T,P,S) eine rammatik. Dann heißt auch unbeschränkte rammatik (Typ-0). ilt für alle Produktionen (α,β) P α β, so heißt monoton; α = uav und β = uwv für ein A N, w V + und u,v V*, so heißt kontextsensitiv (Typ-1) für monoton und kontextsensitiv außerdem erlaubt: kommt S nicht auf der rechten Seite einer Produktion vor, so ist auch S ε erlaubt; A β für ein A N, so heißt kontextfrei (Typ-2); A ab oder A ε für A,B N und a T, so heißt regulär (Typ-3). 9 10 Erzeugte Sprachen Eine formale Sprache heißt rekursiv aufzählbar, monoton (kontextsensitv), kontextfrei bzw. regulär, wenn sie von einer Typ-0-, Typ-1-, Typ-2-, bzw. Typ-3-rammatik erzeugt wird. Aufgrund der Definition können wir nun die einzelnen Sprachen aus den vorigen Beispielen klassifizieren: Es ergibt sich, dass L( 1 ) regulär L( 2 ) kontextfrei und L( 3 ) monoton ist. Äquivalenz von kontextsensitiven und monotonen rammatiken Nach Definition ist jede kontextsensitive rammatik auch eine monotone rammatik. Es gilt allerdings auch die Umkehrung: Satz. Zu jeder monotonen rammatik kann man eine äquivalente kontextsensitive rammatik konstruieren. Aufgabe*: Beweisen Sie den obigen Satz. Zwei rammatiken und heißen äquivalent, wenn L() = L( ). 11 12

Sprachfamilien (rekursive Sprachen) Sei Σ ein Alphabet. Eine formale Sprache L Σ* heißt genau dann rekursiv, wenn sowohl L L 0 als auch Σ*-L L 0 gilt. Die Menge aller rekursiven Sprachen über Σ wird mit L rek (Σ), die Familie aller rekursiven Sprachen mit L rek bezeichnet. Eine formale Sprache L ist also genau dann rekursiv, wenn sowohl die Sprache L selbst als auch ihr Komplement Σ*-L rekursiv aufzählbar sind. Damit bildet L rek aber auch die größte Sprachfamilie, für die das Problem w L für alle w Σ* entscheidbar ist. Entscheidbarkeit des Wortproblems für rekursive Sprachen Das Problem w entscheidbar. L ist für rekursive Sprachen Betrachte rammatik mit L() = L und rammatik mit L( ) = Σ* - L. Berechne für n = 1,2, SF(,n) und SF(,n). Nach Definition von und muss es ein n so geben, dass w SF(,n) (d.h., w L) oder w SF(,n) (d.h., w Σ* - L). Das Problem w entscheidbar. L ist für rekursive Sprachen 13 14 Sprachfamilien Jeder der vorgestellten rammatiktypen definiert auch eine Familie formaler Sprachen: Die Chomsky Hierarchie NOAM CHOMSKY (*1928 ) Sei i {0,1,2,3} und Σ ein Alphabet. Dann wird die Menge aller formaler Sprachen L Σ*, die von einer rammatik vom Typ i erzeugt werden können, mit L i (Σ) bezeichnet. Die Familie der formalen Sprachen, die von einer Typ-i-rammatik erzeugt werden können, bezeichnen wir mit L i. 1959 : On certain formal properties of grammars. Information and Control 2 (1959), 137-167 15 16

Die Chomsky Hierarchie L 3 L 2 L 1 L rek L 0 renzen der Berechenbarkeit (rammatiken) Im folgenden wollen wir kurz auf die Möglichkeiten des Berechnungsmodells der rammatiken eingehen und dessen renzen aufzeigen. L 0 L rek L 1 L 2 L 3 Sei Σ ein beliebiges Alphabet. Σ* ist abzählbar. 2 Σ * ist überabzählbar. Es bleibt nur zu zeigen, dass Σ* abzählbar ist. Aber Σ n ist für jedes n N endlich: card(σ 0 ) = card(ε)=1; für n>0 gilt: card(σ n ) = (card(σ)) n 17 renzen der Berechenbarkeit (rammatiken) renzen der Berechenbarkeit Die Menge aller formaler Sprachen L Σ* ist überabzählbar, doch nur eine abzählbare Menge davon ist von einer rammatik erzeugbar. (Kodierung der Beschreibungen von rammatiken mit Terminalalphabet Σ durch Zeichenketten über Σ und endlich vielen zusätzlichen Symbolen: {, },,, (, ) sowie einem zusätzlichen Symbol nicht aus Σ zur Kodierung der Nonterminalsymbole). Die Menge aller formalen Sprachen L Σ*, die von einer rammatik erzeugt werden können, ist abzählbar. ibt es aber vielleicht andere Modelle von enerierungsoder Analysemechanismen, durch die mehr formale Sprachen als durch Typ-0-rammatiken beschrieben werden können? 19 1936 erfanden gleichzeitig Alan Turing die Turingmaschinen und Alonzo Church den λ-kalkül, um den Begriff des Algorithmus bzw. der berechenbaren Funktionen zu formalisieren, und beide Modelle erwiesen sich als gleichwertig. Auch alle anderen seither entwickelten Modelle zur Formalisierung des Begriffs Algorithmus erwiesen sich als nicht mächtiger als Typ-0-rammatiken bzw. Turingmaschinen. Die folgende These wird daher allgemein akzeptiert: These von Turing (und Church) ibt es ein endlich beschreibbares Verfahren zur exakten Spezifizierung einer formalen Sprache L, so gibt es eine Typ-0-rammatik, die L erzeugt bzw. eine Turingmaschine, die L akzeptiert. 20