Dada uma gramática livre de contexto G, existe um autômato de empilhamento não determinístico N que aceita exatamente o idioma que G aceita. (e vice-versa)
Também pode existir um autômato de empilhamento determinístico D que aceite exatamente o idioma que G também aceita. Depende da gramática.
Por qual algoritmo nas produções de G podemos determinar se D existe?
automata
context-free
pushdown-automata
Andrew Tomazos
fonte
fonte
Respostas:
Não há algoritmo que, dada uma gramática livre de contexto, decida se um DPDA reconhece o mesmo idioma e o calcula, se existir.
Porque, se esse algoritmo existisse, poderíamos decidir o problema indecidível da universalidade de uma gramática livre de contexto, isto é, se uma determinada gramática livre de contexto on reconhece toda a linguagem .G Σ Σ∗
Suponha que exista esse algoritmo . Seja uma gramática livre de contexto. Deixe ser . Em seguida, o algoritmo vai decidir se há um DPDA reconhecendo .ADPDA G L L(G) ADPDA A L
Se não houver esse DPDA, não é reconhecível por um DPDA, em particular não é regular, portanto não pode ser .L Σ∗
Se existe um DPDA , podemos decidir se é igual a because porque a universalidade é decidível para DPDAs. Por quê? Porque:A L Σ∗
Usando , construímos um algoritmo que decide se para qualquer gramática sem contexto , que se provou impossível. Portanto, não existe.ADPDA L(G)=Σ∗ G ADPDA
fonte