Procesos Estocásticos y Cadenas de Markov · Tema 21

Estados

Dónde puede estar la cadena: etiquetas legibles, índices 0…K−1 y el tamaño que dimensiona P.

01 · Punto de partida

Sin estados no hay cadena

La matriz P (Tema 19) es una tabla de estados × estados. Pero ¿cuáles son? ¿{sol, lluvia}, {0, 1, 2}, {libre, ocupado, caído}? Sin esa lista, P no tiene filas ni columnas.

Los estados son el vocabulario de la cadena: dónde puede estar hoy y a dónde puede ir mañana.

  • ¿Qué valores distinguimos: etiquetas o números?
  • ¿Cuántos hay: K finito o infinitos?
  • ¿Cómo se numeran para la matriz: índice 0…K−1?
  • ¿Falta alguno (rachas, pendientes) o sobra alguno?

02 · Definición

¿Qué es un estado?

Un estado responde tres preguntas:

◈

Valor

Una situación distinguible: sol, cola con 3, modo caído.

#

Índice

Su posición 0…K−1 en S. La fila y columna que le tocan en P.

K

Tamaño

Cuántos hay: K = 2, 6, 50. Dimensiona P en K×K.

En este bloque S es finito (salvo aviso): así P cabe en una tabla y los diagramas se dibujan.

Del problema a la tabla: etiquetas e índices.
SistemaEtiquetas SÍndices
Climasol, lluvia0, 1
Servidorlibre, ocupado, caído0, 1, 2
Cola con tope 50, 1, 2, 3, 4, 50…5 (K = 6)

03 · Anatomía

Etiqueta, índice y granularidad

Cuatro decisiones al definir estados:

Etiqueta
Nombre legible: «sol», «caído». Vive en la lista S para personas.
Índice
Posición 0…K−1 para vectores y P. Vive en el código numérico.
Granularidad
Cuánto detalle: {frío, calor} vs grados. Más estados = más P que estimar.
Completitud
Todo lo que importe debe ser un estado o combinación. Lo que falta rompe Markov.

Pocos estados

Simple

P chica y estimable. Riesgo: olvidar lo relevante (rachas, pendientes).

Muchos estados

Detallado

Más fiel, pero P gigante con datos flacos. Riesgo: sobreajuste.

04 · Ejemplos

Estados bien y mal recortados

El arte está en distinguir lo que cambia las chances:

Sistema→etiquetas S→índices
  1. 1
    Clima: {sol, lluvia}.

    K = 2. Suficiente si solo importa hoy (Tema 20).

  2. 2
    Servidor: {libre, ocupado, caído}.

    K = 3. El caído cambia todo: merece estado propio.

  3. 3
    Cola 0…5.

    K = 6 con bordes 0 y 5. Sin tope sería infinita.

  4. 4
    Racha: {0, 1} no alcanza.

    Hay que guardar (actual, racha): S ampliado de 4.

  5. 5
    Inventario (stock, pedido).

    Producto cartesiano: K = niveles × pendientes.

05 · Representación en Python

S, índice y trayectoria de etiquetas

En Python, los estados son una lista S, el índice un diccionario y la trayectoria puede guardarse en etiquetas o en índices (se convierten).

Python en tu navegador. Estos bloques se ejecutan localmente con Pyodide, sin instalar nada. Agregá un estado y mirá K.

S = ["libre", "ocupado", "caído"]
indice = {s: i for i, s in enumerate(S)}

trayectoria = ["libre", "ocupado", "ocupado", "caído"]
tra_idx = [indice[s] for s in trayectoria]
print("K =", len(S))
print(trayectoria)
print(tra_idx)

La lista en etiquetas es legible y la de índices alimenta la matriz P: la misma historia en dos idiomas.

Viajar en ambas direcciones

Versión limpia del puente etiqueta ↔ índice:

S = ["sol", "lluvia"]
indice = {s: i for i, s in enumerate(S)}

