Decidi se le lingue senza contesto possono essere accettate da un automa di pushdown deterministico


22

Data una grammatica senza contesto G, esiste un automa automatico non deterministico N che accetta esattamente la lingua che G accetta. (e viceversa)

Ci può anche esistere un deterministico Pushdown Automaton D che accetta esattamente il linguaggio G accetta troppo. Dipende dalla grammatica.

Con quale algoritmo sulle produzioni di G possiamo determinare se esiste D?


4
Anche se sai in anticipo che esiste un DPDA per G, non esiste un algoritmo per trovarlo. Vedi qui .
sdcvvc,

Risposte:


20

Non esiste un algoritmo che dia una grammatica libera dal contesto, decida se un DPDA riconosce la stessa lingua e la calcola se esiste.

Perché se esistesse un tale algoritmo, saremmo in grado di decidere il problema indecidibile dell'universalità di una grammatica senza contesto, ovvero se una determinata grammatica senza contesto su riconosce l'intera lingua Σ ^ * .ΣGΣΣ

Supponiamo che esista un tale algoritmo ADPDA . Sia G una grammatica senza contesto. Sia L sia L(G) . Poi l'algoritmo ADPDA deciderà se c'è un DPDA A riconoscimento L .

  • Se non esiste tale DPDA, allora L non è riconoscibile da un DPDA, in particolare non è regolare, quindi non può essere Σ .

  • Se esiste un DPDA allora possiamo decidere se è uguale a perché l'universalità è decidibile per i DPDA. Perché? Perché:L ΣALΣ

    • Le lingue DPDA sono chiuse in modo complementare (poiché i DPDA sono deterministici)
    • il vuoto è decidibile per i DPDA (perché è per i PDA )

Usando abbiamo creato un algoritmo che decide se per qualsiasi grammatica senza contesto , che è stata dimostrata impossibile. Pertanto non esiste. L ( G ) = Σ G A D P D AADPDAL(G)=ΣGADPDA


Non capisco questo mi dispiace. Stai usando Σ per riferirti all'alfabeto usato da G? E cosa intendi con "L è la lingua completa "? Stai dicendo che eseguiremo l'algoritmo su una grammatica G che genera , la lingua di qualsiasi stringa su Σ? Troveremmo chiaramente non solo un DPDA, ma un semplice DFA per questa lingua. Il complemento di è la lingua vuota, anche questo è facilmente riconoscibile sia da un DPDA che da un DFA - quindi mi manca chiaramente qualcosa nella tua spiegazione. ΣΣΣΣΣ
Andrew Tomazos,

Spero che ora sia più chiaro. Nota che rispondo a una domanda leggermente diversa: avrei giurato che mi avresti chiesto se potessimo calcolare , non solo decidere se esiste o meno. D
jmad
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.