<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://demowiki.knowlus.com/index.php?action=history&amp;feed=atom&amp;title=Chomsky-Hierarchie</id>
	<title>Chomsky-Hierarchie - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://demowiki.knowlus.com/index.php?action=history&amp;feed=atom&amp;title=Chomsky-Hierarchie"/>
	<link rel="alternate" type="text/html" href="https://demowiki.knowlus.com/index.php?title=Chomsky-Hierarchie&amp;action=history"/>
	<updated>2026-04-06T23:20:15Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Demo Wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://demowiki.knowlus.com/index.php?title=Chomsky-Hierarchie&amp;diff=707&amp;oldid=prev</id>
		<title>134.245.44.20: /* Übersicht */ : Typ-2-Sprachen wären nach vorheriger Definition nicht monoton, &quot;*&quot; zu &quot;+&quot; korrigiert.</title>
		<link rel="alternate" type="text/html" href="https://demowiki.knowlus.com/index.php?title=Chomsky-Hierarchie&amp;diff=707&amp;oldid=prev"/>
		<updated>2025-05-05T08:42:50Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Übersicht: &lt;/span&gt; : Typ-2-Sprachen wären nach vorheriger Definition nicht monoton, &amp;quot;*&amp;quot; zu &amp;quot;+&amp;quot; korrigiert.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Chomsky-Hierarchie&amp;#039;&amp;#039;&amp;#039;, gelegentlich &amp;#039;&amp;#039;&amp;#039;Chomsky-Schützenberger-Hierarchie&amp;#039;&amp;#039;&amp;#039; (benannt nach dem Linguisten [[Noam Chomsky]] und dem Mathematiker [[Marcel Schützenberger]]), ist ein Begriff aus der [[Theoretische Informatik|theoretischen Informatik]]. Sie ist eine [[Hierarchie]] von [[Klasse (Mengenlehre)|Klassen]] [[Formale Grammatik|formaler Grammatiken]], die [[formale Sprache]]n erzeugen, und wurde 1956 erstmals von Noam Chomsky beschrieben. Die Hierarchiestufen unterscheiden sich darin, wie [[Rigidität (Informatik)|rigide]] die Einschränkungen für die Form zulässiger [[Produktionsregel]]n auf der jeweiligen Stufe sind; bei Typ-0-Grammatiken sind sie uneingeschränkt, bei höheren Stufen fortschreitend stärker beschränkt.&lt;br /&gt;
&lt;br /&gt;
Grammatiken niedrigeren Typs sind erzeugungsmächtiger als die höherer Typen. Eine Sprache, die von einer &amp;#039;&amp;#039;Grammatik des Typs&amp;amp;nbsp;k&amp;#039;&amp;#039; erzeugt wird, heißt eine &amp;#039;&amp;#039;Sprache des Typs&amp;amp;nbsp;k&amp;#039;&amp;#039;. Neben die Chomsky-Hierarchie der Grammatiken tritt in diesem Sinne eine Chomsky-Hierarchie der Sprachen.&lt;br /&gt;
&lt;br /&gt;
== Hintergründe ==&lt;br /&gt;
Formale Sprachen haben den Vorzug, mathematisch exakt analysiert werden zu können. Formalen Sprachen liegt ein vorgegebenes &amp;#039;&amp;#039;[[Alphabet (Informatik)|Alphabet]]&amp;#039;&amp;#039; (ein Zeichenvorrat) zugrunde, das häufig mit &amp;lt;math&amp;gt;\Sigma&amp;lt;/math&amp;gt; bezeichnet wird. Beliebig lange, endliche Folgen von Elementen des Alphabets werden als &amp;#039;&amp;#039;[[Wort (Theoretische Informatik)|Wörter]]&amp;#039;&amp;#039; über dem Alphabet bezeichnet. Mengen solcher Wörter sind schließlich &amp;#039;&amp;#039;formale Sprachen&amp;#039;&amp;#039;. Die umfassendste formale Sprache über einem vorgegebenen Alphabet &amp;lt;math&amp;gt;\Sigma&amp;lt;/math&amp;gt; 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 und positive Hülle|Kleenesche Hülle]] des Alphabets beschreiben, also &amp;lt;math&amp;gt;\Sigma^*&amp;lt;/math&amp;gt;. 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 &amp;lt;math&amp;gt;\textstyle \Sigma=\{a,b\}&amp;lt;/math&amp;gt; die Sprache aller Wörter der Länge zwei: &amp;lt;math&amp;gt;\textstyle L=\{aa,ab,ba,bb\}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
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 &amp;#039;&amp;#039;Erzeugungsverfahren&amp;#039;&amp;#039; benutzt.&lt;br /&gt;
&lt;br /&gt;
Geht man von einem vorhandenen Wort über einem Alphabet aus, lassen sich durch [[Semi-Thue-System]]e Wortmengen spezifizieren, die sich durch beliebig wiederholtes Anwenden von &amp;#039;&amp;#039;Ersetzungsregeln&amp;#039;&amp;#039; ergeben. Ersetzungsregeln der Form &amp;lt;math&amp;gt;\alpha\rightarrow\beta&amp;lt;/math&amp;gt; erlauben, dass in einem Wort, das ein Segment &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; enthält, dieses Segment durch &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; ersetzt wird. Semi-Thue-Systeme geben daher eine &amp;#039;&amp;#039;Ableitungsrelation&amp;#039;&amp;#039; 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.&lt;br /&gt;
&lt;br /&gt;
Zur Beschreibung von formalen Sprachen eignen sich &amp;#039;&amp;#039;formale Grammatiken&amp;#039;&amp;#039;, ein gegenüber Semi-Thue-Systemen erweitertes und mächtigeres Konzept. Sie unterscheiden sich von Semi-Thue-Systemen darin, dass sie sogenannte [[Terminalsymbol]]e und [[Nichtterminalsymbol]]e kennen. Terminalsymbole einer Grammatik sind gerade alle Zeichen ihres Zeichensatzes &amp;lt;math&amp;gt;\Sigma&amp;lt;/math&amp;gt;. 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.&lt;br /&gt;
&lt;br /&gt;
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 &amp;lt;math&amp;gt;\Sigma=\{+,1,2,3\}&amp;lt;/math&amp;gt;. Die entsprechenden Terminalsymbole sind unterstrichen dargestellt, Nicht-Terminale kursiv. Die folgenden Zeilen stellen die Regeln dar.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align}&lt;br /&gt;
  \mathit{Summe}  &amp;amp; \rightarrow \mathit{Ziffer}\\&lt;br /&gt;
  \mathit{Summe}  &amp;amp; \rightarrow \mathit{Summe}\ \underline{+}\ \mathit{Ziffer}\\&lt;br /&gt;
  \mathit{Ziffer} &amp;amp; \rightarrow \underline{1}\\&lt;br /&gt;
  \mathit{Ziffer} &amp;amp; \rightarrow \underline{2}\\&lt;br /&gt;
  \mathit{Ziffer} &amp;amp; \rightarrow \underline{3}\\&lt;br /&gt;