def a_indice(etiqueta):
    return indice[etiqueta]

def a_etiqueta(i):
    return S[i]

print(a_indice("lluvia"), a_etiqueta(0))

06 · Exploración

Laboratorio: pasear por K estados

Caminata en S = {0, …, K−1} con chance q de moverse (±1) y 1−q de quedarse, con reflejo en bordes. Cambiá K: con K chico todo se visita; con K grande la cadena no alcanza a cubrir.

EXPERIMENTO 21

Visitas en K estados

Xₙ ∈ {0, …, K−1} · quedarse o ±1

Los resultados numéricos aparecen debajo.
Estados visitados0 de 6
Más visitados0
% en el top0 %
LecturaCubre

Con K 6, 6 réplicas de 40 pasos cubren casi todo S.

Las líneas grises son los estados; las de colores, 6 historias. Con muchos estados y poca movilidad, el centro manda y los extremos casi no se tocan.

Preguntas para explorar

  1. Con K = 2, ¿cuántos estados hay que estimar en P? ¿Y con K = 12?
  2. Bajá P(moverse) a 0,1. ¿Las trayectorias exploran o se quedan? ¿Qué implica para estimar P?
  3. Si un estado nunca se visita en 240 pasos, ¿es inútil o falta muestra?
Ver respuestas sugeridas
  1. 4 vs 144 parámetros (K²). Doce estados piden muchísimos más datos.
  2. Se quedan quietas: cada fila se estima con pocos saltos. Movilidad baja = estimación lenta.
  3. Probablemente falta muestra (o el inicio está lejos). Más réplicas antes de podar S.

07 · Comprensión

Confusiones frecuentes

«El índice es el estado»

El índice es la posición; el estado es el significado. Cambiar el orden de S cambia P aunque el sistema sea igual.

«Más estados = más Markov»

Más estados ayudan a la memoria pero piden más datos. El punto justo se valida, no se supone.

«Los bordes no son estados»

Sí: 0 y K−1 son estados con regla propia (reflejo, absorción). Sin ellos S queda abierto.

«Etiquetas ordenadas implican cercanía»

No necesariamente: {libre, ocupado, caído} no tiene distancia. El orden de la lista no es física.

08 · Práctica guiada

Ejercicios con Python

Ejercicio 1: construir S y su índice

Ejecutá este S mixto y calculá K. Luego agregá «mantenimiento» y recalculá.

S = ["libre", "ocupado", "caído"]
indice = {s: i for i, s in enumerate(S)}
print("K =", len(S), "| índice caído:", indice["caído"])
Ver solución razonada

K = 3. Con «mantenimiento» pasa a 4 y P crece de 9 a 16 casilleros.

Ejercicio 2: contar parámetros de P

Sin ejecutar primero: ¿cuántos números tiene P con K = 5? ¿Y libres por filas que suman 1?

for K in [2, 5, 10]:
    print(K, K * K, K * (K - 1))
Ver solución

Con K = 5: 25 números, 20 libres. La restricción de filas quita K grados.

Ejercicio 3: detectar estado faltante

Estas visitas muestran que «caído» nunca aparece. ¿Sobran estados o falta muestra? Proponé un chequeo.

Ver una posible respuesta
visitas = {"libre": 120, "ocupado": 110, "caído": 0}
print("total:", sum(visitas.values()))
print("¿ampliar muestra?", visitas["caído"] == 0 and sum(visitas.values()) < 1000)

Con 230 visitas y 0 caídos, puede ser raro pero real (b = 0,01). Antes de podar, simular más o estimar por experto.

09 · Síntesis

Ideas para recordar

  • Estados = valores posibles; S finito dimensiona P en K×K.
  • Etiquetas para personas, índices 0…K−1 para matrices.
  • Cada estado nuevo suma una fila entera a estimar.
  • En Python: una sola lista S + diccionario índice.
  • Si falta memoria, ampliar S antes que abandonar Markov.

En el próximo tema conectaremos esos estados: transiciones.