Está en la página 1de 26

Equivalencia entre AFD y AFN

Transiciones Lambda Las transiciones de estado a estado en AFD y AFN se llevan a cabo al procesar o leer un smbolo de entrada. Podemos tambin redefinir a un AFN de tal manera que admita transiciones de estado a estado sin leer un smbolo de entrada. Una transicin de esta forma es llamada transicin lambda. A este tipo de mquinas se les llama AFN- . Por medio de movimientos lambda se puede construir mquinas complejas a partir de mquinas mas simples.

Transiciones Lambda

La definicin de halting (cuando parar) se extiende para incluir la posibilidad que una computacin puede continuar usando transiciones lambda despus de que toda la cadena de entrada ha sido leda. Tambin se pide, al igual que en los anteriores autmatas, que termine en un estado final, esto para finalizar el AFN- con xito.

Ejemplo: Sea M1 y M2 las siguientes mquinas que aceptan los lenguajes descritos por (a | b)*bb (a | b)* y (b | ab)* (a | l).
a,b

M1
b Q1,1 b

a,b

M2
a

q1,0

Q1,2

Q2,0

Q2,1

Podemos construir mquinas compuestas combinando los diagramas de estado M1 y M2.

a,b

a,b b b Q1,2

q1,0

Q1,1

a Q2,0 b Q2,1

El lenguaje del AFN- M es L(M1) U L(M2) Una computacin en la mquina M comienza siguiendo un arco lambda a un estado inicial de M1 o M2.
5

Ejemplo: Un AFN- M que acepta L(M1) L(M2), la concatenacin de dos lenguajes se construye juntando las dos mquinas con un arco lambda.
a,b

M1
b Q1,1 b

a,b

M2
a

q1,0

Q1,2 Q2,0

Q2,1

Una cadena de entrada es aceptada solo si consiste de una cadena de L(M1) seguido de una cadena de L(M2) .

Equivalencia de AFN y AFD Tres clases de autmatas finitos se han estudiado. En esta seccin demostraremos que los tres tipos de autmatas aceptan el mismo tipo de lenguajes; mejor dicho, el lenguaje aceptado por un AFN- es aceptado por un equivalente AFN y tambin por un equivalente AFD. Demostraremos como a un AFN- y aun AFN le podemos quitar su no determinismo mediante la construccin de un AFD equivalente.


q2 Q3

a q1
a Q4, Q5

Q6

En la figura anterior las transiciones de el estado q1 ante entrada a son el conjunto {q2, q3, q5, q6}. Esto debido a que podemos alcanzar o llegar a esos estados desde el estado q1 y solo leyendo a. Al estado q4 llegamos leyendo solo .

La funcin de transicin t de un NFA- es una funcin un poco diferente a la funcin de transicin de un AFD o un AFN. En la funcin t, las transiciones ante son vlidas para moverse de un estado a otro y juntndola con una entrada del alfabeto. Ejemplo: Las tablas de transicin siguientes ejemplifican las funciones de transicin y t para el siguiente AFN- (diagrama de estado M). El lenguaje de M es a+c*b*.

a {q0, q1, q2} 0 0

b 0 {q1} 0 0 0

a q0 a q2 c a

b q1

q0 q1 q2

{q2}

{q1}

t q0 q1 q2

a {q0, q1, q2} 0 0

b 0 {q1} {q1} 0 0

{ q1, q2}

10

La funcin de transicin t es usada para construir un autmata finito determinstico equivalente. El procedimiento usa el diagrama de estados de el AFN- para construir el diagrama de estados de el equivalente AFD. Ejemplo: Construir un AFD equivalente para el siguiente AFN- . a b q0 a q2 c
11

q1

a q0 a q2 a

b q1 Su correspondiente diagrama de estados:


t q0 q1 q2 {q1} { q1, q2} {q0, q1, q2} a {q0, q1, q2} 0 0 0 0 {q0, q1, q2} b 0 {q1} {q1} {q1} {q1} {q1} 0 0 { q1, q2} 0 { q1, q2} { q1, q2} c

c Se crean tres nuevos estados a los cuales se les aplica el mismo procedimiento para obtener hacia que estados se mover. Este procedimiento termina hasta que no hay no se genere un nuevo estado

12

A partir del diagrama de estados se puede construir el AFD equivalente. a {q0} a {q0, q1, q2} c b,c b c {q1, q2} b 0 a,b,c a,c b
{q0, q1, q2} {q0, q1, q2} {q1} { q1, q2}

t q0 q1 q2 {q1} { q1, q2}

a {q0, q1, q2} 0 0 0 0

b 0 {q1} {q1} {q1} {q1} 0 0

{ q1, q2} 0 { q1, q2}

{q1} a

13

El AFN M acepta el lenguaje a+ b+. Procedemos a convertirlo a un equivalente AFD.

M: a

q0

q1 a a

q2

M:

{q0}

a b

{q0, q1} a, b

b a

{q1, q2} b

14

Las mquinas M1 and M2 aceptan a(ba)* and a* respectivamente.

a M1 : q1 a q2 b M2 : q3

15

Usando arcos lambda para conectar un nuevo estado inicial a los estados iniciales de las mquinas originales creamos un NFA- M que acepta a(ba)* | a*.

M: q0

q1

a b a

q2

q3

16

La funcin de transicin para M es


t q0 a {q2, q3} 0 b

q1

{q2}

q2

{q1}

q3

{q3}

17

El equivalente AFD obtenido es


a {q0, q1, q3} b b a,b a {q2} b
18

a {q2, q3} b {q1} b

{q3}

Propiedades de los Lenguajes aceptados por un Autmata Finito. Cada autmata finito con alfabeto acepta un lenguaje para . Podemos probar que la familia de lenguajes aceptados por un autmata finito consiste precisamente de los conjuntos o lenguajes regulares para . Primero demostramos que cada conjunto o lenguaje regular es aceptado por algn AFN- . La demostracin va de acuerdo a una definicin recursiva. Los lenguajes o conjuntos regulares se construyen a partir de los elementos bsicos 0 (conjunto o estado vaco), (cadena vaca) y conjuntos individuales que contienen elementos del alfabeto.

19

Los diagramas de estado para las mquinas que aceptan dichos conjuntos son:

q0 q0 q0 a

q1

q1 q1

20

Conjuntos regulares se construyen de los elementos bsicos usando unin, concatenacin y operacin Kleene Star. Al igual que los conjuntos regulares, autmatas fintos mas complejos se pueden construir a partir de los diagramas anteriores y que acepten la unin, concatenacin y operacin Kleene Star de lenguajes regulares. Ejemplo: El lenguaje L(M1) U L(M2) es aceptado por la mquina siguiente:
SM1

S
SM2

M1

FM1

M2

FM2

21

La concatenacin de dos lenguajes L(M1) L(M2) regulares puede ser aceptado por la mquina siguiente:

SM1

M1

FM1

SM2

M2

FM2

Una mquina que acepta L(M1)* es la siguiente: S SM1 M1


22

FM1

CONCLUSION Usando los autmatas finitos anteriores podemos construir una mquina para cualquier expresin regular que describa a un lenguaje o conjunto regular. Por lo tanto, la conclusin es de que la familia de lenguajes aceptados por una mquina o autmata finito son del tipo regular. Ejercicio: Construir un AFN- que acepte el lenguaje denotado por (a|b)*ba. a b

23

ba b a

(a|b) a b

24

(a|b)*

25

(a|b)*ba b a

26

También podría gustarte