Die Chomsky-Hierarchie ist eine Hierarchie von Klassen formaler Grammatiken, die formale Sprachen erzeugen. Sie wurde 1956 von Noam Chomsky beschrieben. Die vier von Chomsky beschriebenen Grammatik-Typen entstehen dabei ausgehend von einer Grund-Grammatik (der Typ-0-Grammatik) dergestalt, dass zunehmend Einschränkungen bezüglich der für den Typ erlaubten Produktionsregeln gemacht werden. Die Typ-1-Grammatik ist also ein Spezialfall der Typ-0-Grammatik, die Typ-2-Grammatik ein Spezialfall der Typ-1-Grammatik usw.
angenommen. N stellt wie üblich die Menge der Nichtterminalsymbole, Σ die Menge der Terminalsymbole, P die Menge von Regeln und S das Startsymbol dar (Einzelheiten siehe unter formale Grammatik).
Die Chomsky-Hierarchie besteht aus folgenden Ebenen:
Typ-0-Grammatiken
Typ-0-Grammatiken werden auch unbeschränkte Grammatiken genannt. Es handelt sich dabei um alle definierbaren Grammatiken.
Man schreibt
Jede Typ-0-Grammatik erzeugt eine Sprache, die von einer Turing-Maschineakzeptiert werden kann und für jede Sprache die von einer Turing-Maschine akzeptiert werden kann existiert eine Typ-0-Grammatik, die diese Sprache erzeugt. Diese Sprachen sind auch bekannt als die rekursiv aufzählbaren Sprachen (oft auch semientscheidbare Sprachen genannt). Man beachte, dass sich diese Menge von Sprachen von der Menge der rekursiven Sprachen (oft auch entscheidbare Sprachen genannt) unterscheidet, welche durch Turing-Maschinen erkannt werden können, d.h. die zugehörige Turingmaschine hält bei jedem Wort und liefert als Ergebnis 0 (Wort gehört nicht zur Sprache) oder 1 (Wort gehört zur Sprache).
Sie erzeugen genau die kontextsensitiven Sprachen, d.h. jede Typ-1-Grammatik erzeugt eine kontextsenstive Sprache und zu jeder kontextsensitiven Sprache existiert eine Typ-1-Grammatik, die diese erzeugt.
Typ-1-Grammatiken besitzen nur Regeln der Form
wobei A ein Nichtterminal und
Wörter bestehend aus Terminalen (Σ) und Nichtterminalen (N) sind. Die Wörter α und β können leer sein, aber γ muss mindestens ein Symbol (also ein Terminal oder ein Nichtterminal) enthalten.
Die einzige Ausnahme ist, dass die Grammatik die Regel
ausgehend vom Startsymbol S enthalten darf. Diese Regel wird eventuell benötigt, um das leere Wort ε ableiten zu können.
Die kontextsensitiven Sprachen sind genau die Sprachen, die von einem nichtdeterministischenLBA erkannt werden können, d.h. von einer nichtdeterministischen Turing-Maschine, deren Band linear durch die Länge der Eingabe beschränkt ist (d.h. es gibt eine konstante Zahl
a so dass das Band der Turing-Maschine höchstens
Felder besitzt, wobei x die Länge des Eingabewortes ist).
Typ-2-Grammatiken
Typ-2-Grammatiken werden auch kontextfreie Grammatiken genannt. Es handelt sich dabei um Grammatiken mit
Man schreibt
Sie erzeugen genau die kontextfreien Sprachen, d.h. jede Typ-2-Grammatik erzeugt eine kontextfreie Sprache und zu jeder kontextfreien Sprache existiert eine Typ-2-Grammatik, die diese erzeugt.
Typ-2-Grammatiken besitzen nur Regeln der Form
,_ wobei A ein Nichtterminal und γ ein Wort bestehend aus Terminalen und Nichtterminalen ist. Die kontextfreien Sprachen sind genau die Sprachen, die von einem nichtdeterministischen Kellerautomaten (NPDA) erkannt werden können. Eine Teilmenge dieser Sprachen bilden die theoretische Basis für die Syntax der meisten Programmiersprachen.
Typ-3-Grammatiken werden auch reguläre Grammatiken genannt. Es handelt sich dabei um Grammatiken mit
und
Man schreibt
Sie erzeugen genau die regulären Sprachen, d.h. jede Typ-3-Grammatik erzeugt eine reguläre Sprache und zu jeder regulären Sprache existiert eine Typ-3-Grammatik, die diese erzeugt.
Typ-3-Grammatiken besitzen entweder nur Regeln, die auf der linken Seite aus einem Nichtterminal und auf der rechten Seite aus einem Terminal, eventuell gefolgt von einem Nichtterminal bestehen (rechtsreguläre Grammatik) oder nur Regeln, die auf der linken Seite aus einem Nichtterminal und auf der rechten Seite aus einem Terminal, eventuell mit vorangestelltem Nichtterminal bestehen (linksreguläre Grammatik).
Zu jeder linksregulären Grammatik gibt es auch eine rechtsreguläre Grammatik (und umgekehrt), die die selbe Sprache erzeugt. Aus demselben Grund wie bei Typ-1-Grammatiken ist auch hier die Regel
als Ausnahme erlaubt, allerdings nur, wenn S nicht auf der rechten Seite einer Regel erscheint.
Reguläre Sprachen können alternativ auch durch reguläre Ausdrücke beschrieben werden und die regulären Sprachen sind genau die Sprachen, die von endlichen Automaten erkannt werden können. Sie werden gewöhnlich genutzt, um Suchmuster oder die lexikalische Struktur von Programmiersprachen zu definieren.
Jede reguläre Sprache ist kontextfrei, jede kontextfreie Sprache ist kontextsensitiv und jede kontextsensitive Sprache ist rekursiv aufzählbar.
Dabei handelt es sich um echte Teilmengenbeziehungen, d.h. es gibt rekursive aufzählbare Sprachen, die nicht kontextsensitiv sind, kontextsensitive Sprachen, die nicht kontextfrei sind und kontextfreie Sprachen, die nicht regulär sind.
Formal ausgedrückt bedeutet dies für die Klassen der durch die obigen Grammatiken erzeugten Sprachen:
wobei gelegentlich auch folgende Symbole verwendet werden:
Übersicht
Die folgende Tabelle fasst die vier Grammatiktypen, die Form ihrer Regeln, die Sprachen die sie erzeugen und die Automatentypen die sie erkennen zusammen.
Ließe sich für eine menschliche Sprache eine Grammatik vom Typ 2 oder 3 aufstellen, so könnte diese auf einem Computer effizient ausgeführt werden. Wäre menschliche Sprache vom Typ 0, so wäre sie unlösbar (da es keine Computer gibt, die diese Aufgabe in endlicher Zeit bearbeiten können). Eine Hypothese besagt, dass die menschliche Sprache schwach kontext-sensitiv ist (d.h. der Großteil menschlicher Sprache lässt sich kontextfrei darstellen, einige Aspekte jedoch benötigen eine kontextsensitive Repräsentation, ohne dass die Mächtigkeit von Typ-1-Grammatiken dabei ausgeschöpft wird).
Literatur
Noam Chomsky: Three models for the description of language, IRE Transactions on Information Theory, 2 (1956), pages 113-124
Noam Chomsky: On certain formal properties of grammars, Information and Control, 1 (1959), pages 91-112
Dieser Beitrag ist aus der XML-Version der deutschen WikiPedia® entwickelt worden und unterliegt inhaltlich den GNU FDL-Lizenzbestimmungen. Linkziele außerhalb der wikipedia-Inhalte unterliegen den Urheberrechten der jeweiligen Anbieter
( DirectDownloads ) Kalenderblätter druckfertig aufbereitet für Schmuckblätter zum Selbstdrucken im Word DOC6/RTF Format, je Euro 5 über Click&BuyJAN | FEB | MÄRZ APRIL | MAI | JUNI JULI | AUG | SEPT OKT | NOV | DEZ
Das Geschenk für jeden Anlass, nicht nur bei 'runden' Jubiläen Andere Einzeltage oder Zahlungsarten bitte HIER bestellen
Diese Web Site verdient ihr Geld durch Produktverkäufe (CD-ROM, downloads) und in erster Linie durch Anzeigen. Wenn Sie als Webmaster zuverlässige Partner suchen für Ihr eigenes Anzeigenschäft, dürfen Sie sich gerne auf unsere Empfehlungen stützen:
z.B.: GigaCash & ProfiWin