Chomsky-Hierarchie

Chomsky-Hierarchie

Chomsky-Hierarchie, gelegentlich Chomsky–Schützenberger-Hierarchie (benannt nach dem Linguisten Noam Chomsky und dem Mathematiker Marcel Schützenberger), ist ein Begriff aus der Theoretischen Informatik. Sie ist eine Hierarchie von Klassen formaler Grammatiken, die formale Sprachen erzeugen, und wurde 1956 erstmals von Noam Chomsky beschrieben. Die Hierarchiestufen unterscheiden sich darin, wie rigide die Einschränkungen für die Form zulässiger Produktionsregeln auf der jeweiligen Stufe sind; bei Typ-0-Grammatiken sind sie uneingeschränkt, bei höheren Stufen fortschreitend stärker beschränkt.

Grammatiken niedrigeren Typs sind erzeugungsmächtiger als die höherer Typen. Eine Sprache, die von einer Grammatik des Typs k erzeugt wird, heißt eine Sprache des Typs k. Neben die Chomsky-Hierarchie der Grammatiken tritt in diesem Sinne eine Chomsky-Hierarchie der Sprachen.

Inhaltsverzeichnis

Hintergrund

Formale Sprachen haben den Vorzug, mathematisch exakt analysiert werden zu können. Formalen Sprachen liegt ein vorgegebenes Alphabet (ein Zeichensatz) zugrunde, das häufig mit Σ bezeichnet wird. Beliebig lange, endliche Folgen von Elementen des Alphabets werden als Wörter über dem Alphabet bezeichnet. Mengen solcher Wörter sind schließlich formale Sprachen. Die umfassendste formale Sprache über einem vorgegebenen Alphabet Σ ist unendlich groß; sie enthält sämtliche Wörter, die durch beliebiges Zusammenfügen von Zeichen des Alphabets gebildet werden können. Sie lässt sich durch die Kleenesche Hülle des Alphabets beschreiben, also Σ * . Die kleinste formale Sprache enthält gar keine Wörter. Andere formale Sprachen bestehen nur aus wenigen Wörtern und lassen sich somit als endliche Menge notieren; beispielsweise für das Alphabet \textstyle \Sigma=\{a,b\} die Sprache aller Wörter der Länge zwei: \textstyle L=\{aa,ab,ba,bb\}.

Unendliche Sprachen lassen sich begreiflicherweise nicht durch Aufzählen notieren. Um sie exakt zu beschreiben, ist ein Konzept nötig, das auch unendliche Mengen definieren kann. Hierzu werden im Rahmen der formalen Sprachen vor allem Erzeugungsverfahren benutzt.

Geht man von einem vorhandenen Wort über einem Alphabet aus, lassen sich durch Semi-Thue-Systeme Wortmengen spezifizieren, die sich durch beliebig wiederholtes Anwenden von Ersetzungsregeln ergeben. Ersetzungsregeln der Form \alpha\rightarrow\beta schreiben vor, dass in einem Wort, das ein Segment α enthält, dieses Segment durch β ersetzt wird. Semi-Thue-Systeme geben daher eine Ableitungsrelation zwischen Wörtern formaler Sprachen an: Zwei Wörter stehen in Relation, wenn das eine Wort durch eine Ersetzungsregel vom anderen Wort abgeleitet werden kann.

Zur Beschreibung von formalen Sprachen eignen sich formale Grammatiken, ein gegenüber Semi-Thue-Systemen erweitertes und mächtigeres Konzept. Sie unterscheiden sich von Semi-Thue-Systemen darin, dass sie sogenannte Terminalsymbole und Nichtterminalsymbole kennen. Terminalsymbole einer Grammatik sind gerade alle Zeichen ihres Zeichensatzes Σ. Die erste anwendbare Regel geht immer von einem nichtterminalen Startsymbol aus, und das Ergebnis eines Ersetzungsvorgangs gilt nur dann als Wort ihrer formalen Sprache, wenn es keine Nichtterminalsymbole enthält.

