Dado cualquier conjunto de valores de estado yi1, ..., yim en ti, el programa calcula los valores únicos yi+11, ..., yi+1m+1, ..., yi+1n en ti+1 especificados por las reglas de interacción. Cuando esto sucede, decimos que el programa puede calcular o simular la transición del modelo de ti a ti+1.
El conjunto {t1, t2, ...} es llamado tiempos computacionales. Son los tiempos del modelo en los cuales el programa puede producir el conjunto de valores de descripción del modelo. Algunas veces estos tiempos son múltiplos sucesivos de algún tiempo h, por lo que ti+1 - ti = h. Esto es llamado una simulación de tiempo discreto. Se supone que las reglas de interacción no dependen del tiempo, sólo de los valores de estado y1, ..., ym. El modelo es llamado invariante en el tiempo.
Imagime que la simulación de un modelo bien definido es llevada
a cabo por un programa que tiene acceso a las variables descriptivas a1,
a2,
a3, ..., an.
Las siguientes propiedades explican el concepto de estado.
2. Repetir una ejecución. Suponga que queremos repetir el cálculo de los valores y'1, ..., y'n en t' dados los valores y1, ..., yn en t, por ejemplo porque perdimos algún resultado de la primera ejecución de la simulación. Las dos ejecuciones pueden ser hechas en diferentes computadoras en diferentes tiempos, y aún así los resultados van a ser los mismos, dados los mismos valores iniciales y1, ..., ym.
3. Interrupción del programa y re-inicio. Suponga que después de calcular los valores y'1, ..., y'n en t' se interrumpe el programa. El programa debe ser capaz de re-iniciar desde el mismo punto en el cual fue detenido, y debe calcular los mismos valores finales. Para esto basta guardar los valores asociados a a1, a2, a3, ..., am en el momento en que se interrumpió el programa.
4. Recuperación del programa. Suponga que ocurre una falla en el computador mientras el programa está siendo ejecutado. Cuando la falla es reparada, se quiere seguir con la simulación, pero se quiere evitar re-inicializar el programa desde el estado inicial. La re-inicialización del programa debería obtener el mismo resultado si ésta se hace desde el inicio o desde el punto en que ocurrió la falla.
2. Inicializar el reloj en tM.
3. Aplicar las reglas de interacción al contenido de las variables de estado actuales para producir los valores correspondientes al siguiente estado. Calcular a partir de las variables de estado el resto de las variables descriptivas.
4. Avanzar el reloj en la unidad de tiempo h especificada en el modelo.
5. Ver si el reloj excedió el tiempo de simulación (tM + Nh). Si excedió el tiempo, termina, si no, vuelve a 3.
Ejemplo:
La siguiente figura muestra el proceso de aplicar el paso 3. Los puntos rojos indican las variables de estado, y los puntos azules las variables descriptivas. A partir de las variables de estado es posible obtener las variables descriptivas para todos los tiempos siguientes.
Podemos decir que f está constituída de dos funciones:
l(y'1, ..., y'm) = (y'1, ..., y'n)
f(y1, ..., ym) = l(d(y1,
..., ym))
d toma el estado en que se encuentra el modelo en el instante actual y produce el estado en el que estará el modelo en el próximo instante de cálculo. d se llama la función de transición de estados, o más corto, la función de transición.
l toma el estado del modelo en un instante dado y produce la descripción total del modelo en ese estado. l se llama función de salida.
En la práctica, podemos estar interesados en observar sólo algunas de las variables descriptivas (no todas), las que se denominan variables de salida. Se puede modificar la función l de modo que produzca los valores de las variables de salida (que son una descripción parcial del modelo en su estado actual).
Formalicemos los estados y las salidas:
Sea VARIABLES el conjunto de variables descriptivas, VARIABLES·ESTADO
el conjunto de las variables de estado, y VARIABLES·SALIDA el conjunto
de variables de salida. Entonces:
Formalmente, se define como:
Formalmente, se define como:
Ejemplo: (caso de los trenes)
Habíamos visto que RAPIDO y EXPRESO (la ubicación de los
trenes) eran un conjunto de variables de estado. El rango de cada una de
estas variables es HITOS. Luego:
También vimos cómo calcular el estado en t+1 dado el estado
en t. Escribamos la función de transición:
d(r,e) = (r + D(e - r), e + D(r - e))
porque r + D(e - r) es la ubicación del rápido en t+1 y e + D(r - e) es la ubicación del expreso en t+1.
Supongamos ahora que elegimos como variables de salida las lecturas
de las señales que pueden hacerse en los hitos L y -L (los extremos
del ferrocarril). Las variables de salida son entonces: