Zum Inhalt springen

Monotone Grammatik

aus Wikipedia, der freien Enzyklopädie

Eine monotone Grammatik (auch nichtverkürzende Grammatik, beschränkte Grammatik oder expansive Grammatik) ist eine formale Grammatik, die nur Produktionsregeln enthält, deren rechte Seite nicht kürzer als die linke Seite ist. Ein Ableitungsschritt in einer monotonen Grammatik verkürzt nicht die abzuleitende Satzform.

Definition

Formal ist eine monotone Grammatik definiert als 4-Tupel <math>G = \left(V, T, P, S\right)</math> mit

  • einer endlichen Menge V, genannt Vokabular (Symbolmenge),
  • Terminalsymbolen <math>T \subset V</math> (Alphabet),
  • Nichtterminalsymbolen <math>N =</math> <math>V\setminus{T}</math> (Metasymbole, Variablen)
  • Produktionsregeln <math>P \subseteq V^+ \times V^+</math>, für die gilt:
    Für jede Regel <math>w_1 \to w_2</math> ist <math>\left|w_1\right|\leq \left|w_2\right|</math>, d. h. <math>w_1</math> ist nicht länger als <math>w_2</math>.
  • einem Startsymbol <math>S \in N</math> (auch Startvariable genannt).

Manche Autoren benutzen alternativ das Quadrupel <math>(N, T, P, S)</math> zur Kennzeichnung einer Grammatik <math>G</math>.

Erlaubt man für monotone Grammatiken zusätzlich die Ausnahmeregel <math>S \to \varepsilon</math>, sofern <math>S</math> in keiner rechten Seite einer Regel vorkommt, so erzeugen die monotonen Grammatiken genau die kontextsensitiven Sprachen und sind somit äquivalent zu den kontextsensitiven Grammatiken.

Beispiel

Die Grammatik <math>G = \left(V, T, S, P\right)</math> mit <math>V = N \cup T</math>,   <math>N = \left\{S, B\right\}</math>,   <math>T = \left\{a, b, c\right\}</math>  und <math>P</math>:

<math>\begin{alignat}{2}S &&{}\to{}& aSBc\\

S &&{}\to{}& abc\\ cB &&{}\to{}& Bc\\ bB &&{}\to{}& bb\end{alignat}</math> erzeugt die Sprache <math>L = \left\{a^n b^n c^n \mid n \geq 1\right\}</math>.

Literatur

  • Carlos Martín Vide, Victor Mitrana, Gheorghe Păun (Hrsg.): Formal languages and applications. (Studies in Fuzziness and Soft Computing Vol. 148), Springer, Heidelberg u. a. 2004, ISBN 3-540-20907-7 ({{#if: Qc9s48Kv-Y4C

| {{#if: {{#if: ||1}} {{#if: Qc9s48Kv-Y4C ||1}} | <0|&pg={{#if:|RA{{{Band}}}-}}PA|&pg=}}{{#if:|&q=}}#v=onepage|{{#if:|&pg=|}}{{#if:|&q=}}}}{{#if:|q=%7B%7B%7BSuchbegriff%7D%7D%7D}}|{{#if:|q=%7B%7B%7BSuchbegriff%7D%7D%7D}}}} {{#if:|{{#invoke:WLink|getEscapedTitle|{{{Linktext}}}}}|eingeschränkte Vorschau}}{{#if:|| in der Google-Buchsuche}}{{#ifeq:|US|-USA}}{{#if: Qc9s48Kv-Y4C |{{#invoke: Vorlage:GoogleBook|fine |id=Qc9s48Kv-Y4C |errN=Parameter „BuchID“ hat falsche Länge |errC=Parameter „BuchID“ enthält ungültige Zeichen |errH=# in der „BuchID“ |errP=Parameterzuweisungen in der „BuchID“ |class=editoronly |cat={{#ifeq: 0 | 0 | Wikipedia:Vorlagenfehler/Vorlage:Google Buch}} |template= Vorlage:Google Buch}} }} | Es darf nur genau einer der beiden Parameter „Suchbegriff“ oder „BuchID“ ausgefüllt werden. Bitte beachte die in der Vorlage:Google Buch befindliche Dokumentation und prüfe die verwendeten Parameter.{{#ifeq: 0 | 0 | }}}} | Es muss mindestens einer der beiden Parameter „Suchbegriff“ oder „BuchID“ ausgefüllt werden. Bitte beachte die in der Vorlage:Google Buch befindliche Dokumentation und prüfe die verwendeten Parameter.{{#ifeq: 0 | 0 | }}}}{{#invoke:TemplatePar|check |all= |opt= Suchbegriff= BuchID= Seite= Band= SeitenID= Hervorhebung= Linktext= Land= KeinText= |cat= {{#ifeq: 0 | 0 | Wikipedia:Vorlagenfehler/Vorlage:Google Buch}} |template= Vorlage:Google Buch |format= }}{{#if:|{{#if:{{#invoke:WLink|isBracketedLink|{{{Linktext}}}}}|}}}})