15
Clase 10: Conversión de AFN a AFD Solicitado: Ejercicios 08: Conversión de AFN a AFD 1 M. en C. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco @efranco_escom [email protected]

10 Conversión de AFN a AFD - eafranco.com · Se realiza la operación 2 con todos los estados hasta que ya no surjan estados diferentes. 7 Teoría computacional 10 Conversión de

Embed Size (px)

Citation preview

Page 1: 10 Conversión de AFN a AFD - eafranco.com · Se realiza la operación 2 con todos los estados hasta que ya no surjan estados diferentes. 7 Teoría computacional 10 Conversión de

Clase 10: Conversión de AFN a AFD

Solicitado: Ejercicios 08: Conversión de AFN a AFD

1M. en C. Edgardo Adrián Franco Martínez

http://computacion.cs.cinvestav.mx/~efranco

@efranco_escom

[email protected]

Page 2: 10 Conversión de AFN a AFD - eafranco.com · Se realiza la operación 2 con todos los estados hasta que ya no surjan estados diferentes. 7 Teoría computacional 10 Conversión de

Contenido• Cerradura épsilon

• Operación mover

• Operación Ir_A

• Algoritmo de conversión de un AFN a un AFD

• Ejemplo 01

• Ejercicios 08: Conversión de AFN a AFD

2

Teo

ría

co

mp

uta

cio

na

l

10

Co

nve

rsió

n d

e A

FN

a A

FD

Pro

f. E

dga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 3: 10 Conversión de AFN a AFD - eafranco.com · Se realiza la operación 2 con todos los estados hasta que ya no surjan estados diferentes. 7 Teoría computacional 10 Conversión de

Cerradura épsilon

• Dado un AFN definimos la operación

cerradura épsilon de un estado X como:

C_ε (x) = {x} Ʋ{v | v es alcanzable con

transiciones ε a partir de x }

3

Teo

ría

co

mp

uta

cio

na

l

10

Co

nve

rsió

n d

e A

FN

a A

FD

Pro

f. E

dga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 4: 10 Conversión de AFN a AFD - eafranco.com · Se realiza la operación 2 con todos los estados hasta que ya no surjan estados diferentes. 7 Teoría computacional 10 Conversión de

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

C_ε (q2) = {q2} Ʋ{q3,q1}

C_ε (q1) = {q1} Ʋ{λ}

C_ε ({q3,q4}) = {q3,q4,q6}

4

Teo

ría

co

mp

uta

cio

na

l

10

Co

nve

rsió

n d

e A

FN

a A

FD

Pro

f. E

dga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 5: 10 Conversión de AFN a AFD - eafranco.com · Se realiza la operación 2 con todos los estados hasta que ya no surjan estados diferentes. 7 Teoría computacional 10 Conversión de

Operación mover• Mover (e, α) = {β| Ǝ una transacción de e con α

hacia el estado β}

Mover (q3,b) = {q4}

Mover (q0,a) = {λ}

Mover({q5,q10},a) = {q6,q11}

5

Teo

ría

co

mp

uta

cio

na

l

10

Co

nve

rsió

n d

e A

FN

a A

FD

Pro

f. E

dga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 6: 10 Conversión de AFN a AFD - eafranco.com · Se realiza la operación 2 con todos los estados hasta que ya no surjan estados diferentes. 7 Teoría computacional 10 Conversión de

Operación Ir_A

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

e3, en} de estados del AFN y α es un

símbolo del alfabeto del mismo AFN:

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

i.e.

Ir_A (C,α) =C_E(Ʋ Mover (eᵢ ,α))

6

Teo

ría

co

mp

uta

cio

na

l

10

Co

nve

rsió

n d

e A

FN

a A

FD

Pro

f. E

dga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 7: 10 Conversión de AFN a AFD - eafranco.com · Se realiza la operación 2 con todos los estados hasta que ya no surjan estados diferentes. 7 Teoría computacional 10 Conversión de

Algoritmo de conversión de un AFN a un AFD

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. Se calcula para cada Si la operación Ir_Apara cada α ϵ Σ, la cual arrojara un estado Si(Pudiendo repetirse).

3. Se realiza la operación 2 con todos losestados hasta que ya no surjan estadosdiferentes.

7

Teo

ría

co

mp

uta

cio

na

l

10

Co

nve

rsió

n d

e A

FN

a A

