Im Rahmen unserer Untersuchung von Heap-Automaten möchte ich beweisen, dass eine bestimmte Variante nicht kontextsensitive Sprachen nicht akzeptieren kann. Da wir kein gleichwertiges Grammatikmodell haben, brauche ich einen Beweis, der nur Automaten verwendet. Daher muss ich zeigen, dass Heap-Automaten von LBAs (oder einem gleichwertigen Modell) simuliert werden können .
Ich erwarte, dass der Beweis ähnlich funktioniert wie der Beweis, dass Pushdown-Automaten eine Teilmenge der kontextsensitiven Sprachen akzeptieren. Alle mir bekannten Beweise funktionieren jedoch
- mit Grammatiken - hier ist die Tatsache per Definition offensichtlich - oder
- sind nicht überzeugend vage (zB hier ).
Mein Problem ist, dass ein PDA (bzw. HA) Zyklen von Übergängen enthalten kann, die Symbole in den Stapel (bzw. Heap) schreiben können. Ein LBA kann keine willkürlichen Iterationen solcher Schleifen simulieren. Aus der mit Grammatiken erhaltenen Chomsky-Hierarchie wissen wir das
- Jede kontextfreie Sprache hat einen zyklusfreien PDA oder
- Die simulierende LBA kann verhindern, dass Zyklen zu oft iteriert werden .
Intuitiv ist dies klar: Solche Zyklen schreiben Symbole unabhängig von der Eingabe, daher enthält der Stapelinhalt (Heap) nur eine Informationsmenge, die in der Länge des Zyklus linear ist (wobei überlappende Zyklen vorerst nicht berücksichtigt werden). Außerdem haben Sie keine andere Möglichkeit, das Zeug wieder loszuwerden (falls erforderlich), als einen anderen Zyklus zu verwenden. Im Wesentlichen tragen solche Zyklen nicht zum Umgang mit der Eingabe bei, wenn sie mehrmals wiederholt werden, sodass sie nicht erforderlich sind.
Wie kann dieses Argument rigoros / formal formuliert werden, insbesondere unter Berücksichtigung überlappender Zyklen?