Potere computazionale di automi deterministici rispetto a automi min heap non deterministici


15

Questa è una domanda di follow-up di questo .

In una precedente domanda sulle macchine a stati esotici , Alex ten Brink e Raphael hanno affrontato le capacità computazionali di un tipo particolare di macchina a stati: automi min-heap. Sono stati in grado di dimostrare che l'insieme delle lingue accettate da tali macchine ( ) non è né un sottoinsieme né un superset dell'insieme delle lingue senza contesto. Vista la riuscita risoluzione e l'apparente interesse per tale questione, continuo a porre diverse domande di follow-up.HAL

È noto che gli automi finiti deterministici e non deterministici hanno capacità computazionali equivalenti, così come le macchine di Turing deterministiche e non deterministiche. Tuttavia, le capacità computazionali degli automi push-down deterministici sono inferiori a quelle degli automi push-down non deterministici.

Le capacità computazionali degli automi deterministici dell'heap min sono inferiori o uguali a quelle degli automi non deterministici dell'heap min?

Risposte:


3

Sembra che per questo modello le macchine non deterministiche non siano equivalenti a quelle deterministiche, sostanzialmente per la stessa ragione per cui i PDA deterministici non sono equivalenti a quelli non deterministici.

Considera la lingua

L=X$y||X|=|y|Xy
(dove è un segno speciale non contenute in x ed y ).$Xy

Io affermo che una macchina non deterministica - H A L può decidere questa lingua: Esegue lo stesso come il PDA per L . La soluzione PDA standard utilizza lo stack solo per contare gli offset: indovina non deterministicamente un offset i , ricorda il valore di x i (aggiungendo un simbolo allo stack ad ogni passaggio), quindi il PDA ignora l'input fino a trovare $ , e quindi estrae i simboli dallo stack fino a quando non è vuoto. In questa fase siamo esattamente a y i e lui PDA può verificare se x iy iNHUNLLioxi$yixiyi. (se qualcosa va storto nel mezzo, il PDA "muore"). Poiché l'alfabeto dello stack è unario, può essere simulato con una macchina min-heap. In realtà: qualsiasi accettata da un PDA con un alfabeto unario può essere accettata da una macchina heap min. (Sto ignorando, forse, un altro segno speciale aggiunto per identificare uno stack vuoto, ma un segno equivalente può essere aggiunto all'heap)L

Per l'altra direzione, non ho la prova formale, ma ecco i miei pensieri:

Sostengo che una macchina deterministica - H A L non è in grado di decidere questa lingua. Intuitivamente, il contenuto dell'heap non può essere correlato con x (altrimenti, permuta x . Il contenuto dell'heap rimane lo stesso ..). Ciò suggerisce che unica cosa che conta è il numero di elementi nel mucchio, ma poi, se D - H A L può decidere L , così può un deterministic- P D A .DHALxxDHALLPDA

Modifica: maggiori dettagli sull'affermazione "permute ". Supponendo che esistano le congetture di Raffaello x 1 e x 2 che dopo averle lette, il contenuto dell'heap è lo stesso. Quindi considera le parole x 1 $ x 1 e x 2 $ x 1 . Il contenuto dell'heap è lo stesso quando l'HAL arriva al segno del dollaro, quindi deve accettare entrambi o rifiutare entrambi. contraddizione .xx1x2x1$x1x2$x1

qualcuno vede una prova immediata per la congettura?


Mentre penso che tu abbia fondamentalmente ragione, non è facile come dire "altrimenti, permute . Il contenuto [...] rimane lo stesso". Un HA (o PDA) può prendere in considerazione modelli di lunghezza costante. x
Raffaello

Quale definizione di min-heap stai usando: la mia originale o la più naturale suggerita da Raffaello? In entrambi i casi, puoi essere più chiaro su come una macchina non deterministica accetterebbe il linguaggio che dai ... cosa mette e toglie dal mucchio, e quando?
Patrick87,

nn
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.