Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Bibliografa
Hopcroft, J. E., Motwani, R., y Ullman, J. D. Introduccin a la Teora de Autmatas, Lenguajes y Computacin. Addison Wesley. 2002.
captulos 2 y 4
Sudkamp, Thomas A. Languages and machines : an introduction to the theory of computer science. Addison-Wesley Publishing Company, 1998.
captulo 6
Manuel Mucientes
Introduccin
Mquinas secuenciales
Mealy Moore
Autmatas de estados finitos: son mquinas secuenciales Reconocen los lenguajes regulares Clasificacin
Determinista (AFD): el autmata no puede estar en ms de un estado simultneamente No determinista (AFN): puede estar en varios estados al mismo tiempo
No determinismo
no aade ningn lenguaje a los ya definidos por los AFD aumento de la eficiencia en la descripcin de una aplicacin
Manuel Mucientes
A = (Q, , , q0, F)
Manuel Mucientes
Funcionamiento de un AFD
Lenguaje del AFD: conjunto de las cadenas que acepta Ejemplo: AFD que acepta todas las cadenas de ceros y unos que contienen la secuencia 01 en algn lugar de la cadena
{w | w tiene la forma x01y, donde x e y son cadenas de smbolos 0 y 1} {x01y | x e y son cadenas cualesquiera de 0 y 1}
se ha ledo la secuencia 01: independientemente de las futuras entradas, el estado debe ser de aceptacin no se ha ledo la secuencia 01, pero la entrada ms reciente es 0: si se lee un 1, se pasa a estado de aceptacin no se ha ledo la secuencia 01, y la entrada ms reciente es un 1 o no existe: se aceptar la cadena cuando se lea 01 A = ({q0, q1, q2}, {0, 1}, , q0, {q1})
Manuel Mucientes
Diagrama de transiciones
Es un grafo
un nodo por cada estado de Q un arco de q a p etiquetado con a para cada (q, a) = p una flecha dirigida al estado inicial los estados finales estn marcados por un doble crculo
Manuel Mucientes
Tabla de transiciones
Representacin tabular de la funcin filas: estados columnas: entradas estado inicial: flecha estados finales: *
0 ->q0 q2 q1 q2 1 q0 q1 q1
q1 q2
Manuel Mucientes
Extensin a cadenas
Funcin de transicin: Funcin de transicin extendida:
dado un estado q y una cadena w, devuelve un estado p
( q, w) = (( q, x ), a )
Ejemplo: Disear el AFD que acepte el lenguaje L = {w | w tiene un nmero par tanto de 0 como de 1}. Probar la entrada 110101 Lenguaje de un AFD: lenguaje regular
L( A) = {w ( q 0, w) pertenece a F }
Manuel Mucientes
Problemas
1. Construir los AFD que acepten los siguientes lenguajes sobre el alfabeto {0, 1}
1. El conjunto de cadenas con 011 como subcadena 2. El conjunto de cadenas terminadas en 00 3. El conjunto de cadenas cuyo tercer smbolo desde el extremo derecho sea un 1 4. El conjunto de cadenas que empiezan o terminan por 01
2. Dado el siguiente AFD, describir de manera informal el lenguaje que acepta, y demostrarlo por induccin sobre la longitud de la cadena de entrada.
0 ->A A *B
Manuel Mucientes
1 B A
9
Manuel Mucientes
10
1 {q0} {q2}
Tema 2: Autmatas finitos 11
( q, x ) = { p1, p 2, ..., pk }
U ( p , a ) = {r , r , ..., r
i 1 2 i =1
( q, w) = {r1, r 2, ..., rm }
}
Lenguaje de un AFN:
Manuel Mucientes
L( A) = {w | ( q 0, w) F }
Tema 2: Autmatas finitos 12
Demostracin de que un AFD puede hacer lo mismo que un AFN: construccin de subconjuntos
construccin de todos los subconjuntos del conjunto de estados del AFN
Manuel Mucientes
13
Construccin de subconjuntos
Dado el AFN N= (QN, , N, q0, FN), obtener el AFD D= (QD, , D, {q0 }, FD) tal que L(D)=L(N)
Alfabetos iguales Estado inicial: conjunto con el estado inicial de N QD: conjunto de subconjuntos de QN. Si QN tiene n estados, QD tendr 2n. Eliminacin de estados no accesibles FD: conjunto de subconjuntos S de QN tales que S FN Para cada S QN y cada smbolo de entrada a:
D ( S , a ) =
p en S
( p, a )
Manuel Mucientes
14
Evaluacin perezosa
Base: el conjunto de un elemento que contiene el estado inicial de N es accesible Paso inductivo: hemos determinado que el conjunto S de estados es accesible. Entonces, para cada smbolo de entrada a, se calcula el conjunto de estados D(S, a), que tambin sern accesibles Ejemplo: aplicar el proceso al siguiente autmata
Manuel Mucientes
15
Manuel Mucientes
16
Problemas
Convertir el siguiente AFN en AFD
0 ->p q r *s *t {p, q} {r, s} {p, r} 1 {p} {t} {t}
Manuel Mucientes
17
Problemas
Convertir el siguiente AFN en AFD
0 ->p q r *s Solucin: 0 ->A B C D *E *F *G *H
Manuel Mucientes
1 A C A C G G H H
Tema 2: Autmatas finitos 18
B D E F F F E E
los documentos no pueden ser catalogados: Amazon (pginas generadas a partir de consultas)
Manuel Mucientes
19
Manuel Mucientes
20
Ejemplo
Conversin del siguiente AFN en AFD
Manuel Mucientes
21
Manuel Mucientes
22
Notacin
A = (Q, , , q0, F), pero ahora es una funcin de:
un estado de Q un elemento de U {}
q3 {q5}
Manuel Mucientes
23
Clausuras respecto de
Clausura del estado q respecto de , CLAUS(q)
Base: el estado q est en CLAUS(q) Paso inductivo: si es la funcin de transicin del AFN-, y el estado p est en CLAUS(q), entonces CLAUS(q) contiene todos los estados de (p, )
Ejemplos: determinar las clausuras de los estados de los autmatas de las siguientes figuras
Manuel Mucientes
24
U ( p , a ) = {r , r , ... , r }
i 1 2 m i =1
( q, w) =
U CLAUS
j =1
( rj )
de la figura
Manuel Mucientes
25
Eliminacin de transiciones
Dado un AFN- E = (QE, , E, q0, FE), encontrar un AFD D=(QD, , D, qD, FD) que acepte el mismo lenguaje
QD es el conjunto de subconjuntos de QE qD= CLAUS (q0) FD ={S | S pertenece a QD, y S FE } D(S, a): S = {p1, p2, ..., pk}
U ( p , a ) = {r , r , ... , r }
i 1 2 m i =1
D ( S , a ) = U CLAUS ( rj )
j =1
Manuel Mucientes
26
Eliminacin de transiciones
Ejemplo: construir el AFD equivalente al de la figura
Teorema: un lenguaje L es aceptado por algn AFN- E=(QE, , E, q0, FE) si y slo si es aceptado por algn AFD D=(QD, , D, qD, FD)
Manuel Mucientes
27
Problemas
Dados los siguientes AFN-e, calcular la clausura respecto de para cada estado, y convertir los autmatas en AFD a) ->p q {p} *r {q} a {p} {q} {r} b {q} {r} c {r} {p} ->A B *C
Solucin:
a A B C
b B C C
c C C C
Solucin:
a *B *C D
c
A = {p, q, r} B = {q, r} C = {r} D = {}
->*A A B A A C A D D D D D D
Manuel Mucientes
28
Problemas
1. Disear el AFN- para los siguientes lenguajes:
a) conjunto de cadenas con cero o ms letras a seguidas de cero o ms letras b, seguidas de cero o ms letras c b) El conjunto de cadenas formadas por 01 repetido una o ms veces, o por 010 repetido una o ms veces
Manuel Mucientes
29
Equivalencia de estados
Dos estados p y q de un AFD son equivalentes si para toda cadena de entrada w, ( p, w) es un estado de aceptacin si y slo si ( q, w) es un estado de aceptacin
En caso contrario, los estados sern distinguibles
Teorema: la equivalencia de estados es transitiva. Es decir, si para un AFD dos estados p y q son equivalentes y q y r son equivalentes, entonces p y r son equivalentes Teorema: si para cada estado q de un AFD se crea un bloque que contiene a q y a todos los estados equivalentes a q, los bloques de estados forman una particin del conjunto de estados.
cada estado estar en un nico bloque todos los miembros de un bloque son equivalentes dos estados de bloques diferentes no pueden ser equivalentes
Manuel Mucientes
30
Manuel Mucientes
31
Manuel Mucientes
32
Ejemplo:
Manuel Mucientes
33
Minimizacin de un AFD
Para todo AFD es posible encontrar un AFD equivalente con igual o menor nmero de estados que cualquier AFD que acepte el mismo lenguaje. Dicho AFD es nico.
1. Se eliminan los estados no accesibles desde el inicial 2. Se divide el conjunto de estados Q en bloques de estados mutuamente equivalentes 3. Se construye el AFD mnimo B equivalente a A, utilizando los bloques como estados
1. La funcin de transicin de B es (S, a) = T, donde S y T son bloques de estados. Cualquier estado del bloque S debe llevar con entrada a a un estado del bloque T. Si no fuese as, esos estados seran distinguibles, lo que no es cierto 2. el estado inicial de B es el bloque que contiene el estado inicial de A 3. el conjunto de estados de aceptacin de B es el conjunto de bloques que contienen los estados de aceptacin de A
Manuel Mucientes
34
Manuel Mucientes
35
Resultado:
Manuel Mucientes
36
Problemas
1. Dados los siguientes AFD, crear una tabla de estados distinguibles para cada uno de los autmatas, y construir los AFD equivalentes mnimos
a) 0 ->A B B A C D *D D E D F G G F H G 1 A C F A F E G D
b) 0 1 ->A B E 1 A C B A B C F *C D H D E H E F I *F G B G H B H I C *I A E
Solucin: A, D y G B, E y H C, F e I
0 ->A B C *D B A D D
0 1 ->A B *C B B C C A B
Manuel Mucientes
37
Problemas finales
1. Construir el autmata de estados finitos que reconozca el lenguaje formado por aquellas cadenas que tienen a 111 como subcadena. 2. Construir el autmata de estados finitos que reconozca el lenguaje formado por aquellas cadenas que contienen en algn lugar de la cadena un nmero consecutivo de 1 par (y mayor que 0). Por ejemplo, la cadena 1011100 no pertenecer al lenguaje, y la cadena 1011110101 s. 3. Construir el autmata de estados finitos que reconozca, sobre el alfabeto {0, 1}, el lenguaje formado por aquellas cadenas que comienzan por la subcadena 01, pero que no contienen dicha subcadena en ninguna otra posicin. Por ejemplo, la cadena 011100 ser reconocida, pero 011110010 no.
Manuel Mucientes
38