Procesos Estocásticos y Cadenas de Markov · Tema 42

Modelado con Markov

Del problema a estados y P: relato, grafo, calibración, validación e indicadores.

01 · Punto de partida

El problema manda, P obedece

«La cola explota al mediodía», «el servidor se cae mucho», «llueve la mitad de los días»: cada frase esconde estados, flechas y chances. Modelar es traducir el relato a S, grafo y P… y validar que la traducción responde la pregunta.

El flujo es siempre: relato → estados → grafo → P → π e indicadores → decisión.

  • ¿Qué pregunta debe responder el modelo?
  • ¿Qué estados distinguen la respuesta?
  • ¿De dónde salen las chances: conteos o experto?
  • ¿El modelo reproduce lo observado?

02 · Definición

El flujo en cinco pasos

Todo proyecto Markov serio pasa por acá:

1

Relato → S

Qué modos importan para la pregunta. Mínimo suficiente.

2

S → grafo

Flechas posibles e imposibles. Estructura antes que números.

3

Grafo → P

Conteos nᵢⱼ/nᵢ o experto. Filas = 1, ceros estructurales.

Los Temas 43–46 aplican este flujo a confiabilidad, inventarios, usuarios y sistemas. Acá se aprende el molde.

El molde con tres sistemas del laboratorio.
SistemaSPregunta
Cola 0–1–2Niveles con tope 2¿P(tope) para ampliar?
Servidor 3 modosLibre, ocupado, caído¿Disponibilidad para SLA?
Clima 2Sol, lluvia¿Días de lluvia al mes?

03 · Anatomía

Calibrar, validar y usar

Cuatro controles antes de decidir:

Calibrar
Conteos por fila (nᵢ ≥ 30 ideal) o experto documentado. Sin datos ni criterio, no hay P.
Verificar
Filas = 1, ceros = grafo, πP = π. Tests mecánicos que siempre pasan.
Validar
π y tiempos vs datos reales: ¿el modelo reproduce fracciones y rachas?
Usar
Indicador = función de π o de tiempos (P(tope), disponibilidad, días lluvia).

Modelo calibrado

Responde la pregunta

S mínimo, P con datos, π validada. Decide con intervalo.

Modelo decorativo

Impresiona sin responder

S gigante, P inventada, sin validación. No decide nada.

04 · Ejemplos

Tres moldes listos para copiar

Los tres sistemas del laboratorio, con su indicador:

Cola→Servidor→Clima
  1. 1
    Cola 0–1–2.

    Presión de llegadas a: P(tope) para decidir sillas.

  2. 2
    Servidor.

    Falla f: disponibilidad 1 − π_caído para SLA.

  3. 3
    Clima.

    Persistencia p: días de lluvia = 30·π₁.

05 · Representación en Python

Del relato al dict validado

En Python, modelar es construir S + P validados y una función indicador(π). El resto (simular, π, tiempos) reutiliza el bloque Markov.

Python en tu navegador. Estos bloques se ejecutan localmente con Pyodide, sin instalar nada. Cambiá la presión y mirá P(tope).

# Molde cola 0-1-2: a = presión de llegadas.
a = 0.4
P = [[1 - a, a, 0.0],
     [0.4, 0.3, 0.3],
     [0.0, 0.5, 0.5]]

def validar(P):
    return all(abs(sum(f) - 1) < 1e-9 for f in P)

print("válida:", validar(P))
print("P(tope|tope):", P[2][2])

Subí a a 0,7: la primera fila empuja al tope. El indicador P(tope) lo confirmará en π.

Indicador desde π iterada

Sin álgebra: iterar πP hasta converger y leer el indicador:

P = [[0.6, 0.4, 0.0],
     [0.4, 0.3, 0.3],
     [0.0, 0.5, 0.5]]
pi = [1/3, 1/3, 1/3]
for _ in range(200):
    pi = [pi[0]*P[0][0] + pi[1]*P[1][0] + pi[2]*P[2][0],
          pi[0]*P[0][1] + pi[1]*P[1][1] + pi[2]*P[2][1],
          pi[0]*P[0][2] + pi[1]*P[1][2] + pi[2]*P[2][2]]
