Modelos y Simulación · Tema 08

Variables de estado

Lo mínimo que describe la situación del sistema en cada instante y permite continuar la historia.

01 · Punto de partida

Pausar el sistema y poder seguir

Si congelamos una simulación a mitad de camino y queremos retomarla mañana, ¿qué datos necesitamos guardar? La respuesta es el estado: el conjunto mínimo de variables que describe la situación actual y permite calcular el futuro sin conocer el pasado.

  • ¿Con qué datos mínimos retomo la corrida?
  • ¿Qué es memoria del sistema y qué es decoración?
  • ¿Qué cambia el estado en cada paso?
  • ¿Dos estados iguales garantizan futuros iguales?

02 · Definición

Estado, transición e historia

s

Estado

La foto mínima y suficiente: nivel del tanque, cola actual, stock disponible.

→

Transición

La regla que lleva al próximo estado: sumar entradas, restar salidas, respetar topes.

∿

Historia

La película: la secuencia de estados paso a paso que genera la simulación.

Estados en sistemas conocidos.
SistemaEstadoNo es estado (derivado)
Tanquenivel actualpromedio de la semana
Colacola actual, atendidosespera máxima histórica
Inventariostock actualventas acumuladas (se derivan)
Cuenta bancariasaldo actualtotal depositado alguna vez

03 · La prueba de la pausa

Mínimo y completo

  1. 1
    Pausá y guardá solo el candidato.

    Anotá las variables propuestas y descartá todo lo demás.

  2. 2
    Retomá sin mirar el pasado.

    Con esos datos y las entradas futuras, ¿la corrida sigue idéntica?

  3. 3
    Podá lo redundante.

    Si una variable se calcula desde otras, no es estado: es salida derivada.

Es estado

Memoria necesaria

Sin ella el futuro cambia: el nivel, la cola, el stock. Se guarda y se actualiza.

No es estado

Dato derivado

Se recalcula desde el estado: promedios, máximos históricos, acumulados informativos.

04 · En el código

Estado como dato, transición como función

Estado
Un valor o estructura pequeña: número, tupla o diccionario con lo mínimo.
Transición pura
Función sin sorpresas: nuevo = transicion(estado, entradas).
Historia
Lista de estados: lo que se grafica y se analiza.
Condición inicial
El estado en t = 0, tema del próximo capítulo de ingredientes (Tema 10).

05 · En Python

Transiciones que se pueden retomar

Python en tu navegador. Fijate que las funciones solo usan el estado y las entradas: nunca miran la historia.

def transicion(nivel, entrada, salida):
    # Estado: nivel. Entradas del paso: caudales.
    return max(nivel + entrada - salida, 0)


estado = 10
for t in range(1, 6):
    estado = transicion(estado, 3, 2)
    print("t =", t, "estado =", estado)

Estados compuestos

Cuando hay más de una memoria, el estado es una tupla o diccionario y la transición devuelve uno nuevo completo.

def paso_cola(estado, llegan, atienden):
    cola, atendidos = estado
    cola = cola + llegan
    turno = min(cola, atienden)
    return (cola - turno, atendidos + turno)


print(paso_cola((0, 0), 3, 2))
print(paso_cola((1, 2), 0, 2))

06 · Exploración

Laboratorio: inspector de estados

La curva es la historia del nivel en 12 pasos. Movete el paso inspeccionado: el panel muestra el estado en ese instante, de dónde viene y a dónde va.

EXPERIMENTO 08

La historia, instante por instante

12 pasos · estado inspeccionado

Los resultados numéricos aparecen debajo.
Estado en t16,00
Estado anterior15,00
Cambio del paso+1,00
Próximo estado17,00

En t=6 el estado es 16: vino de 15 y va hacia 17.

El punto naranja es el estado inspeccionado; alcanza con ese número (más las entradas) para continuar la historia.

Preguntas para explorar

  1. En t=0, ¿alcanza el estado inicial para predecir t=1? ¿Qué más hace falta?
  2. Con entrada igual a la salida, recorré los pasos: ¿qué tienen en común todos los estados?
  3. Si guardás solo el promedio de la historia, ¿podés retomar la corrida? ¿Por qué?
Ver respuestas sugeridas
  1. No: falta la entrada del paso (y la regla). Estado inicial + entradas sí alcanzan.
  2. Que son todos iguales: el sistema está en equilibrio y el estado se repite.
  3. No: el promedio no permite continuar la corrida; el nivel (estado mínimo) sí.

07 · Comprensión

Confusiones frecuentes

«El historial completo es el estado»

La historia es el resultado; el estado es el resumen mínimo que permite seguir. Guardar todo es caro e innecesario.

«Todo lo que cambia es estado»

Solo lo necesario para continuar. Un contador decorativo o un promedio informativo cambian pero no son estado.

«El estado incluye las entradas»

Las entradas son el escenario del paso, no memoria del sistema. La transición las combina con el estado.

«Dos estados iguales implican mismo futuro con azar»

Con azar, el futuro se sortea: el estado habilita las mismas posibilidades, no el mismo destino.

08 · Práctica guiada

Ejercicios con Python

Ejercicio 1: retomar a mitad de camino

Simulá 3 pasos, guardá el estado y retomá otros 3 sin recomenzar. Compará con la corrida completa de 6.

def transicion(nivel, entrada, salida):
    return max(nivel + entrada - salida, 0)


e = 10
for t in range(3):
    e = transicion(e, 3, 2)
print("pausa en:", e)
for t in range(3):
    e = transicion(e, 3, 2)
print("retomada:", e)
Ver solución razonada

La pausa deja 13 y la retomada llega a 16, igual que 6 pasos de corrido. El estado 13 resume todo el pasado relevante.

Ejercicio 2: detectar lo que sobra

Este «estado» trae un dato de más. ¿Cuál y por qué?

estado = {"nivel": 14, "promedio": 12.5, "paso": 6}
print("nivel" in estado, "promedio" in estado)
Ver solución

Sobra promedio: se deriva de la historia y no hace falta para continuar. nivel (y el contador de paso, si el escenario depende de t) sí son estado.

Ejercicio 3: estado compuesto

Avanzá dos pasos la cola desde (0, 0) con llegadas 3 y 1, atención 2. ¿Estado final?

Ver una posible respuesta
def paso_cola(estado, llegan, atienden):
    cola, atendidos = estado
    cola = cola + llegan
    turno = min(cola, atienden)
    return (cola - turno, atendidos + turno)


e = (0, 0)
e = paso_cola(e, 3, 2)
e = paso_cola(e, 1, 2)
print(e)

El estado final es (0, 4): cola vacía y 4 atendidos. Con esa tupla alcanza para seguir; nada más hace falta.

09 · Síntesis

Ideas para recordar

  • El estado resume el pasado relevante para continuar la historia.
  • La transición combina estado y entradas: estado(t+1) = f(estado(t), entradas).
  • Lo derivable no es estado: promedios y máximos se recalculan.
  • En código, el estado es dato mínimo y la transición, función pura.
  • Con azar, el estado habilita futuros posibles, no un destino único.

En el próximo tema conectaremos el modelo con el mundo: entradas y salidas de un modelo.