Ein MPA (Multipebble-Automat) ist ein 2DFA (bidirektionaler deterministischer endlicher Automat), der eine beliebige Anzahl von Steinen verwenden kann (tatsächlich höchstens Steine auf einer gegebenen Eingabe w - die Eingabe wird auf das Band zwischen zwei Enden geschrieben -Markierungen als # w # ). Während der Berechnung kann ein MPA erkennen, ob das Symbol unter dem Kopf einen Kiesel aufweist, und er kann dann einen Kiesel platzieren (den Kiesel entfernen), wenn kein Kiesel vorhanden ist (ein Kiesel).
ist ein Homomorphismus, wobei σ ein Symbol ist und k > 0 .
Für jede deterministische kontextsensitive Sprache es nicht schwer zu zeigen, dass es ein k > 0 gibt, so dass h k ( L ) von einem MPA erkannt werden kann. Also können wir das sagen
Jedes "Problem", das von einem linearen DTM (deterministische Turing-Maschine) entschieden werden kann, kann von einem MPA entschieden werden.
Ist es auch wahr für jede Sprache in ? Können MPAs alle deterministischen kontextsensitiven Sprachen bestimmen?
ist die Länge von w .
ist das i t h Symbol von w , wobei 1 ≤ i ≤ | w | .
.
quelle
Antworten:
Vielleicht können Sie in DPSACE (n) eine Sprache erstellen, die von einem MPA mit mit einem Diagonalisierungsargument erkannt werden kann (wahrscheinlich ähnelt die Idee der in Bens Antwort, aber ich habe mich nicht damit befasst):k=1
Angenommen, Sie codieren über dem Alphabet einen MPA mit einer Liste von Übergängen:Σ={0,1}
wobei der aktuelle Zustand ist, a das aktuelle Symbol ist, p der Kieselzustand ist, s ' der neue Zustand ist, p ' der neue Kieselzustand ist, L | R ist die Bewegungsrichtung, # ist ein Endmarker).s a p s′ p′ L|R #
Eine Turingmaschine am Eingang x kann prüfen, ob es sich um eine gültige Beschreibung eines M P A x handelt, und diese am Eingang x für 4 | simulieren x | Schritte mit 6 | x | + log | x | Zellen, dehnen die Eingabe auf diese Weise:M x MPAx x 4|x| 6|x|+log|x|
Wo:
Wenn in 4 | anhält x | Schritte, dann gibt TM M das Gegenteil aus (wenn es nicht anhält, gibt M 0 aus).MPAx 4|x| M M
Für groß genug ist die 4 | x | Simulationsschritte sind größer als 2 | x | + 2 | x | log | x | die größer ist als die Länge einer vollständigen Konfigurationsbeschreibung von M P A x ; auf diese Weise, wenn M P A x in 4 | nicht anhält x | Schritte, dann sind wir sicher, dass es für immer Schleife wird.x>x0 4|x| 2|x|+2|x|log|x| MPAx MPAx 4|x|
Angenommen, es gibt ein , das die gleiche Sprache L von M entscheidet , dann hält es immer an, und Sie können ein "größeres" M P A y ' aufbauen , das die gleiche Sprache entscheidet, mit y ′ > x 0 (addieren Sie einfach Dum Staaten).MPAy L M MPAy′ y′>x0
Konstruktionsbedingt gilt was ein Widerspruch ist.MPAy′(y′)=1−M(y′)=1−MPAy′(y′)
quelle
Gegenbeispiel: Das Halteproblem für MPAs ist im linearen Raum entscheidbar: Wenn der MPA N Zustände hat, benötigen wir | k | +2 Bits Platz zum Speichern der Kieselorte, log N Bits zum Speichern des aktuellen Zustands und Bits zum Speichern eines Zählers; Wenn der Zähler zyklisch läuft, wird die simulierte Maschine niemals anhalten. Dies ist linear in | k | (Ignorieren Sie den O (N \ log N) Speicherplatz, der zur Beschreibung der Maschine erforderlich ist), wie erforderlich.log(N(|k|+2))+|k|+2
Da diese Sprache im linearen Raum entscheidbar ist, kann sie auch als DCSL ausgedrückt werden.
quelle