Dato un PDA M tale che L (M) è nel costrutto DCFL un DPDA N tale che L (N) = L (M)


11

È possibile costruire un algoritmo che accetta come input un automa pushdown insieme alla promessa che il linguaggio accettato da questo automa è un linguaggio deterministico senza contesto e genera un automa deterministico pushdown che accetta precisamente il linguaggio accettato di ?L ( M ) N MML(M)NM

Un problema equivalente sarebbe di costruire un algoritmo che prende in ingresso un automi a pila (con la promessa che è deterministico, come sopra) e automi a pila deterministico . L'output sarebbe se e no se .L ( M ) NML(M)NL(M)=L(N)L(M)L(N)

Credo che un algoritmo che risolva il primo darebbe un algoritmo che risolve il secondo dalla decidibilità dell'equivalenza degli automi pushdown deterministici. Penso che una soluzione alla seconda implicherebbe una soluzione alla prima mentre enumeriamo tutti gli automi di pushdown deterministici ed eseguiamo l'algoritmo su di essi uno per uno, una volta che otteniamo un'istanza di sì, produciamo quell'automa.

Mi chiedo se qualcuno ne sa qualcosa? Forse è un problema noto e / o ha una soluzione nota? A parte questo, credo che sia decidibile se si introduce la restrizione che afferma che il linguaggio generato dal PDA è la parola problema di un gruppo.


1
Determinismo ed equivalenza sono problemi indecidibili ben noti. Li troverai ad esempio in Hopcroft & Ullman (1979) .
Sylvain,

2
Sì, sono noti problemi indecidibili, ma non sto chiedendo se sia possibile decidere il determinismo. L'equivalenza che sto chiedendo è di un PDA che accetta sicuramente un linguaggio deterministico e un DPDA. A meno che non mi sia sfuggito qualcosa, non vi è alcuna ragione ovvia per cui ciò debba essere indecidibile, non riesco a capire perché dovrebbe derivare dall'indecidibilità del problema dell'equivalenza per i PDA.
Sam Jones,

mio male, ho letto il tuo post troppo in fretta. Domanda interessante in realtà.
Sylvain,

Risposte:


9

Prendi una TM deterministica e una parola . Considera le sue storie di calcolo per la parola . Consenti a essere storie non valide (quelle che non iniziano con , non terminano con l'accettazione o non sono valide). Sia ( non accetta ) o per qualche stringa ( accetta con calcolo storia ). Prima di tutto, è CFL efficace, nel senso che puoi costruire una grammatica / PDA riconoscendola. Inoltre,Mww L w L = A M w L = A - { h } h M w h L L LwLwL=UN*MwL=UN*-{h}hMwhLLè un DCFL (non efficace), ma non è possibile mostrare un DPDA per esso in modo efficace. Ancora di più, è (non efficace) regolare.L

Piccolo chiarimento:

Hai chiesto se il seguente problema è decidibile:

dato PDA promesso che è un DCFL e un DPDA determina se .ML(M)NL(M)=L(N)

La risposta è no, e in effetti vale quanto segue: Il seguente problema è indecidibile:

dato PDA promesso che è regolare, determinare se .ML(M)L(M)=UN*


Non capisco cosa stai facendo. Che cos'è A? se A è l'alfabeto per l'immissione della TM, allora dire che la cronologia non valida è sta dicendo che la TM accetta l'insieme vuoto. Inoltre cos'è un DCFG? Intendi una DPDA? UN*
Sam Jones,

@Sam Jones: considera non valida qualsiasi cronologia di calcolo che non inizia con la parola . Quindi le storie non valide sono se e solo se non accetta la parola . Sì, intendevo DPDA. wUN*Mw
sdcvvc,

Sembra che tu stia supponendo che una macchina di Turing possa accettare al massimo una parola. Inoltre, non hai dimostrato di non poter mostrare un DPDA per o per l'hai semplicemente dichiarato. In realtà so come costruire DPDA che accettano ognuna di quelle lingue. L=UN*L=UN*-{h}
Sam Jones,

2
Perché potresti confrontarlo efficacemente con l'automa che accetta tutto e determinare se ferma su . Se lo desideri, puoi limitare stesso a una macchina che può accettare al massimo (senza altre parole), ma ciò non cambia nulla. L'unica cosa importante è che è deterministica. MwMwM
sdcvvc,

1
OK finalmente capito.
Sylvain,
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.