Das folgende Beispiel beschreibt eine Sprache, mit der sich beliebig lange Summen der Ziffern 1, 2 und 3 ausdrücken lassen. Das dafür angemessene Alphabet ist Σ = { + ,1,2,3}. Die entsprechenden Terminalsymbole sind unterstrichen dargestellt, Nicht-Terminale kursiv. Die folgenden Zeilen stellen die Regeln dar.


\begin{align}
  \mathit{Summe}  & \rightarrow \mathit{Ziffer}\\
  \mathit{Summe}  & \rightarrow \mathit{Summe}\ \underline{+}\ \mathit{Ziffer}\\
  \mathit{Ziffer} & \rightarrow \underline{1}\\
  \mathit{Ziffer} & \rightarrow \underline{2}\\
  \mathit{Ziffer} & \rightarrow \underline{3}\\
\end{align}

Das Startsymbol dieser Sprache ist Summe. Davon ausgehend kann man nun beliebige Regeln nacheinander anwenden, um einen gültigen Ausdruck zu erzeugen:


\begin{align}
  & \mathit{Summe}                                    &\quad& \text{(Startsymbol)}\\
  & \mathit{Summe}\ \underline{+}\ \mathit{Ziffer}    && \text{(mit zweiter Regel)}\\
  & \mathit{Ziffer}\ \underline{+}\ \mathit{Ziffer}   && \text{(mit erster Regel)}\\
  & \underline{1\ +}\ \mathit{Ziffer}                 && \text{(mit 1. Ziffern-Regel)}\\
  & \underline{1 + 2}                                 && \text{(mit 2. Ziffern-Regel)}\\
\end{align}

Nicht alle unendlichen Sprachen lassen sich als formale Sprachen mit diesem Erzeugungsprinzip beschreiben, es ist aber kein tauglicheres Konzept bekannt. Ein anderer gängiger Formalismus zur Beschreibung von Sprachen sind Automatenmodelle, vor allem Turingmaschinen. Uneingeschränkte formale Grammatiken und Turingmaschinen sind bei der Beschreibung von formalen Sprachen gleichmächtig, d.h. zu jeder von einer formalen Grammatik erzeugten Sprache gibt es eine Turingmaschine, die genau diese akzeptiert, und umgekehrt.

Ebenso wie verschiedene Automatenmodelle definiert wurden, definierte Chomsky in seiner Arbeit verschiedene Grammatiktypen. Durch drei fortlaufend schärfere Einschränkungen an die jeweils darin zulässigen Ersetzungsregeln stellte er eine Hierarchie aus vier Klassen von formalen Grammatiken auf, wodurch die weniger eingeschränkten Klassen die stärker regulierten Klassen jeweils echt umfassen. Das gleiche gilt für die von den jeweiligen Grammatikklassen beschriebenen Sprachklassen: auch sie bilden eine Hierarchie.

Sprachen eingeschränkteren Grammatiktyps sind üblicherweise einfacher algorithmisch zu verarbeiten – um den Preis, weniger ausdrucksmächtig zu sein. Reguläre Ausdrücke, mit denen man etwa Muster für die Suche in Texten definiert, entsprechen zum Beispiel den sehr eingeschränkten Chomsky-Grammatiken des Typs 3 (reguläre Grammatiken) und solche Textsuchen sind effektiv und schnell. Dagegen taugen Grammatiken des Typs 3 wegen ihrer Einfachheit nicht zur Beschreibung von Programmiersprachen, für die man meist weniger eingeschränkte Typ-2-Grammatiken benutzt.

Die Hierarchie

Die Chomsky-Hierarchie umfasst vier Typen formaler Grammatiken, gezählt von 0 bis 3. Typ 0 umfasst alle formalen Grammatiken überhaupt, also ohne Einschränkung an die Gestalt zulässiger Erzeugungsregeln. Grammatiken des Typs 1 bis Typ 3 sind dann zunehmend stärker eingeschränkt. Allein nach Definition ist eine Grammatik vom Typ 1 auch vom Typ 0, eine Grammatik vom Typ 2 auch vom Typ 1, eine Grammatik vom Typ 3 auch vom Typ 2; die Umkehrungen gelten nicht. Deshalb bilden diese Klassen eine echte Hierarchie. Bei den entsprechenden Sprachklassen zeigen Gegenbeispiele, dass ebenfalls die Umkehrungen nicht gelten, weshalb auch sie eine echte Hierarchie bilden.