print([round(x, 3) for x in pi], "| P(tope):", round(pi[2], 3))

06 · Exploración

Laboratorio: tres sistemas, un molde

Elegí el sistema y movete su parámetro: cola (presión a), servidor (falla f) o clima (persistencia p). Las barras son π y el número grande el indicador (P(tope), caída, lluvia). Mirá cómo el parámetro empuja el indicador.

EXPERIMENTO 42

Parámetro → π → decisión

S + P(par) → π → indicador

Los resultados numéricos aparecen debajo.
Indicador0,000
Qué esP(tope)
Estados3
LecturaAmpliar

Cola con presión 0,40: P(tope) ≈ 0,20.

Cada sistema tiene su P paramétrica y su indicador. El molde es el mismo: calibrar, iterar π y leer.

Preguntas para explorar

  1. En cola, subí a a 0,9. ¿P(tope) cuánto da? ¿Ampliarías?
  2. En servidor, subí f a 0,9. ¿La caída supera el 20 %?
  3. En clima con p = 0,9, ¿los días de lluvia al mes cuántos dan?
Ver respuestas sugeridas
  1. ≈ 0,5+: sí, el tope se vuelve sala de espera.
  2. Sí, holgado: el caído domina. Revisar mantenimiento.
  3. ≈ 30·π₁ con π₁ alta (≈ 20+): rachas largas.

07 · Comprensión

Confusiones frecuentes

«El modelo es P»

No: es relato + S + grafo + P + validación + indicador. P sola no decide.

«Más estados = más realista»

Más estados = más parámetros flacos. Realista es validado, no grande.

«Calibrar es ajustar hasta que guste»

No: es contar o declarar experto con criterio. Ajustar el indicador es maquillar.

«Validar es simular lindo»

Es contrastar π y tiempos contra datos. Sin contraste no hay modelo.

08 · Práctica guiada

Ejercicios con Python

Ejercicio 1: escribir el molde

Empaquetá un modelo cola con S, P, pregunta e indicador. Validá filas.

modelo = {
    "S": [0, 1, 2],
    "P": [[0.6, 0.4, 0.0], [0.4, 0.3, 0.3], [0.0, 0.5, 0.5]],
    "pregunta": "¿P(tope) para ampliar?",
}
print(modelo["pregunta"], [round(sum(f), 9) for f in modelo["P"]])
Ver solución razonada

El dict documenta S, P y pregunta juntos: el modelo se audita sin correr nada.

Ejercicio 2: indicador desde π

Sin ejecutar primero: con π = [0,5 – 0,3 – 0,2], ¿P(tope)? ¿Disponibilidad si caído es 2?

pi = [0.5, 0.3, 0.2]
print("P(tope):", pi[2], "| disp:", 1 - pi[2])
Ver solución

0,2 y 0,8: el indicador es una lectura de π, no un cálculo nuevo.

Ejercicio 3: sensibilidad rápida

Variá a en [0,2 – 0,5 – 0,8] y observá P(tope) iterando π. ¿Es lineal?

Ver una posible respuesta
def pi_tope(a):
    P = [[1-a, a, 0.0], [0.4, 0.3, 0.3], [0.0, 0.5, 0.5]]
    pi = [1/3, 1/3, 1/3]
    for _ in range(300):
        pi = [sum(pi[i]*P[i][j] for i in range(3)) for j in range(3)]
    return round(pi[2], 3)

print([pi_tope(a) for a in [0.2, 0.5, 0.8]])

No lineal: crece más que proporcional (0,1 – 0,25 – 0,45 aprox.). La sensibilidad se mide, no se supone.

09 · Síntesis

Ideas para recordar

  • Relato → S → grafo → P → π → indicador.
  • S mínimo suficiente; grafo antes que números.
  • Calibrar con conteos, validar contra datos.
  • En Python: dict modelo + π iterada + indicador.
  • Sin validación no hay decisión.

En los próximos temas aplicaremos el molde: confiabilidad, inventarios, usuarios y sistemas.