Ich habe die Wikipedia-Definition der kontextsensitiven Sprache durchgearbeitet und Folgendes gefunden:
Jede Kategorie von Sprachen ist eine richtige Untermenge der Kategorie direkt darüber. Jeder Automat und jede Grammatik in jeder Kategorie hat einen entsprechenden Automaten oder eine entsprechende Grammatik in der Kategorie direkt darüber.
Ich konnte sehen, dass der linear begrenzte Automat in der Artikelbestellung direkt unter dem Entscheider liegt. Wenn dies der Fall ist, bedeutet dies, dass jede Berechnung auf einem LBA an einem bestimmten Punkt angehalten wird (da jeder LBA eine Entscheidung wäre). Aber ich habe das Gefühl, dass es einige Berechnungen geben kann, die gleichzeitig auf einem LBA ausgeführt werden können, um niemals anzuhalten. Zum Beispiel können wir eine Berechnung auf LBA schreiben, die würde
- Lies das erste Symbol auf dem Band und gehe nach rechts.
- Lies das nächste Symbol und gehe zurück nach links.
Diese (nutzlose) Berechnung (die offensichtlich eine LB-Berechnung ist) würde auf unbestimmte Zeit nach links und rechts oszillieren und niemals anhalten und kann daher keine Entscheidung treffen. Wo denke ich falsch?
Antworten:
Erstens sind alle kontextsensitiven Sprachen entscheidbar, da sie von einem LBA (wie Sie sagten) akzeptiert werden können und eine Turing-Maschine leistungsfähiger ist als ein LBA.
quelle
Ich schlage vor, Sie werfen einen Blick auf dieses Buch: Einführung in Sprachen und die Theorie der Berechnung von John E Martin
Seite 283: Es sind noch Fragen zu kontextsensitiven Sprachen offen, z. B. ob jede CSL von einer deterministischen LBA akzeptiert werden kann oder nicht.
quelle