Chomsky forderte für Typ-1-, Typ-2- und Typ-3-Grammatiken, dass die rechte Seite von Produktionsregeln nicht kürzer als die linke Seite sein darf, was das leere Wort auf jeder rechten Seite einer Produktionsregel ausschließt. Heute ist man oft weniger restriktiv; die Definitionen sind oft so gefasst, dass die Hierarchie der Sprachen nicht gestört wird, sie es aber auch Grammatiken des Typs 1 (kontextsensitive Grammatiken) erlauben, das leere Wort zu erzeugen, und den Typen 2 (kontextfreien Grammatiken) und 3 (regulären Grammatiken) sogar das leere Wort als rechte Seite von Ersetzungsregeln gestatten.

Typ-0-Grammatik (allgemeine Chomsky-Grammatik oder Phrasenstrukturgrammatik)

Hauptartikel: Formale Grammatik

Definition

Typ-0-Grammatiken werden auch unbeschränkte Grammatiken genannt. Es handelt sich dabei um die Klasse aller formalen Grammatiken der Form G = (V,Σ,S,P), wobei V = \Sigma \cup N ein Vokabular ist, bestehend aus einem endlichen Alphabet Σ und einer Menge von Nichtterminalen N. Das ausgezeichnete Symbol S \in N wird als Startsymbol bezeichnet und P ist eine Menge von Produktionsregeln P \subset (V^*\setminus\Sigma^*) \times V^*. Für einzelne Regeln schreibt man anstelle von (\alpha,\beta)\in P meistens \alpha\rightarrow\beta.

Um die Zugehörigkeit zur Klasse der Typ-0-Grammatiken auszudrücken, schreibt man G \in \mbox{Typ}_0.

Von Typ-0-Grammatiken erzeugte Sprachen

Jede Typ-0-Grammatik erzeugt eine Sprache, die von einer Turingmaschine 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), d. h. die zugehörige Turingmaschine hält bei jedem Wort, das in der Sprache liegt, und liefert das Ergebnis 1. Es ist allerdings nicht gefordert, dass die Turingmaschine für ein Wort, das nicht in der Sprache liegt, mit dem Ergebnis 0 hält (die Maschine muss also nicht terminieren).

Man beachte, dass sich diese Menge von Sprachen von der Menge der rekursiven Sprachen (oft auch entscheidbare Sprachen genannt) unterscheidet, welche durch Turingmaschinen entschieden werden können.

Typ-1-Grammatik (kontextsensitive Grammatik)

Hauptartikel: Kontextsensitive Grammatik

Definition

Typ-1-Grammatiken werden auch kontextsensitive Grammatiken genannt. Es handelt sich dabei um Typ-0-Grammatiken, bei denen alle Produktionsregeln die Form \alpha A \beta \rightarrow \alpha \gamma \beta oder S \rightarrow \varepsilon haben, 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. Diese Eigenschaft wird Längenbeschränktheit genannt.

Als einzige Ausnahme von dieser Forderung lässt man S \rightarrow \varepsilon zu, wenn das Startsymbol nirgends auf der rechten Seite einer Produktion auftritt. Damit erreicht man, dass die kontextsensitiven Sprachen auch das oft erwünschte leere Wort enthalten können, das dann aber immer nur in einer einschrittigen Ableitung aus dem Startsymbol selbst entsteht, und ohne für alle anderen Ableitungen die Eigenschaft zu stören, dass in jedem Teilschritt die Satzform länger wird oder gleich lang bleibt.

Ist eine Grammatik G kontextsensitiv, so schreibt man G \in \mbox{Typ}_1.

