Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MaquinasEstados - 1011moore Mayli
MaquinasEstados - 1011moore Mayli
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
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
I Q
O
COMBINACIONAL
I
COMBINACIONAL
x1
+
x2
1 1 0 1 1
Funcin de salida:
(q0,00/11) = 0 (q1,00/11) = 1 (q0,01/10) = 1 (q1,01/10) = 0
x1
+
x 2
1 1 0 1 1
Funcin de salida:
(q00/q10) ( / )=0 (q01/q11) ( / )=1
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
qT
q00 q01 q10 q11
qT +T
O 0 1 0 1
qT +T
Diseo: La salida se computa a partir del estado actual y las entradas
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
0 00
01,10 0
Modelo MOORE
01,10
q01 /1
0 01,10
00 11
00
q11/1
11 11
REDUCCIN DE AUTOMATAS
Autmatas completamente especificados Una vez construido un modelo:
Es posible reducir el nmero de estados?
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.
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
NADA
Cadena no encontrada Cadena encontrada
1 0/0
0/0
Estados:
NADA 1 10 101
REDUCCIN DE AUTMATAS
Identificacin de estados equivalentes
0/0 1/0 1/0 0/0 1/0 10 1/1 101
NADA
Q10/0 Q1/0
0 1
NADA/0
1/0
10/0
101/1
0 0
No hay estados equivalentes
Q101 0
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
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
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
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
IMPLEMENTACIN-ENTRADAS
Eventos -> espera a su llegada para que evolucione el sistema
Muestreo Interrupcin
encendido apagado encendido
Entradas de nivel
Lectura asncrona
apagado
Aleatoriedades / Transitorios
Se leen todas las entradas a la vez M Memoria i I Imagen
Lectura L t sncrona
IMPLEMENTACIN-SALIDAS
Impulsionales p
er/set( oj) qi
em/clear( oj)
De nivel o mantenidas
Asociadas a estados / Modelo MOORE
en/clear( oj)
Generacin
En el instante en que se calculan (asncrona) Todas al final del tratamiento (sncrona)
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
Tipo de Entradas?
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?
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 ; }
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 ; }
FIN