Procesos Estocásticos y Cadenas de Markov · Tema 29

Clasificación de estados

El mapa del destino a largo plazo: recurrentes, transitorios, absorbentes y clases que no se hablan.

01 · Punto de partida

No todos los estados envejecen igual

Algunos estados vuelven siempre (recurrentes), otros se abandonan para siempre (transitorios) y otros atrapan (absorbentes). Clasificar es predecir el destino sin simular mil años.

Este tema es el mapa; los Temas 30–35 desarrollan cada territorio.

  • ¿Volveré a este estado con chance 1 o puedo perderlo?
  • ¿Hay salida del grupo o es cerrado?
  • ¿Cuántas clases que no se hablan hay?
  • ¿El largo plazo depende de dónde empiezo?

02 · Definición

El mapa en cuatro preguntas

Toda clasificación responde lo mismo:

↻

¿Vuelve?

Recurrente: retorno con chance 1. Transitorio: chance < 1 de volver.

◉

¿Atrapa?

Absorbente: pᵢᵢ = 1. Una vez adentro, nunca afuera.

⫿

¿Se hablan?

Clases que se comunican. Cerrada: sin salida. Abierta: con fuga.

Detalle de cada territorio: recurrentes (30), transitorios (31), absorbentes y cadenas absorbentes (32–33), periodicidad e irreducibilidad (34–35).

Vocabulario mínimo del bloque.
PreguntaRespuestasTema
¿Vuelve seguro?Recurrente / transitorio30–31
¿Atrapa solo?Absorbente / cadena absorbente32–33
¿Cada cuánto vuelve?Período d (aperiódico d = 1)34
¿Todos se hablan?Irreducible / reducible35

03 · Anatomía

Clases: las provincias de la cadena

Cuatro ideas arman el mapa:

Comunicación
i→j y j→i por algún camino (≥ 1 paso). «Se hablan» es equivalencia: parte S en clases.
Clase cerrada
Sin flechas hacia afuera. Una vez adentro, el futuro vive ahí.
Clase abierta
Con fuga a otra clase. Sus estados son transitorios.
Destino
A largo plazo la cadena queda en alguna cerrada. Si hay varias, el inicio decide cuál.

Irreducible

Una sola clase

Todos se hablan. El largo plazo no depende del inicio (salvo período).

Reducible

Varias clases

Hay fugas y destinos rivales. El inicio decide la cerrada final.

04 · Ejemplos

Tres mapas que verás siempre

Los tres laboratorios del bloque en una línea cada uno:

Todo conectado→Fuga + trampa→Dos mundos
  1. A
    Irreducible 0–1–2.

    Todos se hablan: una clase cerrada recurrente. Destino único.

  2. B
    Fuga a trampa.

    {0, 1} abierta → {2} absorbente. Lo transitorio muere, lo recurrente queda.

  3. C
    Dos mundos.

    {0, 1} y {2, 3} cerradas sin puente: el inicio elige mundo.

05 · Representación en Python

Clases por alcanzabilidad en el grafo

En Python, las clases salen del grafo (Tema 22): alcanzables hacia adelante y hacia atrás. Si se alcanzan mutuamente, misma clase; si la clase no tiene salida, cerrada.

Python en tu navegador. Estos bloques se ejecutan localmente con Pyodide, sin instalar nada. Cambiá las flechas y mirá las clases.

grafo = {0: [1], 1: [0, 2], 2: [2]}  # caso B: fuga a trampa

def alcanzables(g, i):
    vistos, pila = set(), [i]
    while pila:
        x = pila.pop()
        if x in vistos:
            continue
        vistos.add(x)
        pila.extend(g.get(x, []))
    return vistos

print("desde 0:", sorted(alcanzables(grafo, 0)))
print("desde 2:", sorted(alcanzables(grafo, 2)))

Desde 0 se llega a 0, 1 y 2; desde 2 solo a 2. Esa asimetría delata la fuga.

Cerrada o con fuga

Una clase es cerrada si ningún miembro apunta afuera:

grafo = {0: [1], 1: [0, 2], 2: [2]}

