Die kontextsensitiven Sprachen sind genau die Sprachen, die von einer Turing-Maschine unter Verwendung eines linearen Raums und Nichtdeterminismus erkannt werden können. Sie können eine solche Turing-Maschine mit Hilfe der Exponentialzeit simulieren, sodass Sie jede solche Sprache in Exponentialzeit erkennen können. Beachten Sie, dass das Problem beim Erkennen einiger kontextsensitiver Sprachen vollständig ist. Dies bedeutet, dass Sie mit ziemlicher Sicherheit nicht besser als mit exponentieller Zeit arbeiten können.PSPA CE
Wenn Sie dies mit Sprachen des Typs 0 vergleichen, können Sie zumindest sagen , wie lange es dauert, bis die Sprache erkannt wird. Eine Sprache vom Typ 0 kann möglicherweise nicht einmal entschieden werden: Die Sprache aller Turing-Maschinen, die anhalten, ist eine Sprache vom Typ 0, aber da das Erkennen dieser Sprache genau das Problem des Anhaltens ist, kann sie nicht entschieden werden.
Kontextsensitive Grammatiken sind in der Praxis nicht sehr nützlich. Kontext- freie Grammatiken sind intuitiv Arbeit mit, aber wie die Beispiele auf Wikipedia zeigen , kontext- sensitive Grammatiken werden sehr schnell ziemlich chaotisch. Programme, die Polynomial Space verwenden, sind viel einfacher zu entwerfen (und die Vollständigkeit garantiert die Existenz einer äquivalenten CSG, die nur polynomial größer ist als der Speicherplatzbedarf Ihres Algorithmus).PSPA CE
Der Grund für ihre Existenz ist, dass sie eine sehr natürliche Erweiterung der kontextfreien Grammatik bilden (Sie erlauben dem Kontext, zu bestimmen, welche Produktionen gültig sind). Dies wird Chomsky wahrscheinlich dazu inspiriert haben, sie zu definieren und als Typ-1-Sprachen zu bezeichnen. Denken Sie daran, dass diese Definition vorgenommen wurde, bevor Computer so schnell wurden wie heute: Es ist für formale Sprachtheoretiker interessanter als für Programmierer.
Uneingeschränkte Grammatik wird noch seltsamer: Es gibt keine Idee mehr, ein Nichtterminal zu erweitern und durch eine Produktion zu ersetzen, möglicherweise abhängig vom Kontext. Sie können den Kontext auch frei ändern. Dies macht das Arbeiten mit uneingeschränkten Grammatiken noch weniger intuitiv: Programme sind gleichwertig und viel intuitiver.