Maquinas de Estado Finito

Page 1

MAQUINAS DE ESTADOS FINITOS

Ing. Edecio R. Freitez


MAQUINA DE ESTADO FINITO. (MEF) 

Maquina de Estado Finito. (MEF): Una máquina estado finito es un modelo abstracto de una máquina con memoria interna primitiva. Dicha maquina se denota mediante una colección de tres elementos (terna) de la forma:M=(S,I,F)donde: S: Es el conjunto de estados de la maquina. I: es el conjunto de entradas de la máquina. F = { ƒx | x Є I}, es la función de transición de estados, es decir; para cualquier entrada x Є I, la función ƒx describe el efecto que tiene esta entrada sobre los estados de la máquina y es la función de transición de estados. Así si la máquina se encuentra en el estado si y ocurre la entrada x, el siguiente estado de la máquina será ƒx(si).


MAQUINA DE ESTADO FINITO. (MEF) 

Ejemplo: Sea MEF, dada por M = (S, I, F) donde: S=( s0; s1, s2 ) ; I=(a,b) ; la función F = { ƒx | x Є I} dada por la siguiente tabla: a

b

S0

S0

S1

S1

S2

S0

s2

S1

S2

Cabe señalar que en la tabla anterior, las símbolos de entrada x, y se combinan con los estados s0, s1, s2, para generar la función ƒx, como se muestra a continuación:


MAQUINA DE ESTADO FINITO. (MEF) 

ƒa(s0) = s0, ƒb(s0) = s1,

ƒa(s1) = s2, ƒa(s2) = s1, ƒb(s1) = s0, ƒb(s2) = s

Máquinas Secuenciales.

Definición: Las Máquinas secuenciales representan un tipo de autómatas que es capaz de generar una palabra de salida, para una palabra de entrada dada. Para lo cual se debe definir un conjunto de estados, que almacenan (memorizan) la parte de la palabra de entrada en cada momento generando, al mismo tiempo una palabra de salida asociada mientras transitan entre los estados. A continuación se presentan dos tipos particulares de maquinas secuenciales: 

Maquina Finita de Mealy. Maquina Finita de Moore.


MÁQUINA FINITA DE MEALY (ME). 

Definición: Es un modelo matemático representado mediante una quíntupla definida como: ME = ( E, s, Q, f,g) Donde E: es el alfabeto de símbolos de entrada s : es el alfabeto de símbolos de salida Q :es el conjunto finito no vacío de estados f : es la función de transición definida como: f: Q x E → Q g es la función de salida, definida como: g: Q x E → s


MÁQUINA FINITA DE MEALY (ME) . 

 

Ejemplo: Dada la siguiente maquina secuencial, que genera como salida una p en el instante t si hasta ese instante de tiempo ha recibido en la entrada un numero par de unos (considerando la entrada que no contiene ningún 1 como numero par de unos), y genera una i en la salida si hasta ese instante ha recibido un numero impar de unos en la entrada. M1 = ({0,1}, {p,i}, {q0, q1}, f,g) Donde: f(ME) esta dada por: g(ME) dada por: f(q0, 0) = q0 g(q0, 0) =p f(q0, 1) = q1 g(q0, 1) =i f(q1, 0) = q1 g(q1, 0) =i f(q1, 1) = q0 g(q1, 1) =p


MÁQUINA FINITA DE MEALY (ME) 

El comportamiento de las Maquinas Secuénciales es el siguiente: la maquina dispone de un conjunto de estados que modelizan los diferentes momentos en los que puede estar a la hora de resolver un problema. En este caso, hay dos estados, q0 que simboliza el estado en el que hasta ese instante, se han leído un número par de unos en la entrada, y q1, que representa el hecho de que se han leído un número impar de unos en la entrada. La función f permite transitar de un estado a otro en cuanto lee un 1 en la entrada (porque hay cambio de par a impar o viceversa), y transita al mismo estado en el que se encuentre (no cambia de estado) si lee un 0, ya que no cambia la salida (de par a impar o viceversa). La función g genera la salida correspondiente a ese instante. En este caso, si esta en el estado q0 y lee un 0 sigue habiendo leído un numero par de unos en la entrada con lo que generara una p en la salida. Esto es debido a que, si esta en el estado q0 es porque hasta el momento de leer el siguiente digito de la entrada, había leído un número par de unos y si ahora lee un 0, el número de unos leídos en la entrada no cambia y, por lo tanto, seguirá siendo par. Así se razona con el resto de las salidas que genera la función g


MÁQUINA FINITA DE MOORE (MO) 

Definición: Es una definición alternativa de Máquina Secuencial en la que la función g sólo depende del estado en el que se esté. La definición viene dada por: MO = ( E, s, Q, f, g) Nota: La única diferencia con respecto a la definición de Mealy es que la función de salida g se define como: g: Q → s Comentario: la diferencia fundamental entre estos dos tipos de Máquinas Secuenciales es que las máquinas de Mealy suponen velocidad de proceso infinita, ya que estas máquinas generan una salida inmediatamente después de recibir la entrada, y por el contrario las de Moore suponen una velocidad finita, ya que las respuestas sólo dependen del estado en el que se encuentra la máquina después de realizar cada transición.


MÁQUINA FINITA DE MOORE (MO) 

