Você está na página 1de 27

Equivalncia entre AFND e AFD

Edeilson Milhomem

AFD vs. AFND

AFD
Determinstico
Transies bem definidas (caminho nico para cada
transio, dado um smbolo de entrada a). Ou seja,
cada Funo de Transio conduz a um nico estado
A sequncia de estados nica para cada palavra

AFND

Transies ambguas
Uma Funo de Transio conduz o autmato a vrios
estados alternativos
Existem vrias sequncias de estados possveis para o
reconhecimento de uma dada palavra

Equivalncia entre AFND e AFD


E possvel criar um AFD M que seja
equivalente a um dado autmato AFND M.
Como fazer isso?

Equivalncia entre AFND e AFD

Considere o AFND M definido como segue:

M={{qf, q1, q2}, {0,1}, d, q0, {q2}}, onde d


apresentado na tabela a seguir:
d
{q0}
{q1}
*{q2}

0
{q0, q1}

1
{q0}
{ q2 }

AFND para AFD

d
{q0}
{q1}
*{q2}

0
{q0, q1}

1
{q0}
{ q2 }

1 Passo

Adiciona um estado vazio

Adicionar estados resultantes da juno de dois ou mais


estados da transio

{q0}
{q1}
*{q2}
{q0, q1}

{q0, q1}

{q0}
{ q2 }

2 Passo

Determinar as transies de acordo com as entradas dos


estados adicionados

{q0}
{q1}
*{q2}
{q0, q1}

{q0, q1}

{q0, q1}

Ex. de entrada 0
estando em q0

{q0, q1} U

{q0}
{ q2 }

{q0, q2}
7

3 Passo

Se houver algum conjunto de estados que no est


definido, ento deve ser definido (repetindo uma das
etapas anteriores)

{q0}
{q1}
*{q2}
{q0, q1}
{q0, q2}

{q0, q1}

{q0, q1}

{q0}
{ q2 }

{q0, q2}
8

4 Passo

Adicionar estados resultantes da juno de dois ou mais


estados da transio

{q0}
{q1}
*{q2}
{q0, q1}
{q0, q2}

{q0, q1}

{q0, q1}
{q0, q1}

{q0}
{ q2 }

{q0, q2}
{q0}

5 Passo

Determinar os estados de aceitao.

Como q2 um estado final, ento todos os conjunto de


estados que tambm contiverem q2 tambm sero
estados de aceitao.

{q0}
{q1}
*{q2}
{q0, q1}
*{q0, q2}

{q0, q1}

{q0, q1}
{q0, q1}

{q0}
{ q2 }

{q0, q2}
{q0}

10

6 Passo

Podem existir estados inacessveis. Se existirem, estes


devem ser removidos

Para facilitar a identificao destes estados, melhor


renome-los

{q0}
{q1}
*{q2}
{q0, q1}
*{q0, q2}

{q0, q1}

{q0, q1}
{q0, q1}

{q0}
{ q2 }

{q0, q2}
{q0}

11

6 Passo

Renomeando os estados....

d
A
B
C
*D
E
*F

0
A
E
A
A
E
E

1
A
B
D
A
F
B
12

7 Passo

Analisar a tabela de transies e verificar se h algum


estado inacessvel

d
A
B
C
*D
E
*F

0
A
E
A
A
E
E

1
A
B
D
A
F
B

possvel acessar C?

13

7 Passo

Analisar a tabela de transies e verificar se h algum


estado inacessvel

d
A
B
*D
E
*F

0
A
E
A
E
E

1
A
B
A
F
B

D era acessvel por C,


e agora, algum
estado acessa D?

14

7 Passo

Analisar a tabela de transies e verificar se h algum


estado inacessvel

d
A
B
E
*F

0
A
E
E
E

1
A
B
F
B

Da mesma forma
o A, pode ser
excludo.

15

8 Passo

Terminada a simplificao, substituir as letras pelo


conjunto de estados

d
B
E
*F

0
E
E
E

1
B
F
B

0
d
{q0} {q0, q1}
{q0, q1} {q0, q1}
*{q0, q2} {q0, q1}

1
{q0}
{q0, q2}
{q0}

{q0, q1}

{q0}

1
0

1
{q0, q2}

16

Equivalncia entre AFND e AFD


Algoritmo de converso de AFND para AFD
1.

Utilizando a tabela de transio do AFND, crie para cada


conjunto de estados, um novo estado onde o rtulo o
prprio conjunto.

2.

Complete as transies de cada novo estado, a partir da


unio do comportamento de cada estado individual

3.

Adicione como estados finais aqueles estados que tem como


rtulo um estado final

4.

Elimine os estados que nunca so acessados a partir do


estado inicial

17

Equivalncia entre AFND e AFD


5. Complete o AFD como segue:
Q do AFD so os estados resultantes dos passos
mencionados anteriormente

S, que representa o alfabeto, no alterado

d, as transies, mencionadas anteriormente

q0 o estado inicial no se altera


F os estados finais so a unio de todos os estados
finais do delta (d) resultante

18

Ento....

19

AFND mais expressivo que AFD?

AFNDs e AFDs so equivalentes.

AFDs e AFNDs reconhecem a mesma classe de


linguagens: Linguagens Regulares (LR), que so
do tipo3 de acordo com a Hierarquia de
Chomsky.

20

Praticando 1

Considere o AFND M representado graficamente e


apresentado a seguir e faa o AFD equivalente:
0
1
1
q0

q1

q2

21

Praticando 2

Considere o AFND M representado graficamente e


apresentado a seguir e faa o AFD equivalente:

22

Praticando 3

Considere o AFND M representado graficamente e


apresentado a seguir e faa o AFD equivalente:

23

Praticando 4

Considere o AFND M representado graficamente e


apresentado a seguir e faa o AFD equivalente:

24

Praticando 5

Considere o AFND M representado graficamente e


apresentado a seguir e faa o AFD equivalente:

25

Praticando 6

Considere o AFND M representado graficamente e


apresentado a seguir e faa o AFD equivalente:

26

Equivalncia entre AFND e AFD


Edeilson Milhomem

Você também pode gostar