Kontextsensitive Sprache

Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 24. August 2009 um 06:22 Uhr durch Numbo3-bot (Diskussion | Beiträge) (Bot: Ergänze: sr:Контекст-сензитивни језик). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Die kontextsensitiven Sprachen (englisch context-sensitive languages, abgekürzt durch CSL) sind eine Klasse der formalen Sprachen, einem Teilgebiet der Theoretischen Informatik. Die Klasse CSL entspricht der Klasse der Typ-1-Sprachen aus der Chomsky-Hierarchie.

Definition

Eine formale Sprache ist genau dann kontextsensitiv, wenn eine kontextsensitive Grammatik existiert, die diese Sprache erzeugt. Eine kontextsensitive Grammatik ist eine, die in jeder Regel immer ein Nichtterminal in einem Kontext in eine nichtleere Folge von Zeichen (Nichtterminale oder Terminale) ersetzt. Die monotonen Grammatiken sind den kontextsensitiven äquivalent, sie charakterisieren die kontextsensitiven Sprachen. Eine Grammatik heißt monoton, wenn alle ihre Regeln die Eigenschaft haben, dass die rechte Seite einer jeden Regel mindestens so lang ist wie deren linke Seite.

Eigenschaften

Die Klasse der kontextsensitiven Sprachen entspricht der Klasse der von nichtdeterministischen linear beschränkten Automaten akzeptierten Sprachen. Damit repräsentiert die Klasse CSL die Komplexitätsklasse der Sprachen, die auf linear beschränktem Platz von einer nichtdeterministischen Turingmaschine (NSPACE(n)) akzeptiert werden können.

Die Klasse der kontextsensitiven Sprachen ist abgeschlossen unter

Die Klasse der kontextsensitiven Sprachen ist nicht abgeschlossen unter

  • löschenden Homomorphismen,
  • polynomiell zeitbeschränkter Reduktion.

Es ist nicht bekannt, ob die Klasse bereits von deterministischen Turingmaschinen mit linearer Platzbeschränkung akzeptiert werden kann. (Dieses Problem ist unter Namen Kurodas Problem bekannt.)

Da die Ableitungen niemals kürzer werden, ist auch   (Wortproblem), mit L kontextsensitive Sprache, entscheidbar.

Beispiele

Die folgende Sprache ist ein typisches Beispiel für CSL:

  •