Sprachen, Automaten und Grammatiken: Ein Überblick

Die folgende Tabelle gibt einen Überblick über formale Sprachen, die Automaten die sie akzeptieren und die Grammatiken, die sie erzeugen. Dabei haben die Grammatiken die Form \(G = (V, \Sigma, P, S)\):

  • V: Die Menge der Nicht-Terminale. Für sie benutze ich Großbuchstaben.
  • \(\Sigma\): Die Menge der Terminale. Für sie benutze ich Kleinbuchstaben.
  • P: Die Produktion, also die Regeln mit denen die Grammatik die Sprache erzeugt. Nur diese hat unterschiedliche Bedingungen, je nach dem welchem Typ die Grammatik angehört.
  • S: Das Startsymbol aus \(\Sigma\).
Typ Bezeichnung Regeln Abgeschlossen unter Modell
\(\cup\) \(\cap\) \(\cdot\) \({}^C\)
0 semientscheidbar alles yes yes yes no D. Turingmaschine, ND. Turingmaschine
1 kontextsensitiv \(u \rightarrow v, |a| \leq |v|\) yes yes yes yes (ND.?) Längenbeschränkter Automat
2 kontextfrei \(A \rightarrow v\) yes no yes no ND. Kellerautomat
3 regulär \(A \rightarrow \varepsilon, A \rightarrow aB\) yes yes yes yes Endliche Automaten (Moore, Mealy, Akzeptoren)

Legende:
Typ.: Der Typ der Grammatik in der Chomsky-Hierarchie
D.: “Deterministisch”
ND.: “Nicht Deterministisch”
semi-entscheidbar
entscheidbar, es kann also in endlicher Zeit entschieden werden, ob ein Wort in der Sprache liegt (vgl. Wortproblem).

Nicht-Abeschlossenheit der Kontextfreien Sprachen:
\(L_1 = \{a^jb^ic^i | j \in \mathbb{N}_0, i \in \mathbb{N}_0\}\)
\(L_2 = \{a^ib^ic^j | j \in \mathbb{N}_0, i \in \mathbb{N}_0\}\)
\(L_1 \cap L_2 = \{a^ib^ic^i | i \in \mathbb{N}_0\}\)
\((L_1 \cup L_2)^C = L_1^C \cap L_2^C\)

Weitere Aussagen

Sei L eine Sprache.
\(L \in {\cal L_3} \Leftrightarrow\) Es existiert ein regulärer Ausdruck für L.
\(L \in {\cal L_3} \Leftrightarrow\) Die Anzahl der Äquivalenzklassen der Nerode-Relation bzgl. der Sprache ist endlich.
\(L \in {\cal L_3} \Rightarrow\) Das Pumping-Lemma ist erfüllt.

Für reguläre Sprachen ist das Leerheitsproblem (\(L(G) \stackrel{?}{=} \emptyset\)) entscheidbar.
Für reguläre Sprachen ist das Endlichkeitsproblem (\(L(G) \stackrel{?}{<} \infty\)) entscheidbar.

Für kontextfreie Sprachen ist das Leerheitsproblem entscheidbar.
Für kontextfreie Sprachen ist das Endlichkeitsproblem entscheidbar.

Für Typ 0 und Typ 1 Sprachen ist das Leerheitsproblem nicht entscheidbar.

\(L \in {\cal L_2} \Leftrightarrow L\) wird von einem nichtdeterministischem Kellerautomaten erkannt.

Quellen

  • Uwe Schöning: Theoretische Informatik- kurz gefasst. 5. Auflage. Spektrum Akademischer Verlag, Heidelberg 2008, ISBN 978-3-8274-1824-1, DNB 986529222.
  • Tutorium, Skript, Vorlesung: Theoretische Grundlagen der Informatik am KIT bei Prof. Dr. Dorothea Wagner
You can leave a response, or trackback from your own site.

Leave a Reply