Construção do Powerset de NFA para DFA: um algoritmo de determinação parcial com compromisso entre tempo de execução e tamanho dos autômatos resultantes?


8

Dado um NFA N e seu equivalente DFA D resultante da determinação total de N (usando a construção do conjunto de potências, por exemplo), as seguintes propriedades são válidas para N , D e para qualquer palavra w :

  • Nw em tempo de execução, no máximo,O(|w|.|N|2) .
  • Dw em tempo de execução no máximoO(|w|) e seu tamanho pode serO(2|N|) (no número de estados necessários para representarD ).

Gostaria de saber se existe algum algoritmo de determinação parcial que garanta uma troca entre o tamanho do resultado e o tempo de execução?

Por exemplo, esse algoritmo de determinação parcial pode transformar um NFA em um autômato parcialmente determinístico D modo que D garanta que a palavra w seja lida em O(|w|.|N|x) que 0x2 sem exceder a tamanho |D|2f(x) que f(x) é uma função decrescente contínua definida na faixa[0,2] tal quef(0)=|N|ef(2)=log|N|.

Não encontrei nenhum método para determinar parcialmente um NFA dessa maneira. Em todos os trabalhos: qualquer determinação é evitada porque o NFA é muito grande, a determinação está cheia e o NFA é transformado em um DFA (com uma possível explosão exponencial). Não há compromisso ...

Eu realmente aprecio quaisquer referências ou respostas sobre esse problema. Muito obrigado, Luz.



1
Uau :-) isso é incrível! De fato, o post cstheory.stackexchange.com/questions/1132/… parece fazer o trabalho. Muito obrigado, eu vou processar a resposta D. Eppstein ...
Luz

Respostas:


6

O artigo [HP06] está no espírito da sua ideia, embora em uma direção diferente, no contexto de palavras infinitas. Pode ser adaptado mais facilmente a palavras finitas.

nnk<n

kab22n(n+1)2

1

kkkk

[HP06] Resolvendo jogos sem determinação , Henzinger, Piterman, na CSL 2006

[BKKS13] Não determinismo na presença de um futuro diverso ou desconhecido , Boker, Kuperberg, Kupferman, Skrzypczak, na ICALP 2013

[KS15] Sobre a determinação de autômatos para jogos , Kuperberg, Skrzypczak, na ICALP 2015


1
Muito obrigado pelo seu post :-) mas preciso de um pouco mais de ajuda para entender o panorama geral do que você propõe. Também quero entender as principais diferenças entre o seu post e o de D. Eppstein (conforme sugerido no comentário superior), aqui: cstheory.stackexchange.com/questions/1132/… .
Luz

1
n1xnwO(w.x2)O(x2.2n/x)

1
kNnS=O(i=0k(ni))kNT=O(w.k)N

1
Pergunta adicional se as duas hipóteses anteriores são verdadeiras. Imagine um caso de uso em que o espaço disponível para determinar seja fixo, de modo que com . Em seguida, determinamos parcialmente em aplicando a construção poweret em (já que há espaço suficiente para isso). É a duração máxima necessária para simular ? SNS=O(i=0p(ni))pkNNpNO(w.(k/p))N
Luz

(1) Sim (2) não sabe ao certo o que você quer dizer com "simular", mas é possível mover deterministicamente k tokens em N para ver se uma palavra é aceita, então eu diria que sim (3) Sim, com um teto no k / p
Denis
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.