maquinas de estado finito

22
MAQUINAS DE ESTADOS FINITOS Ing. Edecio R. Freitez

Upload: edecio-freitez

Post on 09-Mar-2016

267 views

Category:

Documents


2 download

DESCRIPTION

Contenidos Educactivo respecto a las maquinas de estado finito

TRANSCRIPT

Page 1: Maquinas  de Estado Finito

MAQUINAS DE ESTADOS FINITOS

Ing. Edecio R. Freitez

Page 2: Maquinas  de Estado Finito

MAQUINA DE ESTADO FINITO. (MEF)

Maquina de Estado Finito. (MEF): Una máquina estadofinito es un modelo abstracto de una máquina con memoriainterna primitiva. Dicha maquina se denota mediante unacolecció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, esdecir; para cualquier entrada x Є I, la función ƒx describe elefecto que tiene esta entrada sobre los estados de la máquina yes la función de transición de estados. Así si la máquina seencuentra en el estado si y ocurre la entrada x, el siguienteestado de la máquina será ƒx(si).

Page 3: Maquinas  de Estado Finito

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 porla siguiente tabla:

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

a b

S0 S0 S1

S1 S2 S0

s2 S1 S2

Page 4: Maquinas  de Estado Finito

MAQUINA DE ESTADO FINITO. (MEF)

ƒa(s0) = s0, ƒa(s1) = s2, ƒa(s2) = s1,ƒb(s0) = 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 desalida, para una palabra de entrada dada. Para lo cualse debe definir un conjunto de estados, que almacenan(memorizan) la parte de la palabra de entrada en cadamomento generando, al mismo tiempo una palabra desalida asociada mientras transitan entre los estados. Acontinuación se presentan dos tipos particulares demaquinas secuenciales:

Maquina Finita de Mealy. Maquina Finita de Moore.

Page 5: Maquinas  de Estado Finito

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

Page 6: Maquinas  de Estado Finito

MÁQUINA FINITA DE MEALY (ME) .

Ejemplo: Dada la siguiente maquina secuencial, que generacomo salida una p en el instante t si hasta ese instante detiempo ha recibido en la entrada un numero par de unos(considerando la entrada que no contiene ningún 1 comonumero par de unos), y genera una i en la salida si hasta eseinstante 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

Page 7: Maquinas  de Estado Finito

MÁQUINA FINITA DE MEALY (ME)

El comportamiento de las Maquinas Secuénciales es el siguiente: lamaquina dispone de un conjunto de estados que modelizan los diferentesmomentos en los que puede estar a la hora de resolver un problema. Eneste caso, hay dos estados, q0 que simboliza el estado en el que hasta eseinstante, se han leído un número par de unos en la entrada, y q1, querepresenta el hecho de que se han leído un número impar de unos en laentrada. La función f permite transitar de un estado a otro en cuanto lee un1 en la entrada (porque hay cambio de par a impar o viceversa), y transita almismo estado en el que se encuentre (no cambia de estado) si lee un 0, yaque no cambia la salida (de par a impar o viceversa). La función g genera lasalida correspondiente a ese instante. En este caso, si esta en el estado q0y lee un 0 sigue habiendo leído un numero par de unos en la entrada con loque generara una p en la salida. Esto es debido a que, si esta en el estadoq0 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 unosleídos en la entrada no cambia y, por lo tanto, seguirá siendo par. Así serazona con el resto de las salidas que genera la función g

Page 8: Maquinas  de Estado Finito

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.

Page 9: Maquinas  de Estado Finito

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.

Page 10: Maquinas  de Estado Finito

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

Page 11: Maquinas  de Estado Finito

REPRESENTACIÓN DE LAS MS

En las filas se colocan los estados de Q, en las columnas losSímbolos del alfabeto E, en la posición estado actualsí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 Mealyse construye una matriz bidimensional similar a la de lafunció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 dependenexclusivamente del estado donde se este en un momentodado. A continuación se muestra las tablas de salida paralas maquinas de Mealy y de Moore respectivamente:

Page 12: Maquinas  de Estado Finito

REPRESENTACIÓN DE LAS MS

∑E

Q e1 ……….

.

em

q1 si ……… sj

……….

.

……… ………. ………

qn sk ……… sI

∑E

Q e1

q1 si

……….

.

………

qn sk

Page 13: Maquinas  de Estado Finito

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.

Page 14: Maquinas  de Estado Finito

DIAGRAMAS DE TRANSICION PARA LAS MS

Page 15: Maquinas  de Estado Finito

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

Page 16: Maquinas  de Estado Finito

EXTENSION A PALABRAS DE LA ENTRADA Y

SALIDA

Además;

f (q,.ax) = f(fq,a),x) para cada q Q, a , x *

f (q, ) = q para cada q Q

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

Page 17: Maquinas  de Estado Finito

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.

Page 18: Maquinas  de Estado Finito

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

Page 19: Maquinas  de Estado Finito

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 E, x *E)

f (q, ) = q( q Q)

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

g’(q, ) = ( q Q)

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.

Page 20: Maquinas  de Estado Finito

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

Page 21: Maquinas  de Estado Finito

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)

Page 22: Maquinas  de Estado Finito

GRACIAS POR SU ATENCION