Máquinas Secuenciales, Autómatas y Lenguajes Formales Tema 6: Máquinas Secuenciales Máquinas de Mealy y Moore Luis Peña Sumario Tema 6: “Máquinas Secuenciales”. 1. 2. 3. 4. 5. 6. Definición Máquina de Mealy Máquina de Moore Extensión de Mealy y Moore Equivalencias entre Máquinas Secuenciales Mealy Moore Universidad Rey Juan Carlos Teoría de Autómatas y Lenguajes Formales Curso 2012-2013 2 Máquina Secuencial (descripción) Son un tipo de AFD que dada una palabra de entrada, producen una palabra de salida. Tienen un conjunto finito de estados. Tienen dos cintas asociadas: una de lectura y otra de escritura Dos tipos principales: Máquina de Mealy Máquina de Moore Universidad Rey Juan Carlos lee x Teoría de Autómatas y Lenguajes Formales Curso 2012-2013 M.S. f escribe f(x) 3 Máquina de Mealy (descripción) ME=(Q, E, S, f, g,q0) Q es el conjunto de estados q0 es el estado inicial E, es el alfabeto de entrada S es el alfabeto de salida f:Q x E Q, es una función de transición entre estados g:Q x E S, es una función de salida Universidad Rey Juan Carlos Teoría de Autómatas y Lenguajes Formales Curso 2012-2013 4 Máquina de Mealy (descripción) Por ejemplo: ME=({q0,q1}, {0,1}, {p,i}, f, g,q0) f(q0,0)=q0 f(q0,1)=q1 f(q1,0)=q1 f(q1,1)=q0 Universidad Rey Juan Carlos g(q0,0)=p g(q0,1)=i g(q1,0)=i g(q1,1)=p Teoría de Autómatas y Lenguajes Formales Curso 2012-2013 5 Máquina de Moore (descripción) MO=(Q, E, S, f, g,q0) Q es el conjunto de estados q0 es el estado inicial E, es el alfabeto de entrada S es el alfabeto de salida f:Q x E Q, es una función de transición entre estados g:Q S, es una función de salida Sólo depende del estado en el que me encuentre Universidad Rey Juan Carlos Teoría de Autómatas y Lenguajes Formales Curso 2012-2013 6 Máquina de Moore (descripción) Por ejemplo: MO=({q0,q1}, {0,1}, {p,i}, f, g,q0) f(q0,0)=q0 g(q0)=p f(q0,1)=q1 f(q1,0)=q1 g(q1)=i f(q1,1)=q0 Universidad Rey Juan Carlos Teoría de Autómatas y Lenguajes Formales Curso 2012-2013 7 Mealy – Moore (diferencia) Mealy supone velocidad de procesamiento infinita. La máquina genera una salida inmediatamente tras recibir una entrada. Moore supone una velocidad finita ya que la salida se produce únicamente cuando la máquina se encuentre en un estado tras realizar las transición Universidad Rey Juan Carlos Teoría de Autómatas y Lenguajes Formales Curso 2012-2013 8 Máquinas Secuenciales: Representaciones Tablas de transición y salida: similares a las de los AFD. f: Q x E Q f: Q x E Q 0 1 0 1 q0 q0 q1 q0 q0 q1 q1 q1 q0 q1 q1 q0 g: Q x E S g: Q S 0 1 q0 p i q0 p q1 i p q1 i Mealy: ME Universidad Rey Juan Carlos 0 Moore: MO Teoría de Autómatas y Lenguajes Formales Curso 2012-2013 9 Máquinas Secuenciales: Representaciones Tablas únicas de transición y salida: similares a las de los AFD. Mezcla las dos anteriores en una f: Q x E Q ME 0 1 q0 q0 / p q1 / i q1 q1 / i q0 / p Mealy: ME Universidad Rey Juan Carlos 0 1 q0 / p q0 q1 q1 / i q1 q0 Moore: MO Teoría de Autómatas y Lenguajes Formales Curso 2012-2013 10 Máquinas Secuenciales: Representaciones Diagramas de transición 1/i 0/i q0 1 q1 0/i 0 q0/p 1/p Mealy: ME Universidad Rey Juan Carlos q1/i 0 1 Moore: MO Teoría de Autómatas y Lenguajes Formales Curso 2012-2013 11 Extensión a palabra de entrada y salida Extensión de Mealy La función f se extiende redefiniendo de la siguiente manera: f :Q x * E Q Además f (q, ax) f ( f (q, a), x), q Q, a E , x *E f (q, ) q, q Q Donde λ es la palabra vacía. Universidad Rey Juan Carlos Teoría de Autómatas y Lenguajes Formales Curso 2012-2013 12 Extensión a palabra de entrada y salida Extensión de Mealy (cont.) La función g se extiende redefiniendo de la siguiente manera: g : Q x *E *S Además g (q, ax) g (q, a) g ( f (q, a), x), q Q, a E , x *E g (q, ) , q Q Donde λ es la palabra vacía. Universidad Rey Juan Carlos Teoría de Autómatas y Lenguajes Formales Curso 2012-2013 13 Extensión a palabra de entrada y salida Extensión de Moore Las funciones f y g se redefinen como en el caso de las Máquinas de Mealy. Pero se añade una nueva función g’ definida como: g ': Q x *E *S Tal que: g ' (q, ax) g (q) g ' ( f (q, a), x), q Q, a E , x *E g ' (q, ) , q Q Universidad Rey Juan Carlos Teoría de Autómatas y Lenguajes Formales Curso 2012-2013 14 Función Respuesta de una M.S. Con el fin de unificar los dos tipos de máquinas. Definimos la función respuesta: g (q, x) si es de Mealy q Q, x , h(q, x) g ' (q, x) si es de Moore * E Cumpliendo las siguientes propiedades. h( q, x ) x f (q, xy ) f ( f (q, x), y ) h(q, xy ) h(q, x) h( f (q, x), y ) Universidad Rey Juan Carlos Teoría de Autómatas y Lenguajes Formales Curso 2012-2013 q Q; x, y *E 15 Equivalencias en Máquinas Secuenciales Equivalencia de Estados: Dos estados q y p son equivalentes qEp sii: x *E , h(q, x) h( p, x) Ejemplo: M 3 ({0,1},{ p, i},{A, B, C}, f , g , A) 1/i 0/i A 0/p B 1/p 0/p Universidad Rey Juan Carlos C 1/i f ( A,0) C g ( A,0) p f ( A,1) B g ( A,1) i f ( B,0) B g ( B,0) i f ( B,1) A g ( B,1) p f (C ,0) A g (C ,0) p f (C ,1) B g (C ,1) i Teoría de Autómatas y Lenguajes Formales Curso 2012-2013 A E C, h( A, x) h(C, x) 16 Equivalencias en Máquinas Secuenciales Equivalencia de longitud n: Como en el caso de los AFD, dos estados son equivalentes de longitud n, si son equivalentes para todas las palabras de longitud n. qEn p, sii x *E / | x | n, h(q, x) h( p, x) Universidad Rey Juan Carlos Teoría de Autómatas y Lenguajes Formales Curso 2012-2013 17 Equivalencias en Máquinas Secuenciales Dos máquinas de estados M1 y M2 son equivalentes sii: todos los estados de M1 y M2 son equivalentes q M 1 , p M 2 / qEp , y además, p M 2 , q M 1 / pEq Universidad Rey Juan Carlos Teoría de Autómatas y Lenguajes Formales Curso 2012-2013 18 Equivalencias en Máquinas Secuenciales Calculo del conjunto cociente de M (QE): p, q Q Si a E , h( p, a ) h(q, a ) p, q ci , ci Q / E1 i : 1 Repetir p, q Q Si p, q c j Q / Ei y a E , f ( p, a ) cm , f (q, a) cm , cm Q / Ei p, q c j Q / Ei 1 i : i 1 Hasta que Q / Ei 1 Q / Ei Devolver Q / E Q / Ei Universidad Rey Juan Carlos Teoría de Autómatas y Lenguajes Formales Curso 2012-2013 19 Equivalencias en Máquinas Secuenciales Minimización de una máquina secuencial M: Sea M ( E , S , Q, f , g , q0 ) La máquina secuencial equivalent e mínima M ' M ' ( E , S , Q ' , f ' , g ' , q '0 ) Q' Q / E f ' (c, a ) c' , si q c, f (q, a ) c' / c, c' Q / E h' (c, a ) h(q, a ), q c Q / E g ' es la función correspondiente a h' q '0 c , q0 Q , q0 c Q / E Universidad Rey Juan Carlos Teoría de Autómatas y Lenguajes Formales Curso 2012-2013 20 Equivalencias entre Mealy y Moore Mealy Moore Sea ME ( E , S , Q, f , g , q0 ) La máquina de M oore equivalent e MO MO ( E , S , Q' , f ' , g ' , q '0 ) Donde para cada transición y salida que cumpla : f ( q, a ) p, g ( q, a ) b / q, p Q, a E , b S Se crea : un estado p b Q' / g ' ( p b ) b, y una transición f ' (q s , a ) p b , q s , s S Universidad Rey Juan Carlos Teoría de Autómatas y Lenguajes Formales Curso 2012-2013 21 Equivalencias entre Mealy y Moore Moore Mealy Sea MO ( E , S , Q, f , g , q0 ) La máquina de M oore equivalent e MO MO ( E , S , Q, f , g ' , q0 ) Donde para cada transición y salida que cumpla : f ( q , a ) p , g ( q ) b / q , p Q, a E , b S Se define : g ' ( q, a ) b Universidad Rey Juan Carlos Teoría de Autómatas y Lenguajes Formales Curso 2012-2013 22