Formale Sprachen Grammatiken und die Chomsky-Hierarchie

Slides:



Advertisements
Ähnliche Präsentationen
Vorlesung Compilertechnik Sommersemester 2008
Advertisements

8. Formale Sprachen und Grammatiken
Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 4 / 1 Termalgebren Definition "Freie Algebra" Die -Algebra A = [A, F ] heißt.
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Notationen A = ist eine endliche, nichtleere menge,
Grammatiken, Definitionen
Einige entscheidbare bzw. rekursiv aufzählbare Sprachen
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Grammatiken beschreiben Sprachen L µ *, indem.
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Reduktionen Def: L · L (L ist reduzierbar auf.
Christian Schindelhauer
FH-Hof Grammatiken Richard Göbel. FH-Hof Begriffe Eine Grammatik definiert die Struktur (Syntax) einer Zeichenkette Eine Grammatik definiert nicht die.
Formale Sprachen – Mächtigkeit von Maschinenmodellen
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (17 –Turingmaschinen) Prof. Dr. Th. Ottmann.
Kapitel 5 Stetigkeit.
Kapitel 1 Die natürlichen und die ganze Zahlen. Kapitel 1: Die natürlichen und die ganzen Zahlen © Beutelspacher/Zschiegner April 2005 Seite 2 Inhalt.
Kapitel 6 Differenzierbarkeit. Kapitel 6: Differenzierbarkeit © Beutelspacher Juni 2005 Seite 2 Inhalt 6.1 Die Definition 6.2 Die Eigenschaften 6.3 Extremwerte.
M a r c – o l i v e r p a h l Informatik II – Kapitel 18 Übersetzung Zusammenfassung des Kapitel 18 Küchlin, Weber, Vorversion Einführung in die Informatik,
Prof. Dr. rer.nat. Ralph Großmann Fakultät Informatik / Mathematik Sommersemester 2012 Internet-Technologien XML-basierte Techniken Teil Metasprache der.
Prolog Grundkurs WS 98/99 Christof Rumpf
© Karin Haenelt 2006, Äquivalenzen Reg.Ausdrücke, Reg.Sprachen, EA ( ) 1 Reguläre Sprachen Karin Haenelt.
High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen.
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester.
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester 2005/ Vorlesung Dominic Dumrauf.
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
§8 Gruppen und Körper (8.1) Definition: Eine Gruppe G ist eine Menge zusammen mit einer Verknüpfung, die jedem Paar (a,b) von Elementen aus G ein weiteres.
Berechenbarkeit. Fragestellungen Können Computer alles ausrechnen? Kann man alles ausrechnen? Was kann man berechnen? Was nicht? Was heißt Berechenbarkeit?
Formale Sprachen Grundbegriffe für formale Sprachen
§24 Affine Koordinatensysteme
Grenzen der Regularität
Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung
BIT – Schaßan – WS 02/03 Basisinformationstechnologie HK-Medien Teil 1, 13. Sitzung WS 02/03.
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
1936: On Computable Numbers, with an application to the
Formale Sprachen Mathematische Grundlagen Rudolf FREUND, Marian KOGLER.
Formale Sprachen Reguläre Sprachen Rudolf FREUND, Marian KOGLER.
Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02.
Städtisches Gymnasium Beverungen Friedel Berlage
Beispiele: KFG 2.Teil Beispiel 1: Sei G eine Grammatik mit den folgenden Regeln: S  Ac | Bd A  aAb | ab B  aBbb | abb Definieren Sie.
Noam CHOMSKY, Sheila GREIBACH
Noam CHOMSKY, Sheila GREIBACH
ENDLICHE KÖRPER RSA – VERFAHREN.
Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 3: Potenzreihen und kontextfreie Sprachen (Vgl. Buch von A. Salomaa)
Automaten und Formale Sprachen VO UE 1
Automaten und Formale Sprachen VO UE 1
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Arne Vater Wintersemester 2006/07 28.
Christian Schindelhauer Wintersemester 2006/07 5. Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Informatik III Christian Schindelhauer Wintersemester 2006/07
Arne Vater Wintersemester 2006/ Vorlesung
Informatik III Christian Schindelhauer Wintersemester 2006/07
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Arne Vater Wintersemester 2006/ Vorlesung
Christian Schindelhauer Wintersemester 2006/07 6. Vorlesung
Christian Schindelhauer Wintersemester 2006/07 2. Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Arne Vater Wintersemester 2006/ Vorlesung
Der Hund jagt die Katze. Theoretische Informatik Satz S P O
Institut für Softwarewissenschaft – Universität WienP.Brezany 1 Beispiele (Frist: ) Beispiel 1: Sei  = {a, b} ein Alphabet und Q = {q 0, q 1 } eine.
7. Formale Sprachen und Grammatiken
Kapitel 4:Die Chomsky Hierarchie
Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 3 / 1 Algebraische Hülle und Homomorphie A = [A, F ] sei  -Algebra. Eine.
Folie 1 §8 Gruppen und Körper (8.1) Definition: Eine Gruppe G ist eine Menge zusammen mit einer Verknüpfung, die jedem Paar (a,b) von Elementen aus G ein.
Sprachen und Programmiersprachen
 Präsentation transkript:

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

Grammatiken Eine Grammatik ist ein Quadrupel (N,T,P,S) wobei Das fundamentale Modell zur Beschreibung von formalen Sprachen durch Erzeugungsmechanismen sind Grammatiken. Eine Grammatik 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 Gestalt p = (,) mit   V+ und   V*. Anstelle von (,) schreiben wir auch   .

Grammatiken: Ableitung Durch  wird eine Relation über V* definiert. Sei G = (N,T,P,S) eine Grammatik. Ein Wort w  V* heißt ableitbar in G 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. G  Reflexive und transitive Hülle von   Ableitung in einem Schritt  Ableitung in n Schritten n G * Ist G eindeutig aus dem Zusammenhang erkennbar, so schreiben wir  statt  etc. G

Grammatiken: erzeugte Sprache Sei G = (N,T,P,S) eine Grammatik. Gilt S  w für ein Wort w  V* , so nennt man w Satzform. Menge aller in n Schritten ableitbaren Satzformen: SF(G,n) = {w  V* | S  w } G n G Die von G 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(G) = { w  T* | S  w } G *

Grammatiken: Beispiel 1 G1 = ( { S }, {a}, {S  , S  aS}, S) L(G1) = {}  { an | n  1 } = {a}* Alle in G möglichen Ableitungen sind von der Gestalt S   bzw. S  aS n an+1S  an+1 für ein n  1 .

Grammatiken: Beispiel 2 G2 = ( {S}, {a,b}, { S  aSb, S  }, S) L(G2) = { an bn | n  0 } Alle in G möglichen Ableitungen sind von der Gestalt S n anSbn  anbn für alle n  0 . Formaler Beweis mittels natürlicher Induktion: Menge aller Satzformen nach genau n Schritten: SF(G2,n) = { anSbn , an-1bn-1 }

Grammatiken: Beispiel 2 (Induktion) G2 = ( {S}, {a,b}, { S  aSb, S  }, S) Formaler Beweis mittels natürlicher Induktion. Menge aller Satzformen nach genau n ≥ 1 Schritten: SF(G2, n) = { anSbn , an-1bn-1 } Induktionsbasis: SF(G2,1) = { a1Sb1,  } Induktionshypothese: SF(G2,n) = { anSbn , an-1bn-1 } Induktionsbehauptung: SF(G2,n+1) = { an+1Sbn+1 , anbn } Beweis: Das Wort an-1bn-1 ist terminal und daher nicht mehr weiter ableitbar. Aus anSbn ist ableitbar: mittels S  aSb : an+1Sbn+1 mittels S   : anbn

Grammatiken: Beispiel 3 G3 = ( {S,A,C}, {a,b,c}, P3, S) wobei P3 = { S  abc, S  aAbc, A  aAbC, A  abC, Cb  bC, Cc  cc} L(G3) = {an bn cn | n  1 } Alle in G möglichen Ableitungen sind von der Gestalt S  abc bzw. für n  2 : S  aAbc n-2 an-1A(bC)n-2bc  an (bC)n-1bc * an bn cn sowie alle möglichen Permutationen der einzelnen Ableitungsschritte.

Grammatik-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 Grammatiken definieren.

Typ-i-Grammatiken Sei G=(N,T,P,S) eine Grammatik. Dann heißt G auch unbeschränkte Grammatik (Typ-0). Gilt für alle Produktionen (,)  P |  |  |  |, so heißt G monoton;  = uAv und  = uwv für ein A  N, w V+ und u,v  V*, so heißt G 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 G kontextfrei (Typ-2); A  aB oder A   für A,B  N und a  T, so heißt G regulär (Typ-3).

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-Grammatik erzeugt wird. Aufgrund der Definition können wir nun die einzelnen Sprachen aus den vorigen Beispielen klassifizieren: Es ergibt sich, dass L(G1) regulär L(G2) kontextfrei und L(G3) monoton ist. Zwei Grammatiken G und G‘ heißen äquivalent, wenn L(G) = L(G‘).

Äquivalenz von kontextsensitiven und monotonen Grammatiken Nach Definition ist jede kontextsensitive Grammatik auch eine monotone Grammatik. Es gilt allerdings auch die Umkehrung: Satz. Zu jeder monotonen Grammatik kann man eine äquivalente kontextsensitive Grammatik konstruieren. Aufgabe*: Beweisen Sie den obigen Satz.

Sprachfamilien (rekursive Sprachen) Sei  ein Alphabet. Eine formale Sprache L  * heißt genau dann rekursiv, wenn sowohl L  L0 als auch *-L  L0 gilt. Die Menge aller rekursiven Sprachen über  wird mit Lrek(), die Familie aller rekursiven Sprachen mit Lrek 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 Lrek aber auch die größte Sprachfamilie, für die das Problem w  L für alle w  * entscheidbar ist. Das Problem w  L ist für rekursive Sprachen entscheidbar.

Entscheidbarkeit des Wortproblems für rekursive Sprachen Das Problem w  L ist für rekursive Sprachen entscheidbar. Betrachte Grammatik G mit L(G) = L und Grammatik G‘ mit L(G‘) = * - L . Berechne für n = 1,2,… SF(G,n) und SF(G‘,n). Nach Definition von G und G‘ muss es ein n so geben, dass w  SF(G,n) (d.h., w  L) oder w  SF(G‘,n) (d.h., w  * - L).

Sprachfamilien Jeder der vorgestellten Grammatiktypen definiert auch eine Familie formaler Sprachen: Sei i  {0,1,2,3} und  ein Alphabet. Dann wird die Menge aller formaler Sprachen L  *, die von einer Grammatik vom Typ i erzeugt werden können, mit Li() bezeichnet. Die Familie der formalen Sprachen, die von einer Typ-i-Grammatik erzeugt werden können, bezeichnen wir mit Li .

Die Chomsky Hierarchie NOAM CHOMSKY (*1928 ) 1959 : On certain formal properties of grammars. Information and Control 2 (1959), 137-167

Die Chomsky Hierarchie L3  L2  L1  Lrek  L0 L2 L1 Lrek L0 L3

Grenzen der Berechenbarkeit (Grammatiken) Im folgenden wollen wir kurz auf die Möglichkeiten des Berechnungsmodells der Grammatiken eingehen und dessen Grenzen aufzeigen. 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

Grenzen der Berechenbarkeit (Grammatiken) Die Menge aller formaler Sprachen L  * ist überabzählbar, doch nur eine abzählbare Menge davon ist von einer Grammatik erzeugbar. (Kodierung der Beschreibungen von Grammatiken 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 Grammatik erzeugt werden können, ist abzählbar. Gibt es aber vielleicht andere Modelle von Generierungs- oder Analysemechanismen, durch die mehr formale Sprachen als durch Typ-0-Grammatiken beschrieben werden können?

Grenzen der Berechenbarkeit 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-Grammatiken bzw. Turingmaschinen. Die folgende These wird daher allgemein akzeptiert: These von Turing (und Church) Gibt es ein endlich beschreibbares Verfahren zur exakten Spezifizierung einer formalen Sprache L, so gibt es eine Typ-0-Grammatik, die L erzeugt bzw. eine Turingmaschine, die L akzeptiert.