Anders als bei kontextfreien Grammatiken können auf der linken Seite der Produktionen kontextsensitiver Grammatiken durchaus statt einzelner Symbole ganze Symbolfolgen stehen, sofern sie nur mindestens ein Nichtterminalsymbol enthält.

Von Typ-1-Grammatiken erzeugte Sprachen

Die kontextsensitiven Grammatiken erzeugen genau die kontextsensitiven Sprachen, das heißt jede Typ-1-Grammatik erzeugt eine kontextsensitive Sprache und zu jeder kontextsensitiven Sprache existiert eine Typ-1-Grammatik, die diese erzeugt.

Die kontextsensitiven Sprachen sind genau die Sprachen, die von einer nichtdeterministischen, linear beschränkten Turingmaschine erkannt werden können; das heißt von einer nichtdeterministischen Turingmaschine, deren Band linear durch die Länge der Eingabe beschränkt ist (das heißt es gibt eine konstante Zahl a, sodass das Band der Turingmaschine höchstens a \cdot x Felder besitzt, wobei x die Länge des Eingabewortes ist).

Monotone Grammatiken

Einige Autoren bezeichnen eine Grammatik schon dann als kontextsensitiv, wenn bis auf die Ausnahme S\rightarrow\varepsilon (s.o.) alle Produktionsregeln w_1 \rightarrow w_2 nur die Bedingung \left|w_1\right| \leq \left|w_2\right| erfüllen, d.h. dass die rechte Seite einer solchen Produktion nicht kürzer als deren linke Seite ist. Häufiger findet man dafür jedoch den Begriff der monotonen Grammatik oder der nichtverkürzenden Grammatik.

Es erweist sich, dass die monotonen Grammatiken genau wieder die kontextsensitiven Sprachen erzeugen, weshalb die beiden Klassen von Grammatiken als äquivalent betrachtet werden und manche Autoren nur die eine oder die andere Grammatikklasse überhaupt behandeln. Aber nicht jede monotone Ersetzungsregel ist auch eine kontextsensitive, deshalb auch nicht jede monotone Grammatik eine kontextsensitive.

Typ-2-Grammatik (kontextfreie Grammatik)

Hauptartikel: Kontextfreie Grammatik

Definition

Typ-2-Grammatiken werden auch kontextfreie Grammatiken genannt. Es sind Typ-1-Grammatiken, für die gelten muss: \forall (w_1 \rightarrow w_2) \in P: ( w_1 \in N) \and \left(w_2 \in (N \cup \Sigma)^+\right). In jeder Regel der Grammatik muss also auf der linken Seite genau ein nicht-terminales Symbol stehen und auf der rechten Seite kann eine beliebige nicht-leere Folge von terminalen und nichtterminalen Symbolen stehen.

Außerdem kann wie bei Typ-1-Grammatiken die Ausnahmeregel S\rightarrow\varepsilon zulassen, wenn S auf keiner rechten Seite einer Regel vorkommt.

Kontextfreie Grammatiken werden oft so definiert, dass die rechte Seite auch leer sein darf, also (w_1 \rightarrow \varepsilon) \in P. Solche Grammatiken erfüllen nicht mehr alle Eigenschaften von Typ-2-Grammatiken und stünden nicht mehr in der von Chomsky definierten Hierarchie. Sie erfüllen aber die Bedingungen von monotonen Grammatiken.

Man schreibt G \in \mbox{Typ}_2.

Von Typ-2-Grammatiken erzeugte Sprachen

Kontextfreie Grammatiken (mit ε-Ausnahmeregel) erzeugen genau die kontextfreien Sprachen, jede Typ-2-Grammatik erzeugt also eine kontextfreie Sprache und zu jeder kontextfreien Sprache existiert eine Typ-2-Grammatik, die diese erzeugt.

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 hier: Backus-Naur-Form.

Typ-3-Grammatik (reguläre Grammatik)

Hauptartikel: Reguläre Grammatik

Definition

