Q - Universidad Rey Juan Carlos

Anuncio
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
Descargar