Chomsky-Hierarchie (auch: Chomsky–Schützenberger-Hierarchie) ist ein Begriff aus der Theoretischen Informatik und bezeichnet eine Hierarchie von Klassen formaler Grammatiken, die formale Sprachen erzeugen. Sie wurde 1956 von Noam Chomsky beschrieben. Die vier von Chomsky beschriebenen Grammatiktypen entstehen dabei ausgehend von einer nicht eingeschränkten Grundgrammatik (der Typ-0-Grammatik) dergestalt, dass zunehmend Einschränkungen bezüglich der für den Typ erlaubten Produktionsregeln gemacht werden. Jedoch sind die Grammatiken im allgemeinen keine Untermengen voneinander.
Entsprechend dem Typ einer Grammatik, die mindestens erforderlich ist, um eine bestimmte formale Sprache zu erzeugen, werden auch formale Sprachen in dieselben Kategorien von Typ 0 bis Typ 3 eingeteilt.
Sei im Folgenden die formale Grammatik angenommen. stellt die Menge der Nichtterminalsymbole, die Menge der Terminalsymbole, die Menge von Produktionsregeln und das Startsymbol dar (Einzelheiten siehe unter formale Grammatik).
| Grammatik | Regeln | Sprachen | Automaten | Abgeschlossenheit | - | Typ-0 | keine Einschränkungen | rekursiv aufzählbar | Turing-Maschine | KSV* | - | Typ-1 | | kontextsensitiv | linear platzbeschränkte nichtdeterministische Turing-Maschine | CKSV* | - | Typ-2 | | kontextfrei | nichtdeterministischer Kellerautomat | KV* | - | Typ-3 | (rechtsregulär) oder (linksregulär) | regulär | (deterministischer) Endlicher Automat | CKSV* |
|---|
Mengensymbole
Abgeschlossenheit
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-Maschine akzeptiert werden kann und umgekehrt existiert für jede Sprache, die von einer Turingmaschine akzeptiert werden kann, eine Typ-0-Grammatik, die diese Sprache erzeugt. Diese Sprachen sind auch bekannt als die rekursiv aufzählbaren Sprachen (oft auch semi-entscheidbare 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).
Man schreibt .
Sie erzeugen genau die kontextsensitiven Sprachen, d.h. jede Typ-1-Grammatik erzeugt eine kontextsensitive Sprache und zu jeder kontextsensitiven Sprache existiert eine Typ-1-Grammatik, die diese erzeugt.
Typ-1-Grammatiken besitzen nur Regeln der Form , wobei ein Nichtterminal und Wörter bestehend aus Terminalen () und Nichtterminalen () sind. Die Wörter und können leer sein, aber muss mindestens ein Symbol (also ein Terminal oder ein Nichtterminal) enthalten. Diese Eigenschaft wird oft Längenbeschränktheit genannt.
Die einzige Ausnahme ist, dass die Grammatik die Regel ausgehend vom Startsymbol enthalten darf. Diese Regel wird eventuell benötigt, um das leere Wort ableiten zu können. Die Regel darf aber nur dann verwendet werden, wenn das Startsymbol auf keiner rechten Seite der Produktionsregeln auftritt.
Die kontextsensitiven Sprachen sind genau die Sprachen, die von einer nichtdeterministischen, linear beschränkten Turingmaschine 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 so dass das Band der Turing-Maschine höchstens Felder besitzt, wobei die Länge des Eingabewortes ist).
Im Unterschied zu kontextfreien Grammatiken kann die Anzahl der Symbole auf der linken Seite einer kontextsensitiven Grammatik > 1 sein.
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 ein Nichtterminal und ein Wort bestehend aus Terminalen und Nichtterminalen ist. (Um das leere Wort zu erzeugen, darf hier für auch verwendet werden.)
Die kontextfreien Sprachen sind genau die Sprachen, die von einem nichtdeterministischen Kellerautomaten (NPDA) erkannt werden können. Eine Teilmenge dieser Sprachen bildet die theoretische Basis für die Syntax der meisten Programmiersprachen.
Siehe auch: Backus-Naur-Form
Typ-3-Grammatiken werden auch reguläre Grammatiken genannt. Es handelt sich dabei um Typ-2-Grammatiken mit und .
Man schreibt .
Sie erzeugen genau die regulären Sprachen, das heißt, 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 (rechtslineare 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 (linkslineare Grammatik) …
Zu jeder linkslinearen Grammatik gibt es auch eine rechtslineare Grammatik (und umgekehrt), welche die selbe Sprache erzeugt.
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:
Obwohl Chomsky seine Forschungen mit dem Ziel verfolgte, eine mathematische Beschreibung der natürlichen Sprachen zu finden, ist bis heute der Nachweis einer (formalen) Grammatik nur für die wenigsten Sprachen gelungen, die meisten davon konstruierte Plansprachen. Das Problem besteht vor allem in der Mehrdeutigkeit menschlicher Kommunikation mit ihren verschiedenen Bedeutungsebenen. So kann der Satz "Er macht einen Haufen Mist." im wörtlichen als auch im übertragenen Sinne interpretiert werden. Die korrekte Bedeutung ergibt sich aus dem erweiterten Kontext, in dem dieser Satz steht oder kann sogar unaufgelöst bleiben. Selbst um die Mehrdeutigkeit überhaupt erst erkennen zu können, benötigt man einen kulturellen Hintergrund, der ebenfalls nicht mathematisch darstellbar ist.
Die heutigen Übersetzungssysteme umgehen diese Formalisierung und nutzen Datenbanken mit Redewendungen, die den jeweiligen Kontext mitliefern. Die Übersetzung bleibt mechanisch. Die Bedeutung muss der Leser selbst dem Text entlocken. Da wir keine Schwierigkeiten haben bei der inhaltlichen Erfassung von Texten, wenn nur die Vokabeln stimmen, ist auf diese Weise ganz ohne Expertensystem eine praktikable automatische Übersetzung möglich geworden.
Formale Sprachen | Theoretische Informatik | Compilerbau
Chomsky-hiërargie | Йерархия на Чомски | Chomského hierarchie | Chomsky–Schützenberger hierarchy | Jerarquía de Chomsky | Chomskyn hierarkia | Hiérarchie de Chomsky | Gerarchia di Chomsky | チョムスキー階層 | 촘스키 위계 | Hierarchia Chomsky'ego | Hierarquia de Chomsky | Ierarhia Chomsky | Chomského hierarchia | 乔姆斯基谱系
This article is licensed under the GNU Free Documentation License.
It uses material from the
"Chomsky-Hierarchie".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world