Está en la página 1de 23

Mquinas de estados finitas 1

MQUINAS DE ESTADOS
FINITAS

Mquinas de estados finitas 2

INTRODUCCIN
Evento discreto: ocurrencia de una caracterstica en la evolucin de una
seal (flanco de subida, paso por un cierto nivel, pulso, llegada de un
dato ).
dato,
)

ESTADO

CON
NTINUO

TIEMPO

Eventos discretos

DISCRETO

Sistemas
Continuos
o Analgicos
g

Sistemas de
Eventos Discretos
Asncronos

DISCRE
ETO

CONTINUO

Sistemas de
Tiempo Discreto
o Muestreados

Sistemas de
Eventos Discretos
Sncronos

Mquinas de estados finitas 3

INTRODUCCIN
Sistemas de eventos discretos: sistemas dinmicos que cambian de
estado ante la ocurrencia de eventos discretos. Generalmente el estado
slo puede adquirir un conjunto discreto de valores y puede ser
representado de forma simblica en vez de numrica.
Ejemplo:

encendida

accionamiento
interruptor

accionamiento
interruptor
apagada

Tiempo contnuo (sistemas asncronos)


El estado del sistema puede cambiar en cualquier instante ante la llegada
de un evento. Ej.: accionamiento del interruptor.

Tiempo discreto (sistemas sncronos)


El estado del sistema slo cambia cada T sg en funcin del estado y
presentes en esos instantes de tiempo.
p Evento: seal de reloj.
j
entradas p
Ej.: intermitente.
O bien con un evento de sincronizacin -> validacin

Mquinas de estados finitas 4

CONCEPTO DE AUTMATA. MODELOS


Modelo de MEALY
Mquina
M
i de
d MEALY:
MEALY Una
U mquina
i secuencial
i ld
de titipo
MEALY es una 5-tupla M=(Q,I,O,,) donde:
Q es un conjunto finito de estados
I es un conjunto finito de entradas (smbolos de )
O es un conjunto finito de salidas (smbolos de )
: QxI Q es la funcin de transicin de estado
: QxI O es la funcin de salida

O
COMBINACIONAL

Mquinas de estados finitas 5

CONCEPTO DE AUTMATA. MODELOS


Modelo MOORE
Mquina de MOORE: Una mquina secuencial de tipo
MOORE es una 5-tupla M=(Q,I,O,,) donde:
Q es un conjunto finito de estados
I es un conjunto finito de entradas (smbolos de )
O es un conjunto finito de salidas (smbolos de )
: QxI
Q I Q es la
l funcin
f
i d
de ttransicin
i i d
de estado
t d
: Q O es la funcin de salida

I
COMBINACIONAL

Mquinas de estados finitas 6

CONCEPTO DE AUTMATA. MODELOS


Ejemplo: Sumador binario serie de 1 bit
Dos entradas binarias x1 y x2
Una salida binaria y

0 1 1 1 1

x1

Modelo MEALY

Q = {q0,q1} donde
q0
0 estado
t d d
de no acarreo

0 1 1 0 0

q1 estado de acarreo

Funcin de transicin de estado:


(q0,11) = q1

(q0,00/01/10) = q0

(q1,00) = q0

(q1,10/01/11) = q1

Funcin de salida:
(q0,00/11) = 0

(q0,01/10) = 1

(q1,00/11) = 1

(q1,01/10) = 0

x2

1 1 0 1 1

Mquinas de estados finitas 7

CONCEPTO DE AUTMATA. MODELOS


Modelo MOORE
Q = {q
{q00,q01,q10,q11}
q q q } donde

0 1 1 1 1

q00 estado de no acarreo con salida y=0

x1

q
q01 estado de no acarreo con salida yy=1
q10 estado de acarreo con salida y=0
q11 estado de acarreo con salida y=1
y 1

Funcin de transicin de estado:


(q00/q01 ,00)
00) = q00

(q00/q01 ,11)
11) = q10

(q10/q11 ,00) = q01

(q10/q11 ,11) = q11

(q00/q01 ,01/10)
01/10) = q01 (q10/q11,01/10)
(q10/q11 01/10) = q10

Funcin de salida:
(q00/q10)
(
/
)=0

(q01/q11)
(
/
)=1

0 1 1 0 0

x2

1 1 0 1 1

Mquinas de estados finitas 8

REPRESENTACIN Y MODELADO
Tabla de transicin
Representacin
p
tabular de las funciones de transicin de estado y
salida
SUMADOR EN SERIE DE 1 BIT

qT
q0
q1

Modelo MEALY

00 01 11 10
q0,0 q0,1 q1,0 q0,1
q0,1 q1,0 q1,1 q1,0

qT +T

qT
q00
q01
q10
q11

Modelo MOORE

00
q00
q00
q01
q01

01
q01
q01
q10
q10

11
q10
q10
q11
q11

