São DPDAs sem uma

16

Na descrição formal do determinística Pushdown Automata, eles permitem movimentos, onde a máquina pode pop ou empurrar símbolos na pilha sem ler um símbolo da entrada. Se esses ϵ movimentos não forem permitidos, e a pilha puder ser modificada apenas uma vez após a leitura de cada símbolo, os autômatos resultantes são iguais à energia dos DPDAs?ϵϵ

Talvez esteja faltando algo trivial no que diz respeito ao uso do conjunto de potências de como seu novo Γ , permitindo que você "comprima" ϵ move-se para o autômato equivalente sem eles, semelhante a como você pode comprimir ϵ em um DFA. Parece que essa conversão não é tão trivial quanto para os DFAs e não tenho certeza de que seja possível.ΓΓϵϵ

Então, os dois são equivalentes em poder? Eu só estou perguntando porque toda a gente parece supor que DPDAs têm movimentos e eu estou querendo saber por que existe essa hipótese, uma vez que parece ser um modelo mais complexo.ϵ

Phylliida
fonte
OK. Então, existe uma razão pela qual estudamos apenas com movimentos então? ϵ
Phylliida
11
Então eu acabei de perceber que você realmente pode reconhecer . Você simplesmente começa em um estado de aceitação, depois de ler o primeiro a , empurra & na pilha e, ao ler o segundo a, empurra # na pilha. Depois disso, você escreve um um para a pilha para cada outro um que você lê, começando com o um que você leu depois de empurrar # para a pilha. L={a2nbn}aaaaa
Phylliida
Então, se você lê um enquanto sabe que lê um número ímpar de a , você rejeita (fica parado), caso contrário, você entra em outro estado e empurra um a da pilha. Você repete isso para cada b leitura. Se, eventualmente, ao analisar a b , # estiver no topo da pilha, em vez de a , digite um estado de aceitação. Em seguida, insira um estado de rejeição se mais algum símbolo for lido. Em qualquer caso diferente dos descritos acima, insira um estado de rejeição. Isso funciona? baabba
Phylliida
Parece bom para mim.
Klaus Draeger
11
Corrija-me se estiver errado, mas concordo. Também acredito que você pode reconhecer com um DPDA que sempre se move diretamente na fita de entrada (nunca para). A única parte complicada é fazê-lo terminar no estado final. A aceitação de DPDAs pode ser complicada.{a2nbn}
Michael Wehar

Respostas:

18

Talvez eu tenha encontrado alguma informação relevante em:

Jean-Michel Autebert, Jean Berstel, Luc Boasson; Linguagens sem contexto e autômatos de empilhamento; Manual de Línguas Formais; 1997, pp 111-174

Os DPDAs sem transições são conhecidos como autômatos determinísticos em tempo realϵ .

Eles são menos poderosos que os DPDAs, por exemplo

L={anbpcanp,n>0}{anbpdbpp,n>0}

é determinístico e pode ser reconhecido por um DPDA, mas não pode ser reconhecido por nenhum tempo real DPDA em .

O que você pode fazer é eliminar aumentando -transitions:ϵ

Proposição 5,4 : Para qualquer DPDA é possível construir um DPDA reconhecer a mesma língua de tal modo que qualquer -rule está a diminuir.ϵ

Marzio De Biasi
fonte
11
Incrível, obrigado! Portanto, isso responde à primeira parte da minha pergunta. A segunda parte é - por que não estudamos isso? Todo mundo parece focado nos que não são em tempo real e isso me parece estranho.
Phylliida
2
@DanielleEnsign: pesquisando em torno de você pode encontrar alguns resultados sobre RDPDAs, por exemplo, o problema de equivalência é decidível . Mas eu concordo com você, eles não atraíram muita atenção.
Marzio De Biasi