Typ-3-Grammatiken werden auch reguläre Grammatiken genannt. Es handelt sich um Typ-2-Grammatiken, bei denen auf der rechten Seite von Produktionen genau ein Terminalsymbol auftreten darf und maximal ein weiteres Nichtterminalsymbol. Die erlaubte Stellung solcher Nichtterminalsymbole muss außerdem über alle Produktionen hinweg einheitlich immer vor oder immer hinter dem Terminalsymbol sein, je nachdem spricht man auch genauer von linksregulären und rechtsregulären Grammatiken. Sie stimmen mit den links- beziehungsweise rechts-linearen Grammatiken überein, wohingegen lineare Grammatiken nicht den regulären Grammatiken entsprechen.

Für linksreguläre Typ-3-Grammatiken muss also die Bedingung erfüllt sein, dass

\forall (w_1 \rightarrow w_2) \in P: (w_1 \in N) \and (w_2 \in \Sigma \cup N \Sigma).

Sie dürfen also nur linksreguläre Produktionen (Nichtterminalsymbol auf der rechten Seite in Vorder stellung) enthalten.

Üblicherweise gestattet man für reguläre Grammatiken, wie auch für kontextfreie Grammatiken Regeln mit leerer rechter Seite, also (w_1\rightarrow\varepsilon) \in P.

Rechtsreguläre Grammatiken erfüllen dagegen die analoge Bedingung

\forall (w_1 \rightarrow w_2) \in P: (w_1 \in N) \and (w_2 \in \Sigma \cup \Sigma N \cup \{ \varepsilon \}).

Diese enthalten also nur rechtsreguläre Produktionen (Nichtterminalsymbol auf der rechten Seite allenfalls in Hinterstellung). Diese Bedingung drückt auch schon die Erlaubnis leerer rechter Seiten aus.

Linksreguläre und rechtsreguläre Grammatiken erzeugen genau dieselbe Sprachklasse, es gibt also zu jeder linksregulären Grammatik auch eine rechtsreguläre, die dieselbe Sprache erzeugt, und umgekehrt.

Man beachte, dass beim Auftreten von linksregulären und rechtsregulären Produktionen in ein und derselben Chomsky-Grammatik diese nicht regulär genannt wird. Die Grammatiken mit sowohl linksregulären als auch rechtsregulären Produktionen erzeugen nämlich eine echt größere Sprachklasse.

Manche Autoren erlauben in den Definitionen für reguläre / linksreguläre / rechtsreguläre Grammatiken überall dort, wo hier in Produktionen nur ein einzelnes Nichtterminalzeichen stehen darf, auch eine beliebige nichtleere terminale Zeichenkette. An der Erzeugungsmächtigkeit der Klassen ändert sich dadurch nichts.

Man schreibt G \in \mbox{Typ}_3 für reguläre Grammatiken G.

Von Typ-3-Grammatiken erzeugte Sprachen

Reguläre Grammatiken 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.

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 häufig genutzt, um Suchmuster oder die lexikalische Struktur von Programmiersprachen zu definieren.

Übersicht

Die folgende Tabelle fasst die vier Grammatiktypen, die Form ihrer Regeln, die Sprachen, die sie erzeugen, und die Automatentypen, die genau die erzeugten Sprachen erkennen, zusammen. Zudem wird die Abgeschlossenheit der erzeugten Sprachen bezüglich einiger Operationen angegeben.

Grammatik Regeln Sprachen Entscheidbarkeit Automaten Abgeschlossenheit [1]
Typ-0
Beliebige formale Grammatik
\alpha \rightarrow \beta
\alpha \in V^\ast \setminus \Sigma^\ast, \beta \in V^\ast
rekursiv aufzählbar Turingmaschine \circ, \cap, \cup, \ast
Typ-1
Kontextsensitive Grammatik
\alpha A \beta \rightarrow \alpha \gamma \beta

A \in N, \alpha, \beta \in V^\ast, \gamma \in V^+
S \rightarrow \varepsilon ist erlaubt, wenn es keine Regel \alpha \rightarrow \beta S\gamma in P gibt.

