Qual é a complexidade do problema da universalidade para uma NFA com todos os estados aceitando?

7

É sabido que o problema da universalidade para a NFA (decidir se L(A)=Σ) é PSPACE-completo. No entanto, e se todos os estados da NFA estiverem aceitando? Parece-me que o problema está no máximoco-NP, como um contra-exemplo (diferente do caso de uma NFA geral) é polinomial (mesmo linear) no tamanho da entrada (o número de estados). Qual é a complexidade desse problema?

pron
fonte
11
A menos que haja um problema na minha prova, é muito improvável que o seu problema seja co-NP, porque isso implicaria que co-NP = PSPACE. Como um contraexemplo (ou seja, uma palavra rejeitada) poderia realmente ser verificado no tempo polinomial em seu tamanho, eu seria tentado a dizer que deve haver um problema em sua prova de que sempre existe um contraexemplo de tamanho polinomial. Você poderia explicar como encontraria um contra-exemplo de tamanho polinomial? A única coisa que eu conseguia pensar era em busca de um caminho mais curto para um estado em que a função de transição não é total, mas pode haver outro caminho que obras ...
xavierm02
2
Não é verdade que o menor contra-exemplo tenha tamanho polinomial. Considere um NFA cujo estado inicial esteja conectado a ciclos de comprimentos2,p1,,pm. Você pode organizar a palavra1n0 não deve ser aceito somente se n é ímpar e um múltiplo de p1,,pm. Escolhendo opi ser o primeiro m+1 primos, você obtém um NFA com O(m2logm) estados em que a menor palavra rejeitada tem tamanho e(1 1+o(1 1))mregistrom.
Yuval Filmus
11
Uma simples redução do SAT mostra que o problema é realmente difícil de coNP. A NFA se divide em partes de acordo com as cláusulas. Cada parte verifica se a entrada, que consiste em uma atribuição seguida de$, satisfaz a cláusula e, se assim for, fica preso na final $. Esse NFA não é universal se a instância do SAT for satisfatória.
Yuval Filmus
@YuvalFilmus Você está correto em relação ao contra-exemplo, mas, como se vê, eu deturpou o problema. Eu sei dissoL(A)não possui palavras com letras repetidas consecutivas e estou procurando universalidade com relação a todas as palavras sem letras repetidas consecutivas. Também existe um contra-exemplo exponencial nesse caso?
pron
@YuvalFilmus Além disso, o alfabeto não é maior que o número de estados + 1.
pron 10/17

Respostas:

4

Seu problema está completo no PSPACE. Eu provo que é difícil para o PSPACE, reduzindo a universalidade das NFAs à universalidade das NFAs, com todos os estados aceitando.


Deixei Aser um NFA. Adicionar um novo estado finalq$ para ele e para todos os estados que aceitam q, adicione uma transição q$q$ Onde $é uma nova carta. Para cada letraaΣ{$}, também adicione uma transição q$aq$. E então faça todos os estados aceitarem. O novo autômato aceitaL(A)$(Σ{$})L para alguns LΣ.

Agora, adicione algum autômato (com todos os estados finais) que reconheça o idioma Σ (ou seja, o idioma das palavras que não contêm $) em paralelo. O novo autômato reconheceráL(A)$(Σ{$})(LΣ)=L(A)$(Σ{$})Σ.

Agora, observe que temos L(A)=Σ iff L(A)$(Σ{$})Σ=(Σ{$}). Ou seja, o processo que descrevi é uma redução da universalidade de uma NFA para a universalidade de uma NFA, com todos os estados aceitando. Como a redução é polinomial, seu problema é difícil com o PSPACE.

xavierm02
fonte
Como você constrói um NFA para ΣΣ$todos os estados de quem estão aceitando?
Yuval Filmus
Obrigado, é uma boa redução e, de fato, responde à minha pergunta. No entanto, eu tinha uma pergunta diferente e mais complexa em mente, que pensei que poderia reduzir a essa, e o contra-exemplo exponencial da @YuvalFilmus me fez perceber que minha própria redução estava com defeito, e eu deveria ter acrescentado a restrição de queL(A)não contém palavras com letras repetidas e estou verificando a "universalidade" em relação a essas palavras.
pron
@pron O que você quer dizer com "palavra com letras repetidas"? queu=v1aav2 ou aquilo u=v1av2av3?
Xmlm02
@ xavierm02 O primeiro, ou seja, sem letras repetidas consecutivas . Também existe um contra-exemplo exponencial nesse caso?
pron
@ xavierm02 Além disso, o alfabeto não é maior que o número de estados + 1.
pron