qT +T
Diseo: La salida se computa a partir
del estado actual y las entradas

10
q01
q01
q10
q10

O
0
1
0
1

Mquinas de estados finitas 9

REPRESENTACIN Y MODELADO
Diagrama de transicin
Grafo cuyos
y nodos representan
p
estados y los arcos cambios de
estado.
00/0

Modelo
M d l MEALY

11/1
11/0

01,10/1

q0

q1

01,10/0

00/1

SUMADOR EN SERIE
DE 1 BIT

00

01,10
0

000

10 01
10,01

11

q01 /1

q10 /0

00

01,10

0
01,10

Modelo MOORE

11

q00 /0

11

00

q11/1

11

Mquinas de estados finitas 10

REDUCCIN DE AUTOMATAS
Autmatas completamente especificados
Una vez construido un modelo:
Es posible reducir el nmero de estados?

coste de implementacin/ejecucin
p
j

manejabilidad del modelo

RELACION DE
EQUIVALENCIA

Estados equivalentes: Dado un autmata de estados


finitos A=(Q,I,O,,), dos estados qi, qj Q se dicen
equivalentes
q
(q
(qi,e)
, ) = (qj,
(qj,e)) e I y (q
(qi)) =(qj)
(qj).
(MEALY (qi,e) = (qj,e) e I)
Dos estados equivalentes son INDISTINGUIBLES
El comportamiento del autmata a partir de cualquiera de los dos
estados es el mismo.

Mquinas de estados finitas 11

REDUCCIN DE AUTMATAS
Reconocedor de cadenas 101
x

0/0

I: x={0
x={0,1}
1}

...001001000
1/0

O: y={0,1}
NADA

1/0

1/0
0/0

10

1/1

101

0/0

Cadena
encontrada

Estados:

Rec.(101)

...111011011

Cadena no
encontrada

10101 una sola secuencia

0/0

NADA

nada reconocido

subcadena 1 reconocida

10

subcadena 10 reconocida

101

cadena 101 reconocida

Mealy/Moore?
Anlisis
computacional

Mquinas de estados finitas 12

REDUCCIN DE AUTMATAS
Identificacin de estados equivalentes
0/0

1/0
1/0

NADA

1/0
0/0

10

1/1

101

x=0

x=1

Qn

Qn/0

Q1/0

Q1

Q10/0 Q1/0

Q10

Qn/0

Q101/1

Q101

Qn/0

Q1/0

0/0
1/1
0/0

Conversin a Mquina de Moore


x=0

Control secuencial
Mquinas Sncronas

x=1 y

Qn

Qn

Q1

Q1

Q10

Q1

Q10

Qn

Q101 0

Q101

Qn

Q1

NADA/0

1/0

10/0

0
0
No hay estados equivalentes

101/1

Mquinas de estados finitas 13

REDUCCIN DE AUTMATAS
Autmatas incompletamente especificados
Ejemplo:
j p Detector de coches en sentido contrario
Especificar un sistema que permita detectar vehculos que circulan en
direccin contraria por una autova. Dicho sistema tendr dos entradas e1
y e2 que sern las seales de dos clulas fotoelctricas situadas a una
distancia menor que la longitud del vehculo y la separacin entre
vehculos.
e2

e1

q1

q2

q3

q4

q5

q6

q7

MEALY o MOORE?

Mquinas de estados finitas 14

REDUCCIN DE AUTMATAS
Estados compatibles: Dado un autmata de
estados finitos A=(Q,I,O,,) incompletamente
especificado,
ifi d se dice
di que d
dos estados
t d
qi, qj Q son compatibles qi ~ qj

Transitiva?

(1) (qi,e)
(qi e) = (qj,e)
(qj e) e I en el dominio
de especificacin
(2) (qi) = (qj) en el dominio de
especificacin

q1
q2
q
q3
q4
q5
q6
q7

00
q1
X
X
q1
X
X
q1

01
q5
X
q4
q4
q5
X
X

11
X
q3
q
q3
X
q6
q6
X

Condiciones de
retencin del
estado?

10
q2
q2
q
X
X
X
q7
q7

S
1
1
1
1
0
0
0

Mquinas de estados finitas 15

REDUCCIN DE AUTMATAS

Algoritmo

GRAFO DE COMPATIBILIDAD

Algoritmo para reduccin


1)Construir el grafo de
compatibilidad binaria

C2

C1
q1

2)Encontrar el mayor subgrafo


completo S en el grafo (estados
compatibles)
3)Borrar S y volver al paso 2
hasta que todos los vrtices
estn agrupados

q2

q7
q3

q6
Anlisis de
complejidad

C3

q4
q5

Mquinas de estados finitas 16

REDUCCIN DE AUTMATAS
Reduccin de estados
q1 -> C1

(sistema en reposo)

q2,q3,q4 -> C2 (coche en sentido permitido)