kontextsensitiv Wortproblem linear platzbeschränkte nichtdeterministische Turingmaschine \complement, \circ, \cap, \cup, \ast
Typ-2
Kontextfreie Grammatik
A \rightarrow \gamma
A \in N, \gamma \in V^\ast
kontextfrei Wortproblem,

Leerheitsproblem, Endlichkeitsproblem

nichtdeterministischer Kellerautomat \circ, \cup, \ast
Typ-3
Reguläre Grammatik
S \rightarrow \varepsilon
A \rightarrow aB (rechtsregulär) oder
A \rightarrow Ba (linksregulär)
A \rightarrow a
A \rightarrow \varepsilon
A,B \in N, a \in \Sigma

Nur links- oder nur rechtsreguläre Produktionen

regulär Wortproblem,

Leerheitsproblem, Äquivalenzproblem, Mehrdeutigkeitsproblem, Endlichkeitsproblem

Endlicher Automat \complement, \circ, \cap, \cup, \ast
Legende für die Spalte Abgeschlossenheit

Chomsky-Hierarchie für formale Sprachen

Teilmengenbeziehung der Sprachklassen in der Chomsky-Hierarchie

Eine formale Sprache ist vom Typ i entsprechend der Hierarchie für Grammatiken, wenn es von einer Typ-i-Grammatik erzeugt wird. Formal ausgedrückt heißt das: L ist vom Typ i \in \{ 0, \ldots, 3 \}, falls es eine Grammatik G \in \mbox{Typ}_i mit L = L \left( G \right) gibt. Man schreibt dann L \in \mathcal{L}_i.

In der Chomsky-Hierarchie für formale Sprachen besteht zwischen den Sprachmengen benachbarter Ebenen eine echte Teilmengenbeziehung. Jede kontextsensitive Sprache ist rekursiv aufzählbar, aber es gibt rekursiv aufzählbare Sprachen, die nicht kontextsensitiv sind. Ebenso ist jede kontextfreie Sprache auch kontextsensitiv, aber nicht umgekehrt, und jede reguläre Sprache ist kontextfrei, aber nicht jede kontextfreie Sprache ist regulär.

Formal ausgedrückt bedeutet dies für die Klassen der durch die obigen Grammatiken erzeugten Sprachen: \mathcal{L}_3 \subset \mathcal{L}_2 \subset \mathcal{L}_1 \subset \mathcal{L}_0, wobei gelegentlich auch folgende Symbole verwendet werden: \mathrm{REG} \subset \mathrm{CF} \subset \mathrm{CS} \subset \mathrm{RE.}

Beispiele für Sprachen in den jeweiligen Differenzmengen sind:

  • L_1 = \left\{a^n b^n c^n \,|\, n \ge 1\right\} ist vom Typ 1, aber nicht vom Typ 2
  • L_2 = \left\{a^n b^n \,|\, n \ge 1\right\} ist vom Typ 2, aber nicht vom Typ 3

Beweise für die Nichtzugehörigkeit bestimmter Sprachen zu den Sprachklassen \mathcal{L}_2 und \mathcal{L}_3 wie hier werden oft mit dem Schleifensatz geführt.

Natürliche Sprachen

Hauptartikel: Computerlinguistik

Obwohl Chomsky seine Forschungen mit dem Ziel verfolgte, eine mathematische Beschreibung der natürlichen Sprachen zu finden, ist bis heute der Nachweis einer korrekten und vollständigen formalen Grammatik für keine natürliche Sprache gelungen. Das Problem besteht u.a. im Zusammenspiel der verschiedenen Grammatikteile, die jeweils einzelne sprachliche Phänomene modellieren. Beim praktischen Einsatz formaler Grammatiken in der Computerlinguistik kommen Mehrdeutigkeiten auf verschiedenen Ebenen der Sprachbetrachtung hinzu; diese müssen (z.B. in der maschinellen Übersetzung) anhand des Kontextes aufgelöst werden.

