Você está na página 1de 4

5.

Equivalncia ente AFNs e AFDs


Dois autmatos X e Y so equivalentes sse (se e somente se) ambos reconhecem a mesma linguagem, ou seja, sse L(X) = L(Y)

Vamos mostrar, nesta aula, que os modelos AFN e AFD so equivalentes, ou seja, vamos mostrar que as duas afirmaes abaixo so verdadeiras: Todo AFD tem um AFN equivalente trivial (o AFD pode ser visto como um caso especial do AFN) Todo AFN tem um AFD equivalente mostraremos com converter a seguir

Para apresentarmos a converso, vamos precisar de uma definio auxiliar: o fecho vazio de um conjunto de estados R, representado como E(R)

Ele representa os estados que podem ser atingidos sem ler nenhum smbolo, ao partir de qualquer estado do conjunto R={qi,...,qj}

Uma definio mais formal:

E(R) = { q | q pode ser atingido por algum estado de R realizando-se 0 ou mais transies }

Observao: o fecho vazio de um conjunto de estados R sempre contm o prprio conjunto R.

Exemplo:

E( {q1} ) = { q1, q2 } E( {q0} ) = { q0, q3, q4} E( {q0,q1} ) = { q0, q1, q2, q3, q4 }

5.1 Converso de AFN para AFD Descrio Formal

A converso que veremos se baseia na tcnica conhecida como construo de subconjuntos. A idia chave dessa converso tratar conjuntos de estados do AFN como simples estados do AFD convertido.

Exemplo: {q0,q3,q4} poderia ser um estado do AFD equivalente ao AFN dado acima

Assim, um nico estado do AFD representa a situao em que o AFN poderia estar em vrios estados (ao seguir por caminhos diferentes possveis).

Segue a descrio formal da converso:

Seja o AFN N definido abaixo:

N = (Q, , , s, A)
Podemos criar um AFD D equivalente a N assim

D = (QD, , D, sD, AD) , onde:


QD conter subconjuntos de Q (cada estado de D ser algum conjunto de estados do autmato N) o alfabeto, que no muda sD = E( {s} ) (o estado inicial ser o conjunto formado pelo fecho vazio do estado inicial do autmato N)

AD = { R | R contm algum estado de A } (os estados de aceitao de D sero todos os conjuntos que possurem algum estado de aceitao do autmato N)

D ser definida para um conjunto R e um smbolo a da seguinte forma:

D (R, a) =

E ( U (q, a) )
q R

(para cada estado q R, aplicar a transio para o smbolo a; depois fazer a unio de todos os resultados e, por fim, calcular o fecho vazio do conjunto resultante)

5.2 Converso de AFN para AFD Descrio Informal

Um roteiro que voc pode seguir para fazer a converso:

1.

Comece calculando o conjunto que ser o estado inicial do novo autmato.

2.

Depois, faa a tabela que representa a funo de transio D, com uma coluna para cada smbolo e, inicialmente, contendo uma nica linha, que a do estado inicial.

3.

Para cada linha da tabela, calcular as transies de cada estado para cada smbolo, lembrando de calcular o fecho vazio de tudo ao final. o Se aparecer um conjunto novo, criar uma nova linha para esse novo estado e repetir o passo 3.

4.

Por fim, desenhe o autmato, identificando os estados de aceitao.

Dica: se o autmato original no tiver transio , no precisa fazer o clculo do fecho vazio em nenhum momento. Pois, nesses casos, temos sempre E(R) = R.

Exemplo 1 (sem transio ):

o Fazer a tabela... o Desenhar... Exemplo 2 (com transio ):

o Fazer a tabela... o Desenhar...

Conclumos, portanto, que toda linguagem representada com um AFD pode ser representada com um AFN e vice-versa.

Por isso, podemos dizer que os AFNs so capazes de representar apenas as chamadas linguagens regulares (linguagens representveis por AFDs) e nada alm disso.

Deus amou tanto o mundo que deu o seu Filho Unignito, para que todo o que nele crer no perea, mas tenha a vida eterna (Joo cap. 3, verso 16)

Você também pode gostar