90 likes | 309 Views
Teorema de Nerode. Minimización de AFDs. Conceptos previos: -Partición de un conjunto. -Relación sobre un conjunto A . -Relación de equivalencia. -Clase de equivalencia. -El conjunto de las clases de equiv. de A es una partición. -Conjunto cociente. -Indice de una relación.
E N D
Teorema de Nerode. Minimización de AFDs Conceptos previos: -Partición de un conjunto. -Relación sobre un conjunto A. -Relación de equivalencia. -Clase de equivalencia. -El conjunto de las clases de equiv. de A es una partición. -Conjunto cociente. -Indice de una relación. -R (sobre A) es más fina que Q si x,y A (xR y xQy) R es congruencia sobre M si xR y u,v M (uxv Ruyv). R es cong. a derechas sobre M si xR y v M (xv Ryv). R es cong. a izquierdas sobre M si xR y u,v M (ux Ruy).
Relación de equivalencia de los buenos finales: -Dado L *; x, y * ( xRL y x -1L = y -1L ). -De manera equivalente x, y * ( xRL y z *( xz L yz L )). RL es una congruencia a derechas: Dem.- Si xRL y, z * (xz)-1L = z -1 (x -1L) = z -1 (y -1L) = = (yz)-1L xzRL yz Ejercicio: Sea A = (Q, , , q0, F) un AFD completo y accesible. Sea RA : x, y * ( xRA y (q0,x) = (q0,y) ). - RA es una RBE de índice finito. - RA es una congruencia a derechas.
Teorema de Nerode Dado L *; son equivalentes: 1.- L es regular. 2.- L es unión de algunas clases de equivalencia de una congruencia a derechas de índice finito. 3.- RL es de índice finito. Demostración: (1 2) L es regular L = L(A) con A = (Q, , , q0, F). La relación es RA : x, y * ( xRA y (q0,x) = (q0,y) ). - es una RBE de índice finito. - es una congruencia a derechas. - cada clase representa un estado de Q. - L es unión de aquellas clases de RA que corresponden con eltos de F.
(2 3) Sea Econgruencia a derechas de índice finito. x Ey z * , xzEyz z * (xz L yz L) xRLy. Si E es de índice finito y es más fina que RL, esta también.
(3 1) Sea RL de índice finito, {[u] RL : u L} q0= [] RL A = (Q, , , q0, F) función de transición ([u] RL ,a) = [ua] RLa {[u] RL : u *} -Se cumple que ([] RL ,x) = [x] RLx *. Entonces L(A) = {x * : ([] RL ,x) F}= {x * : [x] RL F}= {x * : x L} = L (L= L(A) L es Regular ).
Minimización de Autómatas Finitos -Un autómata A = (Q, , , q0, F) es accesible si q Q x * : (q0, x) = q. -R. de indistiguibilidad: Si A es completo y accesible se define q,q’ Q (q q’ x * ((q,x) F (q,y) F )). Dado A = (Q, , , q0, F) , el autómata cociente A/ = (Q’, , ’, q’0, F’) con Q’ = Q/ = {[q] : q Q }; q’0 = [q0] F’ = F/ = {[q] : q F }; ’([q],a) = [(q,a)] es el autómata mínimo que acepta L(A). El problema de minimizar un AFD se reduce a computar
R. de k-indistiguibilidad: Si A es completo y accesible, q,q’ Q • (q kq’ x *, |x| k ((q,x) F (q,y) F )). • k 0 p k + 1q p k q . • k 0 p q p k q . • k 0 p k + 1q p k q a ((p,a) k (q,a)). • p 0 q (p F q F) (p Q - F q Q - F) Algoritmo de minimización: (1) 0 = {Q - F , F} (2) Obtener k + 1 a partir de k : B(p, k + 1) = B(q, k + 1) B(p, k ) = B(q, k ) a (B((p,a), k ) = B((q,a), k )) (3) Repetir (2) hasta encontrar m : m + 1 = m .
0 1 a 1 2 a 0 1 3 b b 1 5 1 a 0 b 3 4 b 1 0 a 2 6 7 4 b b 1 1 0 a 1 5 6 0 a 0
a 1 2 a b b a b 3 4 b a b b a 5 6 a