Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
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*.
b 0 {q1} 0 0 0
a q0 a q2 c a
b q1
q0 q1 q2
{q2}
{q1}
t q0 q1 q2
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
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}
{q1} a
13
M: a
q0
q1 a a
q2
M:
{q0}
a b
{q0, q1} a, b
b a
{q1, q2} b
14
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
q1
{q2}
q2
{q1}
q3
{q3}
17
{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
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