FD

Pro

f. E

dga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 8: 10 Conversión de AFN a AFD - eafranco.com · Se realiza la operación 2 con todos los estados hasta que ya no surjan estados diferentes. 7 Teoría computacional 10 Conversión de

• El estado inicial del AFD será S0 y los

estados finales serán todos aquellos Si

que contengan al estado final del AFN

original.

• La función de transición es el resultado

de todas las operaciones Ir_A sobre los

Si.

8

Teo

ría

co

mp

uta

cio

na

l

10

Co

nve

rsió

n d

e A

FN

a A

FD

Pro

f. E

dga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 9: 10 Conversión de AFN a AFD - eafranco.com · Se realiza la operación 2 con todos los estados hasta que ya no surjan estados diferentes. 7 Teoría computacional 10 Conversión de

Ejemplo 01• Convertir el autómata finito no

determinista de la expresión regular

(b|b*a)a, a un autómata finito

determinista.

9

Teo

ría

co

mp

uta

cio

na

l

10

Co

nve

rsió

n d

e A

FN

a A

FD

Pro

f. E

dga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 10: 10 Conversión de AFN a AFD - eafranco.com · Se realiza la operación 2 con todos los estados hasta que ya no surjan estados diferentes. 7 Teoría computacional 10 Conversión de

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

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_ ε {λ}={λ}

10

Teo

ría

co

mp

uta

cio

na

l

10

Co

nve

rsió

n d

e A

FN

a A

FD

Pro

f. E

dga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 11: 10 Conversión de AFN a AFD - eafranco.com · Se realiza la operación 2 con todos los estados hasta que ya no surjan estados diferentes. 7 Teoría computacional 10 Conversión de

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

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_ ε {λ}={λ}

11

Teo

ría

co

mp

uta

cio

na

l

10

Co

nve

rsió

n d

e A

FN

a A

FD

Pro

f. E

dga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 12: 10 Conversión de AFN a AFD - eafranco.com · Se realiza la operación 2 con todos los estados hasta que ya no surjan estados diferentes. 7 Teoría computacional 10 Conversión de

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

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

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

f a b

A B C

B D λ

C E F

D λ λ

E D λ

F B F

12

Teo

ría

co

mp

uta

cio

na

l

10

Co

nve

rsió

n d

e A

FN

a A

FD

Pro

f. E

dga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 13: 10 Conversión de AFN a AFD - eafranco.com · Se realiza la operación 2 con todos los estados hasta que ya no surjan estados diferentes. 7 Teoría computacional 10 Conversión de

(b|b*a)a

13

Teo

ría

co

mp

uta

cio

na

l

10

Co

nve

rsió

n d

e A

FN

a A

FD

Pro

f. E

dga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 14: 10 Conversión de AFN a AFD - eafranco.com · Se realiza la operación 2 con todos los estados hasta que ya no surjan estados diferentes. 7 Teoría computacional 10 Conversión de

Es posible omitir el estado λ, para una fácil

interpretación, pero es importante hacer notar que

puede ser tratado como un estado más (estado pozo o

de error), y es necesario para la implementación

correcta del autómata.

(b|b*a)a

14

Teo

ría

co

mp

uta

cio

na

l

10

Co

nve

rsió

n d

e A

FN

a A

FD

Pro

f. E

dga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 15: 10 Conversión de AFN a AFD - eafranco.com · Se realiza la operación 2 con todos los estados hasta que ya no surjan estados diferentes. 7 Teoría computacional 10 Conversión de

Ejercicios 08: Conversión AFN a AFD• Construir los autómatas para las siguientes expresiones

regulares a través de la nomenclatura de Thompson yrealizar el proceso de conversión para obtener losautómatas finitos deterministas correspondientes.

1. abc*|ca

2. c(a|b)+

3. (a|b)*abb

4. [(b|b*a)*]a

5. (a*|b+) +

*Se entregarán antes del día Lunes 30 de Septiembre de 2013(23:59:59 hora limite).

*Incluir la redacción de cada ejercicio

*Portada y encabezados de pagina

*Sugerencia utilizar Jflap para el dibujo y simulación de los autómatas

15

Teo

ría

co

mp

uta

cio

na

l

10

Co

nve

rsió

n d

e A

FN

a A

FD

Pro

f. E

dga

rdo

Ad

riá

n F

ran

co M

art

íne

z