Ejemplo: Una maquina de Moore que realiza la misma labor que la M1 definida anteriormente, seria: M2 = ({0,1}, {p,i},{q0,qi},f,g) Donde: f(q0,0) = q0 g(q0) = p f(q0,1) = q1 g(q1) = i f(q1,0) = q1 f(q1,1) = q0 En el caso de las maquinas de Moore, generan en la salida el correspondiente símbolo del estado en el que estén después de realizar cada transición. Siempre que este en el estado q0 genera una p en la salida, y siempre que este en el estado q1 genera una i en la salida.


REPRESENTACIÓN DE LAS MS

Básicamente existen tres formas equivalentes de representar una maquina secuencial Tabla de Transición y Salida: Se Crea una matriz Bidimensional de Q X para representar la función f , tanto para la maquina de Mealy como para la maquina de Moore, como se muestra a continuación: ∑E Q

e1

………..

em

q1

qi

………

qj

………..

qn

………

……….

qk

………

………

qI


REPRESENTACIÓN DE LAS MS 

En las filas se colocan los estados de Q, en las columnas los Símbolos del alfabeto E, en la posición estado actual símbolo de entrada (q,e), se coloca el resultado de f(q, e). En caso de la función de salida g, para la maquina de Mealy se construye una matriz bidimensional similar a la de la función f, diferenciándose en que para cada par estado, símbolo de estrada(q,e), se le asocia una salida “s” de g(q,e). En el caso de la maquina de Moore las dependen exclusivamente del estado donde se este en un momento dado. A continuación se muestra las tablas de salida para las maquinas de Mealy y de Moore respectivamente:


REPRESENTACIÓN DE LAS MS ∑E Q

e1

………. .

em

q1

si

………

sj

………. . qn

………

……….

sk

………

……… sI

∑E Q

e1

q1

si

………. . qn

………

sk


REPRESENTACIÓN DE LAS MS 

Diagrama de Transición: Son representaciones graficas de las maquinas secuenciales, a continuación se presentan la forma de construcción asociada a los casos de maquinas secuenciales presentados. Maquina de Mealy: Se crea un grafo dirigido en el que 

Para cada estado q Q se crea un nodo, y

- Para cada transición f(q,e)=q y g(q,e)=S, se crea un arco de q a q etiquetado con e/ S. Maquina de Moore: Se crea un grafo dirigido en el que - Para cada estado de q Q , si g(q)=S, se crea un nodo etiquetado q/ S, y  Para cada transición f(q,e)=q , se crea un arco de q a q etiquetado con e.


DIAGRAMAS DE TRANSICION PARA LAS M.S


EXTENSION A PALABRAS DE LA ENTRADA Y SALIDA Por medio de la extensión de las definiciones anteriores se puede tratar una secuencia de entrada para una cadena dada y generar la salida respectiva, en lugar de tratar uno a uno los símbolos de una cadena de entrada para generar uno a uno los símbolos de la salida asociada a esta. 

Extensión de Mealy: La función de transición f se redefine como: f : Q x * -------- Q


EXTENSION A PALABRAS DE LA ENTRADA Y SALIDA Además; f (q,.ax) = f(fq,a),x) para cada q Q, a f (q, ) = q para cada q Q

,x

*

Donde es la palabra vacío, para una palabra formada por varios símbolos, el estado al que transita la Máquina Secuencial es el correspondiente a transitar con cada uno de los símbolos.


EXTENSION A PALABRAS DE LA ENTRADA Y SALIDA La función de salida g, se redefine como:

g: Q x E* → s* y, a las salidas anteriores, se le añaden las siguientes salidas correspondientes a palabras de longitud cero o mayor que uno: g(q, ax) = g(q,a) . g(f(q,a),x) para cada q Q, a E, x E* g(q, ) = para cada q Q La salida que se genera es la correspondiente a concatenar la salida producida con cada uno de los símbolos de la entrada y sus transiciones.


EXTENSION A PALABRAS DE LA ENTRADA Y SALIDA Extensión de Moore: Se define f y g de la misma forma que para las Máquinas de Mealy f: Q x * → Q g: Q → s Pero se añade una nueva función de salida de palabra g’ definida como: G’: Q x * → *s


EXTENSION A PALABRAS DE LA ENTRADA Y SALIDA También se cumplen las siguientes igualdades:  

 

f (q, ax) = f(f(q ,a),x) ( q Q, a f (q, ) = q( q Q) g’(q, ax) = g(q) . g’(f(q,a),x), ( q g’(q, ) = ( q Q)

E, x

Q, a

*E)

E, x

*E)

Donde, a la hora de calcular la función de salida g’, de una palabra se utiliza la función de salida g, de un único símbolo.


FUNCIÓN RESPUESTA DE UNA MÁQUINA SECUENCIAL A partir de las funciones de salida y con el objetivo de unificar los dos tipos de Máquinas secuenciales, se define una función respuesta, h, de la siguiente forma:

g(q, x) si es de Mealy q

Q, x

* , h(q, x) =

g’(q, x) si es de Moore


FUNCIÓN RESPUESTA DE UNA MÁQUINA SECUENCIAL

 

Dada esa nueva función, en cada Máquina Secuencial se cumplen los siguientes teoremas: q Q, x *E, |h (q, x)| = |x| q Q, x, y *E, f (q, xy) = f (f (q,x),y) q Q, x, y *, h(q,xy) = h(q,x). H(f (q, x),y)


GRACIAS POR SU ATENCION


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.