NFA com número exponencial de estados quando deseminados


10

Como criar um exemplo de um DFA que possui 2n estados em que o NFA equivalente possui n estados. Obviamente, o conjunto de estados do DFA deve conter todos os subconjuntos do conjunto de estados da NFA, mas não sei como começar. Alguma sugestão para me colocar no caminho certo?


Esta questão não é clara. Em geral, existem infinitos DFAs equivalentes para um determinado idioma regular e infinitamente muitos NFAs equivalentes para qualquer idioma regular. Se você deseja DFAs mínimos com estados, isso nem sempre é possível, pois diferentes NFAs podem reconhecer o mesmo idioma e ter números diferentes de estados, mas correspondem ao mesmo DFA mínimo. Se, além disso, você quer só considerar NFAs "mínimas", este se torna um pouco mais interessante ...2n
Patrick87

2
Patrick, acho que o OP significa um exemplo em que o DFA mínimo é exponencialmente maior que o NFA mínimo.
Yuval Filmus

2nn

2n

11
Observe que o artigo da Wikipedia sobre minimização do DFA faz referência a exemplos adequados (embora você mesmo precise descobrir o pequeno NFA).
Raphael

Respostas:


18

euUMAneun+1 1numaϵUMA .

eu2nS1 1,S2UMAW(S1 1),W(S2)S1 1,S2umaS1 1S2W=W(UMA-uma)W(S1 1)WeuW(S2)Weu


10

este é um exercício no livro "Finite Automata", de Mark V. Lawson Universidade Heriot-Watt, Edimburgo, página 68:

n1 1(0 0+1 1)1 1(0 0+1 1)n-1 1n+1 12n estados. Este exemplo mostra que, às vezes, é inevitável um aumento exponencial no número de estados, passando de um autômato não determinístico para um autômato determinante correspondente.


10

2n2nΩ(2n) .

De "Complexidade da comunicação", de Kushilevitz e Nisan, no exercício 12.6:

ceuc={WWW{0 0,1 1}c} ."

eucO(c)Ω(2c)


Além disso, a prova da segunda parte "requer" complexidade da comunicação, portanto, isso pode não ser adequado para seus propósitos.
Timothy Sun

Obrigado pela resposta! O que você quer dizer com co-NFA?
Saadtaame 31/08/12

Basicamente, alterne "aceitar" por "rejeitar" na definição de um NFA. Ou seja, se nenhum dos caminhos possíveis levar a um estado de rejeição, você aceita; caso contrário, você rejeita.
Timothy Sun

2c(c+1 1)2cΘ(c2)

Idiomas finitos são um pouco chatos a esse respeito. Veja também aqui .
Raphael

9

UMA={uma,b}Qn={0 0,1 1,,n-1 1}UMAn=(Qn,UMA,En,{0 0},{0 0})

En={(Eu,uma,Eu+1 1)0 0Eun-1 1}{(n-1 1,uma,0 0)}{(Eu,b,Eu)1 1Eun-1 1}{(Eu,b,0 0)1 1Eun-1 1}}
n2n

3
Muito esperto! O idioma aceito por esse autômato é(uman+umaWn-1 1b), Onde Wn-1 1 consiste em todas as palavras que contêm a letra uma no máximo n-1 1vezes.
Yuval Filmus 21/10

2
@ yuval-filmus Este exemplo não é meu. Eu queria dar uma referência, mas no momento não me lembro de onde a vi.
J.-E. Pin
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.