def cerrada(clase):
    return all(v in clase for i in clase for v in grafo.get(i, []))

print("{0,1} cerrada:", cerrada({0, 1}))
print("{2} cerrada:", cerrada({2}))

06 · Exploración

Laboratorio: tres mapas, tres destinos

Elegí el mapa A, B o C: los nodos se colorean por clase (mismo color = se hablan) y el borde grueso marca cerrada. Simulá 200 pasos desde el estado inicial y mirá dónde termina cada réplica.

EXPERIMENTO 29

Mapa y destino

A irreducible · B fuga+trampa · C dos mundos

Los resultados numéricos aparecen debajo.
Clases2
Cerradas1
Destino final2
LecturaTrampa

Mapa B: {0,1} abierta (naranja) cae a {2} cerrada (verde).

El color agrupa clases; el anillo grueso, cerradas. Las 6 réplicas (ticks finales) muestran el destino según el inicio.

Preguntas para explorar

  1. En B desde 0, ¿dónde terminan las 6 réplicas en 200 pasos? ¿Y en A?
  2. En C desde 0 vs desde 3, ¿el destino es el mismo? ¿Qué decide?
  3. ¿Qué mapa tiene transitorios? ¿Cómo los reconocés en el dibujo?
Ver respuestas sugeridas
  1. En B casi todas en 2 (trampa); en A repartidas en su única clase (destino único compartido).
  2. No: desde 0 queda en {0,1}, desde 3 en {2,3}. Decide el inicio.
  3. B: {0,1} naranja sin anillo (abierta con fuga). Lo abierto es transitorio.

07 · Comprensión

Confusiones frecuentes

«Recurrente = absorbente»

No: absorbente es un recurrente solo (pᵢᵢ = 1). Recurrente incluye ciclos y anillos que vuelven.

«Transitorio = imposible»

No: se visita, a veces mucho, pero con chance < 1 de volver. Se abandona, no se evita.

«Clase = grupo a ojo»

No: es comunicación mutua exacta por caminos. A ojo se confunden puentes de un sentido.

«El destino es único siempre»

Solo si hay una cerrada. Con varias, el inicio elige (mapa C).

08 · Práctica guiada

Ejercicios con Python

Ejercicio 1: leer el mapa B

Con este grafo, ¿desde 1 se llega a 2? ¿Y desde 2 a 1? ¿Qué implica?

grafo = {0: [1], 1: [0, 2], 2: [2]}

def llega(g, a, b):
    vistos, pila = set(), [a]
    while pila:
        x = pila.pop()
        if x == b:
            return True
        if x in vistos:
            continue
        vistos.add(x)
        pila.extend(g.get(x, []))
    return False

print("1->2:", llega(grafo, 1, 2))
print("2->1:", llega(grafo, 2, 1))
Ver solución razonada

True y False: hay fuga 1→2 sin vuelta. {0,1} es abierta (transitoria) y {2} cerrada.

Ejercicio 2: detectar absorbente

Sin ejecutar primero: ¿qué estado de este P es absorbente? Comprobalo por fila.

P = [[0.5, 0.5, 0.0], [0.3, 0.4, 0.3], [0.0, 0.0, 1.0]]
print([i for i, f in enumerate(P) if f[i] == 1.0 and sum(f) == 1.0])
Ver solución

El 2: fila [0, 0, 1]. Los demás tienen salida.

Ejercicio 3: contar clases a mano

Con grafo {0:[1], 1:[0], 2:[3], 3:[2]}, ¿cuántas clases hay y cuáles son cerradas?

Ver una posible respuesta
print("clases: {0,1} y {2,3}, ambas cerradas (sin puente)")

Dos clases cerradas sin puente: el mapa C. Cada mundo vive aparte.

09 · Síntesis

Ideas para recordar

  • Recurrente vuelve seguro; transitorio puede perderse.
  • Absorbente es recurrente solo (pᵢᵢ = 1).
  • Clases = grupos que se hablan; cerrada = sin salida.
  • El largo plazo vive en alguna cerrada.
  • En Python: alcanzables + chequeo de salida.

En el próximo tema profundizaremos los estados recurrentes: los que siempre vuelven.