Os DCFLs estão fechados sob reversão?

8

De acordo com este gráfico , os DCFLs são fechados sob reversão.

No entanto, não estou convencido de que seja a prova intuitiva (invertendo as setas da máquina de estados finitos controladores e alternando entre empurrões e estalos), pois isso depende do não-determinismo na escolha da transição nula a ser tirada do estado inicial (uma vez que o novo estado inicial conteria uma transição nula para todos os antigos estados finais).

Isso tornaria o "PDA reverso" de um DPDA não determinístico sempre que houver mais de um único estado final no DPDA original.

Qual é a falácia no meu argumento? Ou existe outra maneira de provar isso?

peteykun
fonte
1
Informe-me se minha resposta do StackOverflow exigir alguma explicação adicional. O problema com sua tentativa de prova é o seguinte: o PDA que você constrói não é o único PDA para o idioma que ele aceita. Pode haver outros, possivelmente chegados de maneira diferente, que são determinísticos. Em particular, os DCFLs podem ser aceitos por PDAs que não são determinísticos.
precisa saber é o seguinte
Certo, e é por isso que eu percebo que isso não é muito uma "prova", só teria sentido se o resultado fosse sempre um DCFL, o que não é. Eu acho que estava apenas tentando provar usando o mesmo método usado para idiomas regulares e falhou. Obrigado pelo exemplo contrário!
precisa saber é o seguinte
Considerar eu=bncnumab2ncn
Pranav
Essa tabela também diz que os idiomas recursivos estão fechados λsubstituição gratuita ... está correto?
Anir 25/12

Respostas:

10

Procurei Hopcroft e Ullman 1979 e dizia na página 281 que não está fechado sob reversão. Mas não encontrei nenhuma prova no meu rápido olhar para o capítulo relevante.

Pesquisando na web também fornece uma resposta negativa, com um exemplo contrário, no stackoverflow por um membro do CS (notação adaptada):

(uma+b+c)WcWR, Onde W(uma+b)+; isso é não determinístico, porque você não sabe onde oWcW pouco começa.

WRcW(uma+b+c), Onde W(uma+b)+; isso é determinístico porque você pode escrever um PDA determinístico para aceitar palíndromos simples do formulárioWRcW e modifique o estado de aceitação para fazer um loop em si mesmo em qualquer um dos uma, b e c.

O truque aqui é que os PDAs precisam ler as entradas da esquerda para a direita.

babou
fonte
Isso é um absurdo. Patrick87 forneceu os exemplos, @Raphael fez metade do trabalho de edição e eu recebo o representante. Então, temos tão pouco para o trabalho real ... :)
babou
3
Pense nisso como uma "taxa de localização" :) Estou apenas confuso que o sistema realmente funcione o suficiente para que você tenha encontrado aquele meu antigo posto. O sistema funciona! Salve SE!
precisa saber é o seguinte
A H&U ignorou a reversão da DCFL? Eles mencionam o não fechamento sob união, concatenação, Kleene, morfismo em Thm 10.5, ver Exercício 10.4 (com estrela, mas com uma solução). No entanto, eles observam{0 0Eu1Eu2jEu,j}{0 0Eu1j2jEu,j} não é DCFL, então também não K={0 0Eu1Eu2jumaEu,j}{0 0Eu1j2jbEu,j}pelo fechamento do DCFL sob quociente com conjunto regular, Thm 10.2. Mas a reversão deK é um DCFL, os 'marcadores' uma e bforneça as informações onde usar o pushdown. [Talvez @babou possa adicionar isso se quiser; ele é quem coleciona os representantes aqui :)]
Hendrik Jan