q5,q6,q7 -> C3 (coche en sentido contrario)

00
C1
C1
C1

C1
C2
C3

01,11,10

C3/0

01
C3
C2
C3

11
X
C2
C3

00,11
00
01

C1/1

10
C2
C2
C3

S
1
1
0

01,11,10
10
00

Mealy/Moore?

C2/1

Mquinas de estados finitas 17

IMPLEMENTACIN-ENTRADAS
Eventos -> espera a su llegada para que evolucione el sistema
Muestreo

apagado

encendido

Interrupcin
encendido

Entradas de nivel

apagado

Lectura asncrona

Las entradas se leen conforme se vayan


necesitando en el control (ciclo de tratamiento)

Aleatoriedades / Transitorios

Lectura
L t
sncrona

Se leen todas las entradas a la vez

M
Memoria
i IImagen

Mquinas de estados finitas 18

IMPLEMENTACIN-SALIDAS
em/clear( oj)

er/set( oj)

Impulsionales
p

Asociadas a cambios de estados / Modelo MEALY

De nivel o mantenidas

es/set( oj)

Asociadas a estados / Modelo MOORE

er

em
qi/ oj

es
Generacin
En el instante en que se calculan (asncrona)
Todas al final del tratamiento (sncrona)

en

qi
en/clear( oj)

Mquinas de estados finitas 19

IMPLEMENTACIN
Ejemplo: Detector sentido contrario

01,11,10

C3/0

00,11
00
01

C1/1

01,11,10
10

C2/1

00

CDIGO NO ESTRUCTURADO
Difcil puesta a punto y
mantenimiento

Tipo de Entradas?

void main (void) {


//...
C1:
Genera (NO_ALARMA) ;
Entrada = Leer_Entrada () ;
if (Entrada == I01) goto C3 ;
if (Entrada == I10) g
goto C2 ;
goto C1 ;
C2:
Genera (NO_ALARMA) ;
Entrada = Leer_Entrada () ;
if (Entrada == I00) goto C1 ;
goto C2 ;
C3:
Genera (ALARMA) ;
Entrada = Leer_Entrada () ;
if (Entrada == I00) goto C1 ;
goto C3 ;
//...
return ;
}
Tipo de Salidas?

Mquinas de estados finitas 20

IMPLEMENTACIN
Ciclo de tratamiento
Ej.:
j Deteccin
sentido contrario
MOORE
Entradas nivel
sncronas
S
Salidas
lid
asncronas

Salidas
sncronas?

void main (void)


{
while (1)
{
Entrada = Leer_Entrada
_
() ;
Estado = Sig_Estado ;
switch (Estado)
{
case C1 : Genera (NO_ALARMA)
_
;
switch (Entrada) {
case I01 : Sig_Estado = C3 ; break
case I10 : Sig_Estado = C2 ; break
default : ;}
break ;
case C2 : Genera (NO_ALARMA) ;
if (Entrada == I00) Sig_Estado = C3
break ;
case C3 : Genera (ALARMA) ;
if (Entrada == I00) Sig_Estado = C1
break ;
}
}
return ;
}

;
;

Mquinas de estados finitas 21

IMPLEMENTACIN
Ej: Reconocedor de cadenas

0/0

1/0

void main (void)


{
1/0
0/0
while (1)
NADA
1
10
{
[Espera_Sincronismo ();]
0/0
Entrada
Entrada
d
= Leer_Bit
i ()
();
Sncrona
1/1
switch (Estado)
{
case NADA : if (Entrada==0) {Salida=0; Estado=NADA;}
else
l
if (Entrada==1)
(
d
1) {S
{Salida=0;
lid 0 Estado=E1;}
d
1 }
Mquina de
break ;
Mealy
case E1 :
if (Entrada==0) {Salida=0; Estado=E10;}
else if (Entrada==1) {Salida=0; Estado=E1;}
b
break
k ;
Retencin
case E10 : if (Entrada==0) {Salida=0; Estado=NADA;}
else if (Entrada==1) {Salida=1; Estado=E101;}
break ;
case E101 : if (Entrada==0)
(E t d
0) {Salida=0;
{S lid 0 E
Estado=NADA;}
t d NADA }
else if (Entrada==1) {Salida=0; Estado=E1;}
break ;
Salidas
}
Sincronas
G
Genera
(S lid ) ;
(Salida)
}
return ;
}

Mquinas de estados finitas 22

IMPLEMENTACIN
Reconocedor de cadenas con entrada de validacin

NADA/0

1
1

1/0

1
0

10/0

0
0

Salida
0
1

101/1

void main (void)


{
while (
(1)
)
{
Espera_Sincronismo () ;
Entrada = Leer_Bit () ;
switch (
(Estado)
)
{
case NADA : ...
...
}
Genera (Salida) ;
}
return ;
}

Mquinas de estados finitas 23

FIN

También podría gustarte