Está en la página 1de 15

Clase 10: Conversin de AFN a AFD

Solicitado: Ejercicios 08: Conversin de AFN a AFD


M. en C. Edgardo Adrin Franco Martnez
http://computacion.cs.cinvestav.mx/~efranco
@efranco_escom

edfrancom@ipn.mx

Cerradura psilon
Operacin mover
Operacin Ir_A
Algoritmo de conversin de un AFN a un AFD
Ejemplo 01
Ejercicios 08: Conversin de AFN a AFD

Teora computacional
10 Conversin de AFN a AFD
Prof. Edgardo Adrin Franco Martnez

Contenido

Dado un AFN definimos la operacin


cerradura psilon de un estado X como:
C_ (x) = {x} {v | v es alcanzable con
transiciones a partir de x }

Teora computacional
10 Conversin de AFN a AFD
Prof. Edgardo Adrin Franco Martnez

Cerradura psilon

Teora computacional
10 Conversin de AFN a AFD
Prof. Edgardo Adrin Franco Martnez

C_ (q5) = {q5} {q0,q1,q3}


C_ (q2) = {q2} {q3,q1}
C_ (q1) = {q1} {}
C_ ({q3,q4}) = {q3,q4,q6}

Mover (e, ) = {| una transaccin de e con


hacia el estado }
Mover (q3,b) = {q4}
Mover (q0,a) = {}
Mover({q5,q10},a) = {q6,q11}

Teora computacional
10 Conversin de AFN a AFD
Prof. Edgardo Adrin Franco Martnez

Operacin mover

Ir_A (C,) donde C es un conjunto {e1, e2,


e3, en} de estados del AFN y es un
smbolo del alfabeto del mismo AFN:

Teora computacional
10 Conversin de AFN a AFD
Prof. Edgardo Adrin Franco Martnez

Operacin Ir_A

Ir_A (C,) = C_E(Mover (C ,))


i.e.
Ir_A (C,) =C_E( Mover (e ,))
6

1.

Se calcula la C_ del estado inicial del AFN,


el resultado ser el estado inicial S0 del AFD.
S0 ser el estado inicial del AFD y el primer Si del
AFD.

2.

Teora computacional
10 Conversin de AFN a AFD
Prof. Edgardo Adrin Franco Martnez

Algoritmo de conversin de un AFN a un AFD

Se calcula para cada Si la operacin Ir_A


para cada , la cual arrojara un estado Si
(Pudiendo repetirse).

3.

Se realiza la operacin 2 con todos los


estados hasta que ya no surjan estados
diferentes.

La funcin de transicin es el resultado


de todas las operaciones Ir_A sobre los
Si.

Teora computacional
10 Conversin de AFN a AFD
Prof. Edgardo Adrin Franco Martnez

El estado inicial del AFD ser S0 y los


estados finales sern todos aquellos Si
que contengan al estado final del AFN
original.

Convertir el autmata finito no


determinista de la expresin regular
(b|b*a)a, a un autmata finito
determinista.

Teora computacional
10 Conversin de AFN a AFD
Prof. Edgardo Adrin Franco Martnez

Ejemplo 01

Ir_A(A,a)= C_ (Mover(A,a))= C_ {q6}={q6,q7,q10}=B


Ir_A(A,b)= C_ (Mover(A,b))= C_ {q4,q9}={q4,q3,q5,q9,q10}=C
Ir_A(B,a)= C_ (Mover(B,a))= C_ {q11}={q11}=D
Ir_A(B,b)= C_ (Mover(B,b))= C_ {}={}

Teora computacional
10 Conversin de AFN a AFD
Prof. Edgardo Adrin Franco Martnez

C_ (q0)={q0,q1,q2,q3,q5,q8}=A

10

Ir_A(D,a)= C_ (Mover(D,a))= C_ {}={}


Ir_A(D,b)= C_ (Mover(D,b))= C_ {}={}
Ir_A(E,a)= C_ (Mover(E,a))= C_ {q11}={q11}=D
Ir_A(E,b)= C_ (Mover(E,b))= C_ {}={}

Teora computacional
10 Conversin de AFN a AFD
Prof. Edgardo Adrin Franco Martnez

Ir_A(C,a)= C_ (Mover(C,a))= C_ {q6,q11}={q6,q7,q10,q11}=E


Ir_A(C,b)= C_ (Mover(C,b))= C_ {q4}={q4,q3,q5}=F

11

El estado inicial es A, ya que originalmente contiene a q0.


Los estados finales son D y E ya que contienen a q11.
f

Teora computacional
10 Conversin de AFN a AFD
Prof. Edgardo Adrin Franco Martnez

Ir_A(F,a)= C_ (Mover(F,a))= C_ {q6}={q6,q7,q10}=B


Ir_A(F,b)= C_ (Mover(F,b))= C_ {q4}={q4,q3,q5}=F

12

Teora computacional
10 Conversin de AFN a AFD
Prof. Edgardo Adrin Franco Martnez

(b|b*a)a

13

Teora computacional
10 Conversin de AFN a AFD
Prof. Edgardo Adrin Franco Martnez

Es posible omitir el estado , para una fcil


interpretacin, pero es importante hacer notar que
puede ser tratado como un estado ms (estado pozo o
de error), y es necesario para la implementacin
correcta del autmata.

(b|b*a)a

14

Construir los autmatas para las siguientes expresiones

regulares a travs de la nomenclatura de Thompson y


realizar el proceso de conversin para obtener los
autmatas finitos deterministas correspondientes.
1.
2.
3.
4.
5.

abc*|ca
c(a|b)+
(a|b)*abb
[(b|b*a)*]a
(a*|b+) +
*Se entregarn antes del da Lunes 30 de Septiembre de 2013
(23:59:59 hora limite).
*Incluir la redaccin de cada ejercicio
*Portada y encabezados de pagina
*Sugerencia utilizar Jflap para el dibujo y simulacin de los
autmatas

Teora computacional
10 Conversin de AFN a AFD
Prof. Edgardo Adrin Franco Martnez

Ejercicios 08: Conversin AFN a AFD

15

También podría gustarte