Documente Academic
Documente Profesional
Documente Cultură
Supongamos que para un AFD M = (Q, , , q0, F ) denimos la siguiente relacin RM : o xRM y ssi (q0, x) = (q0, y) Claramente, podemos notar que esta relacin es de equivalencia e invariante por o la derecha con respecto a concatenacin. Esto ultimo quiere decir que o xRM y xzRM yz para todo z . Intuitivamente, xRM y signica que M no puede distinguir a x de y. Cuntas clases de equivalencia tiene esta relacin? a o Respuesta: El nmero de estados que posee el autmata. u o
Jorge Baier Aranda, PUC 38
La idea de la minimizacin de autmatas nitos es obtener una relacin de o o o equivalencia con las caracter sticas de la anterior, pero de un ndice lo ms a pequeo posible. n Por ejemplo, si para un AFD arbitrario M = (Q, , , q0, F ) tenemos que (q1, x) F ssi (q2, x) F, para todo x Sabemos que esencialmente los estados q1 estn cumpliendo la misma funcin; a o es decir, son indistinguibles. Formalmente, diremos que dos estados p y q del autmata M son distinguibles o ssi existe w tal que
q2
0 0 q1 1
0,1
Claramente aqu los estados q1 y q2 son indistinguibles. Retomando la idea de las relaciones de equivalencia, supongamos que pudisemos e denir para un lenguaje regular cualquiera L, una relacin de equivalencia: o xRLy ssi xz L yz L, para todo z Es posible imaginar que cada una de las clases de equivalencia de esta relacin o representan estados de algn autmata. u o
Jorge Baier Aranda, PUC 40
De esta manera, si x pertenece a la clase de equivalencia representada por q e y pertenece a una clase de equivalencia q distinta entonces x RLy y por lo tanto q y q son indistinguibles.
41
xRM y xRLy Es decir, cada clase de equivalencia de RM est contenida en una de RL. a (3)(1) Queda como ejercicio. La idea es construr un AFD a partir de RL que acepte L.
43
Algoritmo de Minimizacin
El algoritmo de minimizacin recibe un AFD como entrada y encuentra los o estados de ste que son distinguibles (e indistinguibles) entre s e . El algoritmo es el siguiente:
Minimice(M ) 1 for p F and q Q F 2 do marque(p, q) 3 for each (p, q) in F F (Q F ) (Q F ) 4 do if para algn a , ((p, a), (q, a)) est marcado u a 5 then marque(p, q) 6 marque recursivamente todos los pares que estn en L[p, q] a 7 y en las listas de los pares marcados en este paso 8 else for each a in 9 do agregue (p, q) a la lista para L[(p, a), (q, a)] 10 a menos que (p, a) = (q, a)
44
En este algoritmo est impl a cito el hecho que cada par de estados (p, q) tiene asociada una lista L[p, q] que contiene a los pares que estados que sern a distinguibles si en algn momento se demuestra que p y q son distinguibles. u El funcionamiento del algoritmo se puede resumir en lo siguiente: l neas 12 Si p es un estado nal y q es un estado no nal, entonces debemos marcarlos como distinguibles. l nea 3 De aqu en adelante consideramos pares de estados que son slo nales o o slo no nales. o l neas 47 Si a partir de (p, q) se llega, procesando el s mbolo a, a un par de estados que ya se sabe que son distinguibles, entonces p y q son distinguibles, pero tambin todos los pares que estn en la lista de L[p, q] y (recursivamente) e a todos los que estn en las listas de aqullos. Se marcan todos estos estados. a e l neas 810 En caso contrario (no hemos podido demostrar que p y q son distinguibles) agregamos (p, q) a las listas L[(p, a), (q, a)], para cada a . Esto se realiza porque p y q son distinguibles si algn par ((p, a), (q, a)) lo u es.
45
46
Cuando el algoritmo revisa el par (p, q) tenemos 2 casos posibles: 1. El algoritmo ya marc a (t, u). En este caso, el par (p, q) es marcado en las o l neas 47. 2. El algoritmo an no ha marcado al par (t, u). En este caso, por las l u neas 89, (p, q) es agregado a la lista L[t, u]. Cuando el par (t, u) sea marcado entonces (p, q) tambin ser marcado (por las l e a neas 47), porque se encuentra en la lista asociada a (t, u). Teorema. El AFD construido por el algoritmo de minimizacin a partir de M , o sin los estados inaccesibles, es el AFD m nimo para L(M ).
47