Demonstrar que o DPDA é fechado em complemento pela construção


8

Há muito tempo que estou tentando encontrar uma construção para poder demonstrar formalmente que um PDA determinístico está fechado sob complementação. No entanto, acontece que toda idéia que recebi tem algo que no final não se encaixa. Você poderia me ajudar?

O principal problema acontece com os movimentos ε . Um PDA pode terminar de ler sua entrada em um estado não final (rejeitar), mas ainda pode passar para um estado final (aceitar) por meio de um movimento ε e acabar aceitando a sequência. Isso significa que apenas adicionar um estado morto e complementar os estados não funciona. Eu já resolvi o problema de possíveis sequências infinitas de movimentos ε , de modo que essa não é uma parte principal da minha pergunta.

EDIT: Até onde eu entendo, se o DPDA atingir o final da entrada e estiver em um estado de aceitação e passar para um estado de rejeição por meio de um movimento ε, ele ainda o aceitaria (pois alcançou um estado final sem nenhum símbolo de entrada para ler).

Por favor, deixe-me saber se posso ser mais claro.


Eu acho que você está interessado na propriedade de fechamento da DCFL contra complementação? Seu fraseado "demonstra formalmente que um PDA determinístico está fechado sob complementação" faz pouco sentido para mim.
Raphael

Respostas:


3

Não tive tempo de escrever isso antes, mas encontrei uma resposta. Aqui está o que eu fiz:

Deixei O seja o original PDA. Vamos construir uma novaPDA, chame-o M (M significa modificado).

Para encontrar o complemento de O, podemos transformar estados finais em estados não finais e vice-versa. É o mesmo procedimento que para autômatos finitos. No entanto, há uma sutileza. O principal problema é que no PDA originalO a entrada w pode levar a um estado S que não é um estado final, mas poderia executar um ϵmove e chegar a um estado de aceitação S. Inverter estados como mencionado acima, tornariaM terminar em S com a entrada w que seria um estado final (causando M aceitar aceitar a entrada), embora mais tarde faça uma ϵmove para S, um estado de não aceitação. Portanto, ambosO e M aceitará w. Algo semelhante acontece seS foi um estado final e S um estado não final alcançável a partir de S através de um ϵmove.

Para superar esse problema, precisamos garantir que todos ϵ- acontece antes de lermos o próximo símbolo. Ou seja, entraremos em um estado de leitura somente quando um caminho deϵ-moves é seguido e chegamos a um estado que não tem ϵ-move disponível. Chamamos esses estados de leitura de estados , pois precisam de um símbolo real para realizar uma nova transição.

Definir Mestados de ser tuplas do formulário <q,n> Onde qQ (Q é o conjunto de estados do original PDA) e n{1,2,3,4}.

  • E se δ(q,ϵ,X)=<q,α> no O, deixei δ(<q,3>,ϵ,X)=<<q,2>,α> no M E se qFO.

  • E se δ(q,ϵ,X)=<q,α> no O, deixei δ(<q,3>,ϵ,X)=<<q,3>,α> no M E se qFO.

  • E se δ(q,ϵ,X)=<q,α> no O, deixei δ(<q,2>,ϵ,X)=<<q,2>,α> no M.

  • E se δ(q,ϵ,X) é undefined no O, δ(<q,2>,ϵ,X)=<<q,1>,X> no M

  • E se δ(q,ϵ,X) é undefined no O, δ(<q,3>,ϵ,X)=<<q,4>,X> no M

Nessas definições, deixamos estados da forma <q,2> e <q,3> consumir ϵ-move imitando ϵ-move de Oaté que não haja mais. Em seguida, execute umϵ-move para um estado de leitura. Agora, para os estados de leitura,

  • E se δ(q,a,X)=<q,α> no O, deixei δ(<q,1>,a,X)=δ(<q,4>,a,X)=<<q,3>,α> no M.

Ao fazer essa definição, consumimos um símbolo da entrada e passamos para um estado do formulário <q,3> para começar uma nova série de ϵ-move.

Por fim, faça estados da forma <q,4> estar aceitando estados de M E se qFO. Além disso, faça<q0,3> o estado inicial de M E se q0 é o estado inicial de O.


O que fizemos é o seguinte:

Crie 4 "pisos" de estados (o segundo elemento da tupla nos estados de Mdetermina em que andar estamos). Piso 3 imitaϵ-move de O possivelmente atingindo um estado de aceitação q do O. Se for esse o caso, passamos para o segundo andar; caso contrário, permaneceremos no piso 3. Quando não houver maisϵ-move a seguir de O, definimos ϵ-move de Mpara alcançar um estado de leitura. Os pisos 1 e 4 correspondem aos estados de leitura. Se estivéssemos no andar 3, vamos para o andar 4. Se estivéssemos no andar 2, chegamos ao andar 1. Somente os estados<q,4> (estados que estão no andar 4) estão aceitando estados de M, providenciou que q não é um estado de aceitação de O.

Informe-me se cometi um erro de digitação ao escrever isso. Eu poderia facilmente ter me enganado. Além disso, meu inglês não é muito bom, então fique à vontade para editar e reformular melhor as coisas.


1

Há uma prova por construção na Introdução de Sipser à Teoria da Computação (3).rdedição possui uma seção sobre DCFLs) que identifica os estados de leitura do autômato dividindo qualquer estado que lê e aparece ao mesmo tempo. Somente esses estados de leitura podem ser estados finais e, para obter o DPDA complementar, você reverte apenas o comportamento de aceitação dentro do conjunto de estados de leitura.


-2

Você pode assumir que o autômato está livre de ε-transições sem perda de generalidade.

Isso pode ser demonstrado usando a construção padrão de CFG para PDA aplicada a uma forma normal de Greibach . Em Transições silenciosas em autômatos com armazenamento , G. Zetzsche apresentou recentemente uma construção diretamente em autômatos.

Advertência potencial: Eu meio que suponho que a referida construção padrão produz um DPDA se o aplicarmos a uma gramática adequada, isto é, "determinística" e que essa adequação sobrevive à transformação na forma normal de Greibach.


2
Desculpe, mas a suposição não se aplica. {anbmcnm,n1}{anbmdmm,n1}.
Hendrik Jan

@HendrikJan Não entendo de que maneira seu idioma refuta minha suposição.
Raphael

É determinístico livre de contexto, mas precisa ε-transições. Intuitivamente, é preciso empilhar ambosn e m e deixe carta c ou ddecida qual usar. Ao lerc nós temos que aparecer tudo b's.
Hendrik Jan

1
É o exemplo que eu sei que mostra que o DPDA "em tempo real" não é uma forma normal. (Para uma prova, você deve iniciar uma nova pergunta :)) O recurso interessante é que você só precisaε-transições que também estouram a pilha, evitando cálculos infinitos.
Hendrik Jan

3
Raphael, acho que @HendrikJan está certo. Isso não contradiz aε-impressão para PDAs, porque a aplicação desse último a um DPDA introduz não-determinismo.
Georg Zetzsche 27/06
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.