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 CONTINUO CON NTINUO Sistemas Continuos o Analgicos g DISCRETO Sistemas de Eventos Discretos Asncronos

Eventos discretos

TIEMPO

DISCRE ETO

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 ti tipo 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

I Q

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 t transicin 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 Modelo MEALY Q = {q0,q1} donde
q0 0 estado t d d de no acarreo q1 estado de acarreo
0 1 1 0 0 0 1 1 1 1

x1

+
x2

1 1 0 1 1

Funcin de transicin de estado:


(q0,11) = q1 (q1,00) = q0 (q0,00/01/10) = q0 (q1,10/01/11) = q1

Funcin de salida:
(q0,00/11) = 0 (q1,00/11) = 1 (q0,01/10) = 1 (q1,01/10) = 0

Mquinas de estados finitas 7

CONCEPTO DE AUTMATA. MODELOS


Modelo MOORE Q = {q {q00,q01,q10,q11} q q q } donde
q00 estado de no acarreo con salida y=0 q q01 estado de no acarreo con salida y y=1 q10 estado de acarreo con salida y=0 q11 estado de acarreo con salida y=1 y 1
0 1 1 0 0 0 1 1 1 1

x1

+
x 2

1 1 0 1 1

Funcin de transicin de estado:


(q00/q01 ,00) 00) = q00 (q10/q11 ,00) = q01 (q00/q01 ,11) 11) = q10 (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

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 Modelo MEALY Modelo MOORE

qT
q0 q1

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

qT
q00 q01 q10 q11

qT +T

00 q00 q00 q01 q01

01 q01 q01 q10 q10

11 q10 q10 q11 q11

10 q01 q01 q10 q10

O 0 1 0 1

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

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 11/1 11/0 01,10/1 q0 00/1 q1 01,10/0

Modelo M d l MEALY

SUMADOR EN SERIE DE 1 BIT


00 q00 /0 11 q10 /0 10 01 10,01

0 00

01,10 0

Modelo MOORE

01,10

q01 /1

0 01,10

00 11
00

q11/1

11 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 ...111011011
10101 una sola secuencia

Rec.(101)
0/0 1/0

y ...001001000
1/0 0/0 1/0 10 1/1 101

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

NADA
Cadena no encontrada Cadena encontrada

1 0/0

0/0

Estados:

NADA 1 10 101

nada reconocido subcadena 1 reconocida subcadena 10 reconocida 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 0/0 1/0 10 1/1 101

NADA

1 0/0 1/1 0/0

x=0 Qn Q1 Q10 Q101


1 0 1

x=1 Q1/0 Q101/1 Q1/0

Qn/0 Qn/0 Qn/0

Q10/0 Q1/0

Conversin a Mquina de Moore


x=0 Qn Q1 Q10 Q101 Qn Q10 Qn Qn x=1 y Q1 Q1 Q1 0 0 1

Control secuencial Mquinas Sncronas

0 1

NADA/0

1/0

10/0

101/1

0 0
No hay estados equivalentes

Q101 0

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

MEALY o MOORE?

q5

q6

q7

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 (1) (qi,e) (qi e) = (qj,e) (qj e) e I en el dominio de especificacin (2) (qi) = (qj) en el dominio de especificacin 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 10 q2 q2 q X X X q7 q7 S 1 1 1 1 0 0 0
Condiciones de retencin del estado?

Transitiva?

q1 q2 q q3 q4 q5 q6 q7

Mquinas de estados finitas 15

REDUCCIN DE AUTMATAS
GRAFO DE COMPATIBILIDAD

Algoritmo

Algoritmo para reduccin 1)Construir el grafo de compatibilidad binaria 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 q7 q3

C1
q1 q2

C2

q6 Anlisis de complejidad

C3
q5

q4

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)

C1 C2 C3

00 C1 C1 C1

01 C3 C2 C3

11 X C2 C3

10 C2 C2 C3

S 1 1 0

01,11,10 00 01

00,11 10 00

01,11,10
Mealy/Moore?

C3/0

C1/1

C2/1

Mquinas de estados finitas 17

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

Entradas de nivel
Lectura asncrona

apagado

Las entradas se leen conforme se vayan necesitando en el control (ciclo de tratamiento)

Aleatoriedades / Transitorios
Se leen todas las entradas a la vez M Memoria i I Imagen

Lectura L t sncrona

Mquinas de estados finitas 18

IMPLEMENTACIN-SALIDAS
Impulsionales p

er/set( oj) qi

em/clear( oj)

Asociadas a cambios de estados / Modelo MEALY

De nivel o mantenidas
Asociadas a estados / Modelo MOORE

es/set( oj) er qi/ oj es en em

en/clear( oj)

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

Mquinas de estados finitas 19

IMPLEMENTACIN
Ejemplo: Detector sentido contrario
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?

01,11,10 00 01

00,11 10 00

01,11,10

C3/0

C1/1

C2/1

CDIGO NO ESTRUCTURADO Difcil puesta a punto y mantenimiento

Tipo de Entradas?

Mquinas de estados finitas 20

IMPLEMENTACIN
Ciclo de tratamiento Ej.: j Deteccin sentido contrario
MOORE Entradas nivel sncronas S Salidas lid asncronas
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 ; }

; ;

Salidas sncronas?

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

0 1

1 0

1 1
101/1

NADA/0

1/0

10/0

0 0

Salida
0 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