Literatur

  • Noam Chomsky: Three models for the description of language. In: IRE Transactions on Information Theory. Vol.2, 1956, S. 113–124 (PDF).
  • Noam Chomsky: On certain formal properties of grammars. In: Information and Control. Vol.2, 1959, S. 137–167 (PDF).
  • Noam Chomsky, Marcel P. Schützenberger; P. Braffort, D. Hirschberg (Hrsg.): The algebraic theory of context free languages, Computer Programming and Formal Languages. North Holland, Amsterdam 1963, S. 118–161.
  • Peter Sander, Wolffried Stucky, Rudolf Herschel: Automaten, Sprachen, Berechenbarkeit. Teubner, Stuttgart 1992, ISBN 3-519-02937-5.

Einzelnachweise

  1. Uwe Schöning: Theoretische Informatik – kurzgefasst. 5. Auflage. Spektrum, Heidelberg u. a. 2008, ISBN 978-3-8274-1824-1, (Spektrum-Hochschultaschenbuch), S. 81.

Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу
Synonyme:

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Chomsky Hierarchie — Chomsky Hierarchie, gelegentlich Chomsky–Schützenberger Hierarchie, (benannt nach dem Linguisten Noam Chomsky und dem Mathematiker Marcel Schützenberger) ist ein Begriff aus der Theoretischen Informatik und bezeichnet eine Hierarchie von Klassen… …   Deutsch Wikipedia

  • Chomsky-Typ — Chomsky Hierarchie, gelegentlich Chomsky–Schützenberger Hierarchie, (benannt nach dem Linguisten Noam Chomsky und dem Mathematiker Marcel Schützenberger) ist ein Begriff aus der Theoretischen Informatik und bezeichnet eine Hierarchie von Klassen… …   Deutsch Wikipedia

  • Chomsky — ist der Name folgender Personen: Aviva Chomsky (* 1957), US amerikanische Historikerin, Tochter von Carol und Noam Chomsky Carol Chomsky (1930–2008), US amerikanische Linguistin Marvin J. Chomsky (* 1929), US amerikanischer Filmregisseur und… …   Deutsch Wikipedia

  • Hierarchie de Chomsky — Hiérarchie de Chomsky La hiérarchie de Chomsky est une classification naturelle (non arbitraire) des langages décrits par les grammaires formelles, découverte en 1956 par le linguiste Noam Chomsky. Tout langage pouvant être généré ou accepté par… …   Wikipédia en Français

  • Hiérarchie De Chomsky — La hiérarchie de Chomsky est une classification naturelle (non arbitraire) des langages décrits par les grammaires formelles, découverte en 1956 par le linguiste Noam Chomsky. Tout langage pouvant être généré ou accepté par un système formel… …   Wikipédia en Français

  • Hiérarchie de chomsky — La hiérarchie de Chomsky est une classification naturelle (non arbitraire) des langages décrits par les grammaires formelles, découverte en 1956 par le linguiste Noam Chomsky. Tout langage pouvant être généré ou accepté par un système formel… …   Wikipédia en Français

  • Chomsky — Noam Chomsky Pour les articles homonymes, voir Chomsky (homonymie). Noam Chomsky Linguiste occidental XXe siècle …   Wikipédia en Français

  • Hiérarchie de Chomsky — En informatique théorique, en théorie des langages, et en calculabilité, la hiérarchie de Chomsky est une classification des langages formels et des grammaires formelles, décrite par Noam Chomsky en 1956[1]. Cette section ne cite pas suffisamment …   Wikipédia en Français

  • Hiérarchie arithmétique — En logique mathématique, plus particulièrement en théorie de la calculabilité, la hiérarchie arithmétique, définie par Kleene est une hiérarchie des sous ensembles de l ensemble N des entiers naturels définissables dans le langage du premier… …   Wikipédia en Français

  • hierarchie —  Organisation dans laquelle les elements sont repartis dans une relation de specialisation de sorte que chacun soit superieure (plus general) au suivant (plus particulier).  de Chomsky  N. Chomsky 1957 distingue quatre classes de grammaires… …   Glossaire de linguistique computationnelle

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”