Kontextsensitive Grammatik
Die kontextsensitiven Grammatiken (kurz CSG, von engl. context-sensitive grammar) sind eine Klasse formaler Grammatiken und identisch mit den Typ-1-Grammatiken der Chomsky-Hierarchie. Sie zeichnen sich dadurch aus, dass einzelne Nichtterminalsymbole nur in einem vorgegebenen Kontext ersetzt werden dürfen.
Definition
Eine kontextsensitive Grammatik ist eine formale
Grammatik
mit
- einer endlichen Menge
(Vokabular),
- Terminalsymbolen
- Nichtterminalsymbolen
, darunter das
- Startsymbol
- Produktionsregeln
der Form
oder der Form
, wenn gilt:
kommt auf keiner rechten Seite einer Produktionsregel vor.
Manche Autoren bezeichnen alternativ das Quadrupel
als Grammatik
.
Beschreibung
Bis auf eine Ausnahme hat jede Produktionsregel der Definition nach die Form
und
.
Das bedeutet, dass das Nichtterminalsymbol
im Kontext der Zeichenketten
und
durch
ersetzt wird. Aber während
aus mindestens einem Symbol (Terminal- oder Nichtterminalsymbol) bestehen muss,
kann sowohl
als auch
leer sein. Folgende Sonderfälle sind daher gemäß der Definition möglich:
Um das leere
Wort
erzeugen zu können, erlaubt man die Regel
,
sofern
auf keiner rechten Seite einer Produktionsregel vorhanden ist. Durch das
Hinzufügen des leeren Wortes wird erreicht, dass die kontextsensitiven Sprachen
eine echte Obermenge der kontextfreien Sprachen sind. Ansonsten hätte man als
Resultat die umständlicher zu beschreibende Situation, dass nur die
kontextfreien Grammatiken ohne leere-Wort-Produktionen auch
kontextsensitive Grammatiken sind.
Kontextsensitive und monotone Grammatiken
Die Produktionsregeln kontextsensitiver Grammatiken verkürzen die linke Seite
nicht. Bis auf die Ausnahmeregel
erfüllen also alle Regeln
die Bedingung
.
Eine kontextsensitive Grammatik ist deshalb (bis auf die genannte
leere-Wort-Produktion) immer auch eine monotone
Grammatik. Kontextsensitive und monotone Grammatiken erzeugen aber die
gleiche Sprachklasse.
Einige Autoren definieren kontextsensitive Grammatiken im Sinne monotoner
Grammatiken[1].
Die Produktionsregeln der Form
werden gelegentlich nur als typische oder kanonische Form kontextsensitiver
Regeln betrachtet,
im Gegensatz zu
.
Normalformen
Zu jeder kontextsensitiven Grammatik existiert eine Grammatik in Kuroda-Normalform mit Produktionsregeln der Form
Eine Grammatik in Kuroda-Normalform ist im Allgemeinen zwar monoton aber nicht mehr kontextsensitiv.
Eine kontextsensitive Normalform ist die einseitige Normalform mit Regeln der Art:
Zu jeder kontextsensitiven Grammatik gibt es eine Grammatik in einseitiger Normalform.
Alternative Notation
Im Bereich der Sprachwissenschaften
findet man eine alternative Notation der Produktionsregeln.
Man gibt die Ersetzungsregeln ähnlich wie bei kontextfreien Regeln an und nennt
den Kontext, in dem die Regel angewendet werden darf, am rechten Ende der Regel:
Von kontextsensitiven Grammatiken erzeugte Sprachen
Mit Hilfe kontextsensitiver Grammatiken lassen sich genau die kontextsensitiven Sprachen erzeugen. Das heißt: Jede kontextsensitive Grammatik erzeugt eine kontextsensitive Sprache und zu jeder kontextsensitiven Sprache existiert eine kontextsensitive Grammatik, die diese Sprache erzeugt.
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).
Darum ist auch das Wortproblem
(die Frage, ob
gilt) für kontextsensitive Sprachen
entscheidbar.
Anmerkung
- ↑ zum Beispiel Uwe Schöning: Theoretische Informatik – kurz gefasst. 5. Auflage. Spektrum Akademischer Verlag, 2008, ISBN 978-3-8274-1824-1,.
Literatur
- Katrin Erk, Lutz Priese: Theoretische Informatik: Eine umfassende Einführung. 3. erweiterte Auflage. Springer, Berlin u. a. 2008, ISBN 978-3-540-76319-2.



© biancahoegel.de
Datum der letzten Änderung: Jena, den: 22.07. 2022