\end{align}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Startsymbol dieser Sprache ist &amp;#039;&amp;#039;Summe&amp;#039;&amp;#039;. Davon ausgehend kann man nun beliebige Regeln nacheinander anwenden, um einen gültigen Ausdruck zu erzeugen:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align}&lt;br /&gt;
  &amp;amp; \mathit{Summe}                                    &amp;amp;\quad&amp;amp; \text{(Startsymbol)}\\&lt;br /&gt;
  &amp;amp; \mathit{Summe}\ \underline{+}\ \mathit{Ziffer}    &amp;amp;&amp;amp; \text{(mit zweiter Regel)}\\&lt;br /&gt;
  &amp;amp; \mathit{Ziffer}\ \underline{+}\ \mathit{Ziffer}   &amp;amp;&amp;amp; \text{(mit erster Regel)}\\&lt;br /&gt;
  &amp;amp; \underline{1\ +}\ \mathit{Ziffer}                 &amp;amp;&amp;amp; \text{(mit 1. Ziffern-Regel)}\\&lt;br /&gt;
  &amp;amp; \underline{1 + 2}                                 &amp;amp;&amp;amp; \text{(mit 2. Ziffern-Regel)}\\&lt;br /&gt;
\end{align}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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 [[Automat (Informatik)|Automatenmodelle]], vor allem [[Turingmaschine]]n. Uneingeschränkte [[formale Grammatik]]en und Turingmaschinen sind bei der Beschreibung von formalen Sprachen gleichmächtig, d.&amp;amp;nbsp;h. zu jeder von einer formalen Grammatik erzeugten Sprache gibt es eine Turingmaschine, die genau diese akzeptiert, und umgekehrt.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Sprachen eingeschränkteren Grammatiktyps sind üblicherweise einfacher algorithmisch zu verarbeiten – um den Preis, weniger ausdrucksmächtig zu sein. [[Regulärer Ausdruck|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.&lt;br /&gt;
&lt;br /&gt;
== Die Hierarchie ==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 auch das [[Leeres Wort|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) durch eine Ausnahmeregel erlauben, das leere Wort zu erzeugen, und den Typen 2 (kontextfreien Grammatiken) und 3 (regulären Grammatiken) sogar ohne Einschränkung das leere Wort als rechte Seite von Ersetzungsregeln gestatten.&lt;br /&gt;
&lt;br /&gt;
=== {{Anker|Typ-0-Grammatik}}Typ-0-Grammatik (allgemeine Chomsky-Grammatik oder Phrasenstrukturgrammatik) ===&lt;br /&gt;
{{Hauptartikel|Formale Grammatik}}&lt;br /&gt;
&lt;br /&gt;
==== Definition ====&lt;br /&gt;
Typ-0-Grammatiken werden auch &amp;#039;&amp;#039;unbeschränkte&amp;#039;&amp;#039; Grammatiken genannt. Es handelt sich dabei um die Klasse aller formalen Grammatiken der Form&lt;br /&gt;
&amp;lt;math&amp;gt;G =&amp;lt;/math&amp;gt;&amp;amp;nbsp;[[Tupel|&amp;lt;math&amp;gt;(V,T,P,S)&amp;lt;/math&amp;gt;]], wobei &amp;lt;math&amp;gt;V = T \cup N&amp;lt;/math&amp;gt; ein &amp;#039;&amp;#039;Vokabular&amp;#039;&amp;#039; ist, bestehend aus der [[disjunkt]]en Vereinigung eines endlichen Alphabets &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; (Terminalsymbole) und einer Menge von Nichtterminalen (Variablen) &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt;.&amp;lt;ref&amp;gt;Im Zusammenhang mit formalen Grammatiken wird hier für das ‚Zielalphabet’ der Terminalsymbole das Zeichen &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; statt – wie sonst - &amp;lt;math&amp;gt;\Sigma&amp;lt;/math&amp;gt; verwendet. Achtung: Manche Autoren bezeichnen mit &amp;lt;math&amp;gt;\Sigma&amp;lt;/math&amp;gt; abweichend das &amp;#039;&amp;#039;&amp;#039;Gesamt&amp;#039;&amp;#039;&amp;#039;vokabular &amp;lt;math&amp;gt;N \cup T&amp;lt;/math&amp;gt; (hier mit &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; bezeichnet).&amp;lt;/ref&amp;gt; Das ausgezeichnete Symbol &amp;lt;math&amp;gt;S \in N&amp;lt;/math&amp;gt; wird als &amp;#039;&amp;#039;Startsymbol&amp;#039;&amp;#039; bezeichnet und &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; ist eine Menge von Produktionsregeln&lt;br /&gt;
&amp;lt;math&amp;gt;P \subset&amp;lt;/math&amp;gt;&amp;amp;nbsp;[[Differenzmenge|&amp;lt;math&amp;gt;(V^*\setminus{T}^*)&amp;lt;/math&amp;gt;]]&amp;amp;nbsp;[[Kartesisches Produkt|&amp;lt;math&amp;gt;\times&amp;lt;/math&amp;gt;]]&amp;amp;nbsp;[[Kleenesche Hülle|&amp;lt;math&amp;gt;V^*&amp;lt;/math&amp;gt;]]&amp;amp;nbsp;&amp;lt;math&amp;gt;=&amp;lt;/math&amp;gt;&amp;amp;nbsp;[[Konkatenation (Formale Sprache)|&amp;lt;math&amp;gt;V^*NV^*&amp;lt;/math&amp;gt;]]&amp;amp;nbsp;[[Kartesisches Produkt|&amp;lt;math&amp;gt;\times&amp;lt;/math&amp;gt;]]&amp;amp;nbsp;[[Kleenesche Hülle|&amp;lt;math&amp;gt;V^*&amp;lt;/math&amp;gt;]], d.&amp;amp;nbsp;h. auf der linken Seite jeder Produktionsregel steht wenigstens ein Nicht-Terminalsymbol. Für einzelne Regeln schreibt man anstelle von&amp;amp;nbsp; &amp;lt;math&amp;gt;(\alpha,\beta)\in P&amp;lt;/math&amp;gt;&amp;amp;nbsp; meistens &amp;lt;math&amp;gt;\alpha\rightarrow\beta&amp;lt;/math&amp;gt;, für die Menge der Regeln mit &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; auf der linken Seite&amp;amp;nbsp; &amp;lt;math&amp;gt;\{(\alpha,\beta_1),\dots,(\alpha,\beta_n)\} \subseteq P&amp;lt;/math&amp;gt;&amp;amp;nbsp; auch&amp;amp;nbsp; &amp;lt;math&amp;gt;\alpha\rightarrow\beta_1\mid\dots\mid\beta_n&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Um die Zugehörigkeit zur Klasse der Typ-0-Grammatiken auszudrücken, schreibt man &amp;lt;math&amp;gt;G \in \mbox{Typ}_0.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Von Typ-0-Grammatiken erzeugte Sprachen ====&lt;br /&gt;
Jede Typ-0-Grammatik erzeugt eine Sprache, die von einer [[Turingmaschine]] &amp;#039;&amp;#039;akzeptiert&amp;#039;&amp;#039; 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ählbare Sprache|rekursiv aufzählbaren Sprachen]] (oft auch &amp;#039;&amp;#039;[[Semi-entscheidbare Menge|semi-entscheidbare]] Sprachen&amp;#039;&amp;#039; genannt), d.&amp;amp;nbsp;h. die zugehörige Turingmaschine akzeptiert jedes Wort, das in der Sprache liegt. Bei einem Wort, das nicht in der Sprache liegt, kann es sein, dass die Turingmaschine nicht terminiert, d.&amp;amp;nbsp;h. keinerlei Auskunft über die Zugehörigkeit des Worts zur Sprache liefert.&lt;br /&gt;
&lt;br /&gt;
Man beachte, dass sich diese Menge von Sprachen von der Menge der [[Rekursive Sprache|rekursiven Sprachen]] (oft auch &amp;#039;&amp;#039;entscheidbare Sprachen&amp;#039;&amp;#039; genannt) unterscheidet, welche durch Turingmaschinen &amp;#039;&amp;#039;entschieden&amp;#039;&amp;#039; werden können.&lt;br /&gt;
&lt;br /&gt;
=== Typ-1-Grammatik (kontextsensitive Grammatik) ===&lt;br /&gt;
{{Hauptartikel|Kontextsensitive Grammatik}}&lt;br /&gt;
&lt;br /&gt;
==== Definition ====&lt;br /&gt;
Typ-1-Grammatiken werden auch &amp;#039;&amp;#039;kontextsensitive Grammatiken&amp;#039;&amp;#039; genannt. Es handelt sich dabei um Typ-0-Grammatiken, bei denen alle Produktionsregeln die Form &amp;lt;math&amp;gt;\alpha A \beta \rightarrow \alpha \gamma \beta&amp;lt;/math&amp;gt; oder &amp;lt;math&amp;gt;S \rightarrow \varepsilon&amp;lt;/math&amp;gt; haben, wobei &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; ein Nichtterminal und &amp;lt;math&amp;gt;\alpha, \gamma, \beta&amp;lt;/math&amp;gt; Wörter bestehend aus Terminalen (&amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt;) und Nichtterminalen (&amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt;) sind. &amp;lt;math&amp;gt;\varepsilon&amp;lt;/math&amp;gt; bezeichnet das leere Wort. Die Wörter &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; können leer sein, aber &amp;lt;math&amp;gt;\gamma&amp;lt;/math&amp;gt; muss mindestens ein Symbol (also ein Terminal oder ein Nichtterminal) enthalten. Diese Eigenschaft wird Längenbeschränktheit genannt.&lt;br /&gt;
&lt;br /&gt;
Als einzige Ausnahme von dieser Forderung lässt man &amp;lt;math&amp;gt;S \rightarrow \varepsilon&amp;lt;/math&amp;gt; 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 [[Ableitung (Informatik)#Satzform|Satzform]] länger wird oder gleich lang bleibt.&lt;br /&gt;
&lt;br /&gt;
Ist eine Grammatik &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; kontextsensitiv, so schreibt man &amp;lt;math&amp;gt;G \in \mbox{Typ}_1&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Anders als bei kontextfreien Grammatiken können auf der linken Seite der Produktionen kontextsensitiver Grammatiken durchaus statt einzelner Symbole ganze Symbolfolgen stehen, sofern sie mindestens ein Nichtterminalsymbol enthalten.&lt;br /&gt;
&lt;br /&gt;
==== Von Typ-1-Grammatiken erzeugte Sprachen ====&lt;br /&gt;
Die kontextsensitiven Grammatiken erzeugen genau die [[Kontextsensitive Sprache|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.&lt;br /&gt;
&lt;br /&gt;
Die kontextsensitiven Sprachen sind genau die Sprachen, die von einer [[Nichtdeterministische Turingmaschine|nichtdeterministischen]], [[Linear beschränkte Turingmaschine|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 bedeutet, es gibt eine konstante Zahl &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, sodass das Band der Turingmaschine höchstens &amp;lt;math&amp;gt;a \cdot x&amp;lt;/math&amp;gt; Felder besitzt, wobei &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; die Länge des Eingabewortes ist).&lt;br /&gt;
&lt;br /&gt;
==== Monotone Grammatiken ====&lt;br /&gt;
Einige Autoren bezeichnen eine Grammatik schon dann als kontextsensitiv, wenn bis auf die Ausnahme &amp;lt;math&amp;gt;S\rightarrow\varepsilon&amp;lt;/math&amp;gt; (s.&amp;amp;nbsp;o.) alle Produktionsregeln &amp;lt;math&amp;gt;w_1 \rightarrow w_2&amp;lt;/math&amp;gt; nur die Bedingung &amp;lt;math&amp;gt;\left|w_1\right| \leq \left|w_2\right|&amp;lt;/math&amp;gt; erfüllen, d.&amp;amp;nbsp;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 [[Monotone Grammatik|monotonen Grammatik]] oder der nichtverkürzenden Grammatik.&lt;br /&gt;
&lt;br /&gt;
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 ist auch nicht jede monotone Grammatik eine kontextsensitive.&lt;br /&gt;
&lt;br /&gt;
=== Typ-2-Grammatik (kontextfreie Grammatik) ===&lt;br /&gt;
{{Hauptartikel|Kontextfreie Grammatik}}&lt;br /&gt;
&lt;br /&gt;
==== Definition ====&lt;br /&gt;
Typ-2-Grammatiken werden auch &amp;#039;&amp;#039;kontextfreie Grammatiken&amp;#039;&amp;#039; genannt. Es sind Grammatiken, für die gelten muss: &amp;lt;math&amp;gt;\forall (w_1 \rightarrow w_2) \in P: ( w_1 \in N) \land \left(w_2 \in V^+\right).&amp;lt;/math&amp;gt; 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 aus dem gesamten Vokabular &amp;lt;math&amp;gt;V = N \cup T&amp;lt;/math&amp;gt; stehen.&lt;br /&gt;
&lt;br /&gt;
Außerdem kann wie bei Typ-1-Grammatiken die Ausnahmeregel &amp;lt;math&amp;gt;S\rightarrow\varepsilon&amp;lt;/math&amp;gt; zugelassen werden, wenn &amp;lt;math&amp;gt;S&amp;lt;/math&amp;gt; auf keiner rechten Seite einer Regel vorkommt.&lt;br /&gt;
&lt;br /&gt;
Man schreibt &amp;lt;math&amp;gt;G \in \mbox{Typ}_2.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kontextfreie Grammatiken werden oft so definiert, dass die rechte Seite auch leer sein darf, also &amp;lt;math&amp;gt;(w_1 \rightarrow \varepsilon) \in P&amp;lt;/math&amp;gt;. 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.&lt;br /&gt;
&lt;br /&gt;
==== Von Typ-2-Grammatiken erzeugte Sprachen ====&lt;br /&gt;
Kontextfreie Grammatiken (mit &amp;lt;math&amp;gt;\varepsilon&amp;lt;/math&amp;gt;-Ausnahmeregel) erzeugen genau die [[Kontextfreie Sprache|kontextfreien Sprachen]], jede Typ-2-Grammatik erzeugt also eine kontextfreie Sprache und zu jeder kontextfreien Sprache existiert eine Typ-2-Grammatik, die diese erzeugt.&lt;br /&gt;
&lt;br /&gt;
Die kontextfreien Sprachen sind genau die Sprachen, die von einem nichtdeterministischen [[Kellerautomat]]en (NPDA) erkannt werden können. Eine Teilmenge dieser Sprachen bildet die theoretische Basis für die Syntax der meisten [[Programmiersprache]]n.&lt;br /&gt;
&lt;br /&gt;
Siehe auch: [[Backus-Naur-Form]] (BNF) / [[Erweiterte Backus-Naur-Form]] (EBNF): ein anderes, äquivalentes Schema der Bezeichnungsweisen.&lt;br /&gt;
&lt;br /&gt;
=== Typ-3-Grammatik (reguläre Grammatik) ===&lt;br /&gt;
{{Hauptartikel|Reguläre Grammatik}}&lt;br /&gt;
&lt;br /&gt;
==== Definition ====&lt;br /&gt;
Typ-3-Grammatiken werden auch &amp;#039;&amp;#039;reguläre Grammatiken&amp;#039;&amp;#039; 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 &amp;#039;&amp;#039;immer vor&amp;#039;&amp;#039; oder &amp;#039;&amp;#039;immer hinter&amp;#039;&amp;#039; dem Terminalsymbol sein, je nachdem spricht man auch genauer von &amp;#039;&amp;#039;linksregulären&amp;#039;&amp;#039; und &amp;#039;&amp;#039;rechtsregulären Grammatiken&amp;#039;&amp;#039;. Sie stimmen mit den links- beziehungsweise rechts-linearen Grammatiken überein, wohingegen [[lineare Grammatik]]en nicht den regulären Grammatiken entsprechen.&lt;br /&gt;
&lt;br /&gt;
Für &amp;#039;&amp;#039;linksreguläre&amp;#039;&amp;#039; Typ-3-Grammatiken muss also die Bedingung erfüllt sein, dass&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\forall (w_1 \rightarrow w_2) \in P: (w_1 \in N) \land&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;(w_2 \in T \cup NT)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sie dürfen also nur &amp;#039;&amp;#039;links&amp;#039;&amp;#039;reguläre Produktionen (Nichtterminalsymbol auf der rechten Seite in &amp;#039;&amp;#039;Vorder&amp;#039;&amp;#039;stellung) enthalten.&lt;br /&gt;
&lt;br /&gt;
Üblicherweise gestattet man für reguläre Grammatiken, wie auch für kontextfreie Grammatiken Regeln mit leerer rechter Seite, also&lt;br /&gt;
&amp;lt;math&amp;gt;(w_1\rightarrow\varepsilon) \in P&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Rechtsreguläre Grammatiken&amp;#039;&amp;#039; erfüllen dagegen die analoge Bedingung&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\forall (w_1 \rightarrow w_2) \in P: (w_1 \in N) \land&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;(w_2 \in T \cup TN \cup \{ \varepsilon \})&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Diese enthalten also nur &amp;#039;&amp;#039;rechts&amp;#039;&amp;#039;reguläre Produktionen (Nichtterminalsymbol auf der rechten Seite allenfalls in &amp;#039;&amp;#039;Hinter&amp;#039;&amp;#039;stellung). Diese Bedingung drückt auch schon die Erlaubnis leerer rechter Seiten aus.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Man beachte, dass beim Auftreten von linksregulären &amp;#039;&amp;#039;und&amp;#039;&amp;#039; rechtsregulären Produktionen in ein und derselben Chomsky-Grammatik diese &amp;#039;&amp;#039;nicht&amp;#039;&amp;#039; regulär ist. Die Grammatiken mit sowohl linksregulären als auch rechtsregulären Produktionen erzeugen nämlich eine echt größere Sprachklasse.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Man schreibt &amp;lt;math&amp;gt;G \in \mbox{Typ}_3&amp;lt;/math&amp;gt; für reguläre Grammatiken &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Von Typ-3-Grammatiken erzeugte Sprachen ====&lt;br /&gt;
Reguläre Grammatiken erzeugen genau die [[Reguläre Sprache|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.&lt;br /&gt;
&lt;br /&gt;
Reguläre Sprachen können alternativ auch durch [[Regulärer Ausdruck|reguläre Ausdrücke]] beschrieben werden und die regulären Sprachen sind genau die Sprachen, die von [[Endlicher Automat|endlichen Automaten]] erkannt werden können. Sie werden häufig genutzt, um Suchmuster oder die lexikalische Struktur von Programmiersprachen zu definieren.&lt;br /&gt;
&lt;br /&gt;
=== Übersicht ===&lt;br /&gt;
Die folgende Tabelle führt für die vier Grammatiktypen auf, welche Form ihre Regeln haben, welchen Namen die erzeugten Sprachen haben und welche Automatentypen diese Sprachen erkennen, also das Wortproblem zumindest [[Semi-entscheidbare Menge|semi-entscheiden]] (Wort in Sprache: Maschine hält in akzeptierendem Endzustand, Wort nicht in Sprache: Maschine hält nie oder hält in nicht akzeptierendem Zustand → sicher hält die Maschine also nur, wenn das Wort in der Sprache ist). Da in der Chomsky-Hierarchie für die Sprachmengen aber eine echte Teilmengenbeziehung gilt (siehe nächster Abschnitt) entscheiden z.&amp;amp;nbsp;B. Turingmaschinen selbstverständlich ebenfalls das Wortproblem für Sprachen vom Typ 1 bis 3.&lt;br /&gt;
(entscheiden heißt: Wort in Sprache: Maschine hält in akzeptierendem Endzustand, Wort nicht in Sprache: Maschine hält in nicht akzeptierendem Zustand → irgendwann hält die Maschine und das Problem (Wort in Sprache?) ist entschieden)&lt;br /&gt;
Außerdem wird vermerkt, gegenüber welchen [[Operation (Informatik)|Operationen]] die erzeugten Sprachen [[Abgeschlossenheit (algebraische Struktur)|abgeschlossen]] sind.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- class=&amp;quot;hintergrundfarbe6&amp;quot;&lt;br /&gt;
! Grammatik&lt;br /&gt;
! Regeln&lt;br /&gt;
! Sprachen&lt;br /&gt;
! Entscheidbarkeit&lt;br /&gt;
! Automaten&lt;br /&gt;
! Abgeschlossenheit&amp;lt;ref&amp;gt;{{Literatur |Autor=[[Uwe Schöning]] |Titel=Theoretische Informatik – kurz gefasst |Auflage=5. |Verlag=Spektrum Akademischer Verlag |Ort=Heidelberg |Datum=2008 |ISBN=978-3-8274-1824-1 |Seiten=81}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
! Zeitabschätzung&lt;br /&gt;
|-----&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Typ-0&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;[[Formale Grammatik|Beliebige formale Grammatik]]&lt;br /&gt;
| &amp;lt;math&amp;gt;\alpha \rightarrow \beta&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;!--&amp;lt;math&amp;gt;\alpha \in (T \cup N)^*\setminus\Sigma^* , \beta \in (T \cup N)^\ast&amp;lt;/math&amp;gt;--&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\alpha \in V^*\setminus T^* , \beta \in V^\ast&amp;lt;/math&amp;gt;&lt;br /&gt;
| [[Rekursiv aufzählbare Sprache|rekursiv aufzählbar]] (nicht „nur“ [[Rekursive Sprache|rekursiv]], die wären entscheidbar!)&lt;br /&gt;
| –&lt;br /&gt;
| [[Turingmaschine]] (egal ob deterministisch oder nicht-deterministisch)&lt;br /&gt;
| &amp;lt;math&amp;gt;\circ, \cap, \cup, \ast&amp;lt;/math&amp;gt;&lt;br /&gt;
| unbeschränkt&lt;br /&gt;
|-----&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Typ-1&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;[[Kontextsensitive Grammatik]]&lt;br /&gt;
| &amp;lt;math&amp;gt;\alpha A \beta \rightarrow \alpha \gamma \beta&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;!--&amp;lt;math&amp;gt;A \in N, \alpha, \beta \in (T \cup N)^\ast, \gamma \in (T \cup N)^+\;&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;--&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;A \in N, \alpha, \beta \in V^\ast, \gamma \in V^+\;&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;S \rightarrow \varepsilon&amp;lt;/math&amp;gt; ist erlaubt, wenn es keine Regel &amp;lt;math&amp;gt;\alpha \rightarrow \beta S\gamma&amp;lt;/math&amp;gt; in &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; gibt.&lt;br /&gt;
| [[Kontextsensitive Sprache|kontextsensitiv]]&lt;br /&gt;
| [[Wortproblem (Berechenbarkeitstheorie)|Wortproblem]]&lt;br /&gt;
| [[Linear beschränkte Turingmaschine|linear platzbeschränkte nichtdeterministische Turingmaschine]]&lt;br /&gt;
| &amp;lt;math&amp;gt;\complement, \circ, \cap, \cup, \ast&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;O(2^n)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-----&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Typ-2&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;[[Kontextfreie Grammatik]]&lt;br /&gt;
| &amp;lt;math&amp;gt;A \rightarrow \gamma&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;!--&amp;lt;math&amp;gt;A \in N, \gamma \in (T \cup N)^\ast&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;--&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;A \in N, \gamma \in V^+&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
| [[Kontextfreie Sprache|kontextfrei]]&lt;br /&gt;
| [[Wortproblem (Berechenbarkeitstheorie)|Wortproblem]], [[Leerheitsproblem]], [[Endlichkeitsproblem]]&lt;br /&gt;
| nichtdeterministischer [[Kellerautomat]]&lt;br /&gt;
| &amp;lt;math&amp;gt;\circ, \cup, \ast&amp;lt;/math&amp;gt;&lt;br /&gt;
| &amp;lt;math&amp;gt;O(n^3)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-----&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Typ-3&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;[[Reguläre Grammatik]]&lt;br /&gt;
| &amp;lt;math&amp;gt;A \rightarrow aB&amp;lt;/math&amp;gt; (rechtsregulär) oder&amp;lt;br /&amp;gt;&amp;lt;math&amp;gt;A \rightarrow Ba&amp;lt;/math&amp;gt; (linksregulär)&amp;lt;br /&amp;gt;&amp;lt;math&amp;gt;A \rightarrow a&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;math&amp;gt;A \rightarrow \varepsilon&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;math&amp;gt;A,B \in N, a \in T&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;Nur links- oder nur rechtsreguläre Produktionen&amp;lt;/small&amp;gt;&lt;br /&gt;
| [[Reguläre Sprache|regulär]]&lt;br /&gt;
| [[Wortproblem (Berechenbarkeitstheorie)|Wortproblem]], [[Leerheitsproblem]], [[Endlichkeitsproblem]], [[Äquivalenzproblem]], [[Schnittproblem]]&lt;br /&gt;
| [[Endlicher Automat]] (egal ob deterministisch oder nicht-deterministisch)&lt;br /&gt;
| &amp;lt;math&amp;gt;\complement, \circ, \cap, \cup, \ast&amp;lt;/math&amp;gt;&lt;br /&gt;
| &amp;lt;math&amp;gt;O(n)&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Legende für die Spalte &amp;#039;&amp;#039;Regeln&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; … endliches &amp;#039;&amp;#039;Alphabet&amp;#039;&amp;#039; (Menge der Terminalsymbole, oft auch mit &amp;lt;math&amp;gt;\Sigma&amp;lt;/math&amp;gt; bezeichnet, das aber auch &amp;lt;math&amp;gt;V \cup N&amp;lt;/math&amp;gt; bedeuten kann)&lt;br /&gt;
* &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; … die davon [[disjunkt]]e Menge der Nichtterminalsymbole (gelegentlich auch &amp;#039;&amp;#039;Variablen&amp;#039;&amp;#039; genannt und mit &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; bezeichnet, statt &amp;lt;math&amp;gt;V := N \cup T&amp;lt;/math&amp;gt; … gesamtes &amp;#039;&amp;#039;Vokabular&amp;#039;&amp;#039;)&lt;br /&gt;
* &amp;lt;math&amp;gt;S \in N&amp;lt;/math&amp;gt; … &amp;#039;&amp;#039;Startsymbol&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;lt;math&amp;gt;\varepsilon&amp;lt;/math&amp;gt; … [[leeres Wort]] (oft auch mit &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt; bezeichnet)&lt;br /&gt;
* &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; … Menge von [[Produktionsregel]]n (als [[Teilmenge]] eines [[Kartesisches Produkt|kartesischen Produkts]] eine [[Relation (Mathematik)|Relation]])&lt;br /&gt;
* &amp;lt;math&amp;gt;\setminus &amp;lt;/math&amp;gt; …  [[Differenzmenge|Mengen-Differenzbildung]]&lt;br /&gt;
* &amp;lt;math&amp;gt;^{\ast}&amp;lt;/math&amp;gt; … Kleenescher Abschluss (Hülle), siehe [[Kleenesche und positive Hülle]]&lt;br /&gt;
* &amp;lt;math&amp;gt;^{+}&amp;lt;/math&amp;gt; … positive Hülle, z.&amp;amp;nbsp;B. meint &amp;lt;math&amp;gt; \gamma \in (T \cup N)^+ = V^+&amp;lt;/math&amp;gt; … &amp;lt;math&amp;gt;\gamma&amp;lt;/math&amp;gt; muss mindestens ein Symbol (Terminal oder ein Nichtterminal) enthalten&lt;br /&gt;
&lt;br /&gt;
In der obigen Tabelle werden somit mit lateinischen Großbuchstaben Nichtterminalsymbole dargestellt&lt;br /&gt;
&amp;lt;math&amp;gt;A,B \in N&amp;lt;/math&amp;gt;,&lt;br /&gt;
mit lateinischen Kleinbuchstaben Terminalsymbole&lt;br /&gt;
&amp;lt;math&amp;gt;a \in T&amp;lt;/math&amp;gt;&lt;br /&gt;
und griechische Kleinbuchstaben werden verwendet, wenn es sich sowohl um Nichtterminal als auch um Terminalsymbole handeln kann.&lt;br /&gt;
&lt;br /&gt;
Achtung: Bei &amp;lt;math&amp;gt;^{\ast}&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;^+&amp;lt;/math&amp;gt; kann ein griechischer Kleinbuchstabe für Wörter aus mehreren Terminal- oder Nichtterminalsymbolen stehen!&lt;br /&gt;
&lt;br /&gt;
;Legende für die Spalte &amp;#039;&amp;#039;Abgeschlossenheit&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;lt;math&amp;gt;\complement&amp;lt;/math&amp;gt; … [[Komplement (Mengenlehre)|Komplementbildung]]&lt;br /&gt;
* &amp;lt;math&amp;gt;\circ&amp;lt;/math&amp;gt; … [[Konkatenation (Formale Sprache)|Konkatenation]]&lt;br /&gt;
* &amp;lt;math&amp;gt;\cap&amp;lt;/math&amp;gt; … [[Schnittmenge]]&lt;br /&gt;
* &amp;lt;math&amp;gt;\cup&amp;lt;/math&amp;gt; … [[Vereinigungsmenge]]&lt;br /&gt;
* &amp;lt;math&amp;gt;^{\ast}&amp;lt;/math&amp;gt; … [[Kleenesche und positive Hülle|Kleenescher Abschluss]] (Hülle)&lt;br /&gt;
&amp;lt;!-- * &amp;lt;math&amp;gt;^{+}&amp;lt;/math&amp;gt; … [[Kleenesche und positive Hülle|positive Hülle]] -- kommt nicht vor --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Chomsky-Hierarchie für formale Sprachen ==&lt;br /&gt;
[[Datei:Chomsky-Hierarchie.svg|mini|Teilmengenbeziehung der Sprachklassen in der Chomsky-Hierarchie]]&lt;br /&gt;
&lt;br /&gt;
Eine formale Sprache ist vom Typ &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt; entsprechend der Hierarchie für Grammatiken, wenn es von einer Typ-&amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt;-Grammatik erzeugt wird. Formal ausgedrückt heißt das:&lt;br /&gt;
&amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; ist vom Typ &amp;lt;math&amp;gt;i \in \{ 0, \ldots, 3 \},&amp;lt;/math&amp;gt; falls es eine Grammatik &amp;lt;math&amp;gt;G \in \mbox{Typ}_i&amp;lt;/math&amp;gt; mit &amp;lt;math&amp;gt;L = L \left( G \right)&amp;lt;/math&amp;gt; gibt. Man schreibt dann &amp;lt;math&amp;gt;L \in \mathcal{L}_i.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Formal ausgedrückt bedeutet dies für die &amp;#039;&amp;#039;Klassen&amp;#039;&amp;#039; der durch die obigen Grammatiken erzeugten Sprachen: &amp;lt;math&amp;gt;\mathcal{L}_3 \subset \mathcal{L}_2 \subset \mathcal{L}_1 \subset \mathcal{L}_0,&amp;lt;/math&amp;gt; wobei gelegentlich auch folgende Symbole verwendet werden: &amp;lt;math&amp;gt;\mathrm{REG} \subset \mathrm{CF} \subset \mathrm{CS} \subset \mathrm{RE.}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beispiele für Sprachen in den jeweiligen Differenzmengen sind:&lt;br /&gt;
* &amp;lt;math&amp;gt;L_1 = \left\{a^n b^n c^n \,|\, n \ge 1\right\}&amp;lt;/math&amp;gt; ist vom Typ 1, aber nicht vom Typ 2&lt;br /&gt;
* &amp;lt;math&amp;gt;L_2 = \left\{a^n b^n \,|\, n \ge 1\right\}&amp;lt;/math&amp;gt; ist vom Typ 2, aber nicht vom Typ 3&lt;br /&gt;
&lt;br /&gt;
Beweise für die Nichtzugehörigkeit bestimmter Sprachen zu den Sprachklassen &amp;lt;math&amp;gt;\mathcal{L}_2&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;\mathcal{L}_3&amp;lt;/math&amp;gt; wie hier werden oft mit dem [[Pumping-Lemma|Schleifensatz]] geführt.&lt;br /&gt;
&lt;br /&gt;
== Natürliche Sprachen ==&lt;br /&gt;
{{Belege fehlen}}&lt;br /&gt;
Obwohl Chomsky seine Forschungen mit dem Ziel verfolgte, eine mathematische Beschreibung der [[Natürliche Sprache|natürlichen Sprachen]] zu finden, ist bis heute für keine natürliche Sprache der Nachweis einer [[Korrektheit (Logik)|korrekten]] und [[Vollständigkeit (Logik)|vollständigen]] formalen Grammatik gelungen.&amp;lt;ref&amp;gt;{{Internetquelle |autor=John Spacey |url=https://simplicable.com/new/natural-language-vs-formal-language |titel=Natural Language vs. Formal Language |werk=Simplicable |datum=2017-04-12 |abruf=2021-09-06 |sprache=en}}&amp;lt;/ref&amp;gt; Das Problem besteht u.&amp;amp;nbsp;a. im Zusammenspiel der verschiedenen Grammatikteile, die jeweils einzelne sprachliche Phänomene modellieren. Aber auch beim praktischen Einsatz formaler Grammatiken in der [[Computerlinguistik]] kann es zu [[Mehrdeutigkeit]]en auf verschiedenen Ebenen der Sprachbetrachtung kommen; diese müssen (z.&amp;amp;nbsp;B. in der [[Maschinelle Übersetzung|maschinellen Übersetzung]]) anhand des [[Kontext (Sprachwissenschaft)|Kontextes]] aufgelöst werden.&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* {{Literatur |Autor=[[Noam Chomsky]] |Titel=Three models for the description of language |Sammelwerk=IRE Transactions on Information Theory |Band=Vol. 2 |Datum=1956 |Seiten=113–124 |Online=https://chomsky.info/wp-content/uploads/195609-.pdf |Format=PDF |KBytes=}}&lt;br /&gt;
* {{Literatur |Autor=Noam Chomsky |Titel=On certain formal properties of grammars |Sammelwerk=Information and Control |Band=Vol. 2 |Datum=1959 |Seiten=137–167 |Online=http://www.diku.dk/hjemmesider/ansatte/henglein/papers/chomsky1959.pdf |Format=PDF |KBytes=}}&lt;br /&gt;
* {{Literatur |Autor=Noam Chomsky, Marcel P. Schützenberger |Hrsg=P. Braffort, D. Hirschberg |Titel=The algebraic theory of context free languages, Computer Programming and Formal Languages |Verlag=North Holland |Ort=Amsterdam |Datum=1963 |Seiten=118–161}}&lt;br /&gt;
* {{Literatur |Autor=Peter Sander, Wolffried Stucky, Rudolf Herschel |Titel=Automaten, Sprachen, Berechenbarkeit |Verlag=Teubner |Ort=Stuttgart |Datum=1992 |ISBN=3-519-02937-5}}&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Normdaten|TYP=s|GND=4529323-5}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Theorie formaler Sprachen]]&lt;br /&gt;
[[Kategorie:Compilerbau]]&lt;br /&gt;
[[Kategorie:Noam Chomsky]]&lt;/div&gt;</summary>
		<author><name>134.245.44.20</name></author>
	</entry>
</feed>