Procesos Estocásticos y Cadenas de Markov · Tema 33

Cadenas absorbentes

Cadenas que terminan atrapadas: forma canónica, matriz fundamental N y tiempos medios.

01 · Punto de partida

Del estado trampa a la cadena trampa

Un absorbente solo (Tema 32) es un estado; una cadena absorbente es un sistema que termina en trampas: tiene absorbentes y desde todo lo transitorio se llega a alguno.

La maquinaria es la forma canónica [Q R; 0 I] y la matriz fundamental N = (I−Q)⁻¹: visitas medias y tiempos sin simular.

  • ¿Hay absorbentes y todo lo demás los alcanza?
  • ¿Cómo se ordena P en bloques Q, R, I?
  • ¿Cuántas visitas a cada transitorio: N?
  • ¿Cuánto tarda la absorción desde i: t = N·1?

02 · Definición

¿Qué es cadena absorbente?

Dos condiciones, tres fórmulas:

◉

Trampas

Al menos un absorbente pᵢᵢ = 1.

→

Alcance

Desde todo transitorio se llega a algún absorbente.

N

Fundamental

N = (I−Q)⁻¹: visitas medias entre transitorios.

En forma canónica los transitorios van primero: P = [Q R; 0 I]. Q mueve entre transitorios, R fuga a trampas.

Mapa B en forma canónica (0, 1 transitorios; 2 trampa).
BloqueValoresLee
Q (2×2)[[0,5 – 0,5], [0,3 – 0,4]]Entre transitorios.
R (2×1)[[0], [0,3]]Fuga al 2.
N = (I−Q)⁻¹[[3,33 – 2,78], [1,67 – 2,78]]Visitas medias.
t = N·1[6,11 – 4,44]Pasos a absorber.

03 · Anatomía

Q, R, N, B, t

Cinco letras que lo dicen todo:

Q
Transitorio→transitorio. Su radio espectral < 1 garantiza N finita.
R
Transitorio→absorbente. Las fugas directas por paso.
N = (I−Q)⁻¹
Visitas medias: Nᵢⱼ = veces esperadas en j desde i antes de absorber.
t = N·1 y B = N·R
Tiempos medios a absorber y reparto entre trampas rivales.

Simular

Historias

Miles de réplicas hasta absorber. Ruido + costo, intuición visual.

N exacta

Cálculo

Una inversa da visitas, tiempos y reparto sin ruido.

04 · Ejemplos

Cadenas que terminan

Si todo camino lleva a trampa, es absorbente:

Trampas + alcance→[Q R]→N, t, B
  1. 1
    Trámite → resuelto.

    Pasos medios por oficina: fila de t.

  2. 2
    Ruina 0–4.

    Desde i: tiempo i·(4−i) y reparto i/4.

  3. 3
    Trial → compra/pérdida.

    B reparte entre rivales por inicio.

  4. 4
    Juego por niveles.

    Niveles transitorios hasta victoria o derrota.

  5. 5
    No absorbente.

    Sin trampas o con transitorios aislados: N no aplica.

05 · Representación en Python

N 2×2 a mano, sin librerías

En Python, con 2 transitorios la inversa es fórmula directa: N = (I−Q)⁻¹ con determinante. De N salen t y B.

Python en tu navegador. Estos bloques se ejecutan localmente con Pyodide, sin instalar nada. Cambiá la fuga y mirá t.

Q = [[0.5, 0.5], [0.3, 0.4]]
R = [[0.0], [0.3]]

def inv2(M):
    a, b, c, d = M[0][0], M[0][1], M[1][0], M[1][1]
    det = a * d - b * c
    return [[d / det, -b / det], [-c / det, a / det]]

I_Q = [[1 - Q[0][0], -Q[0][1]], [-Q[1][0], 1 - Q[1][1]]]
N = inv2(I_Q)
t = [N[0][0] + N[0][1], N[1][0] + N[1][1]]
print("N:", [[round(x, 2) for x in f] for f in N])
print("t:", [round(x, 2) for x in t])

N ≈ [[3,33 – 2,78], [1,67 – 2,78]] y t ≈ [6,11 – 4,44]: desde 0 se tarda más (lejos de la fuga).

Reparto B = N·R

Con una sola trampa B = [1, 1]; con rivales reparte:

N = [[3.33, 2.78], [1.67, 2.78]]
R = [[0.0], [0.3]]
B = [[N[0][0]*R[0][0] + N[0][1]*R[1][0]], [N[1][0]*R[0][0] + N[1][1]*R[1][0]]]
print([[round(x, 3) for x in f] for f in B])

06 · Exploración

Laboratorio: abrir o cerrar la fuga

Mapa B con fuga c = P(1→2) ajustable (el resto queda en {0,1}). Las barras son los tiempos medios t₀ y t₁ exactos por N. Subí c: la trampa traga antes y t se desploma. Con c = 0 no hay cadena absorbente (N explota).

EXPERIMENTO 33

N y tiempos exactos

t = N·1 con N = (I−Q)⁻¹

Los resultados numéricos aparecen debajo.
t₀ desde 00,00
t₁ desde 10,00
N₀₀ visitas0,00
LecturaAbsorbe

Con c 0,30, t₀ ≈ 6,11 y t₁ ≈ 4,44.

Sin simular historias: una inversa 2×2 da los tiempos. La barra de 0 supera a la de 1 porque está más lejos de la fuga.

Preguntas para explorar

  1. Con c = 0,3, ¿t₀ y t₁ cuánto dan? ¿Cuál es mayor y por qué?
  2. Bajá c a 0,05. ¿Los tiempos crecen o caen? ¿Qué pasa si c → 0?
  3. ¿B = N·R cuánto da con una sola trampa? ¿Por qué no hay reparto?
Ver respuestas sugeridas
  1. 6,11 y 4,44: desde 0 hay que pasar por 1 para fugar.
  2. Crecen (t₀ ≈ 25): casi sin fuga se tarda una eternidad. Con c = 0 no hay absorción.
  3. [1, 1]: todo termina en la única trampa. El reparto aparece con rivales.

07 · Comprensión

Confusiones frecuentes

«Con un absorbente ya es absorbente»

Falta el alcance: todo transitorio debe llegar a alguno. Trampa aislada no alcanza.

«N cuenta pasos totales»

Cuenta visitas por estado (Nᵢⱼ); los pasos totales son la fila sumada tᵢ.

«t es hasta volver»

No: es hasta absorber (salir de lo transitorio). El retorno es otro tiempo (Tema 38).

«N sale de P sin ordenar»

No: exige forma canónica con transitorios primero. Sin ordenar, la inversa miente.

08 · Práctica guiada

Ejercicios con Python

Ejercicio 1: leer Q y R

Dada esta P con orden (0, 1, 2), extraé Q (2×2) y R (2×1).

P = [[0.5, 0.5, 0.0],
     [0.3, 0.4, 0.3],
     [0.0, 0.0, 1.0]]
Q = [f[:2] for f in P[:2]]
R = [[f[2]] for f in P[:2]]
print("Q:", Q, "| R:", R)
Ver solución razonada

Q = [[0,5 – 0,5], [0,3 – 0,4]], R = [[0], [0,3]]: las dos primeras filas/columnas son lo transitorio.

Ejercicio 2: t desde N

Sin ejecutar primero: con N = [[3,33 – 2,78], [1,67 – 2,78]], ¿t₀ y t₁?

N = [[3.33, 2.78], [1.67, 2.78]]
print([round(sum(f), 2) for f in N])
Ver solución

[6,11 – 4,45]: sumar la fila da los pasos medios a absorber.

Ejercicio 3: verificar absorción segura

Con B = [[1], [1]], verificá que cada fila suma 1. ¿Qué significaría 0,7?

Ver una posible respuesta
B = [[1.0], [1.0]]
print([sum(f) for f in B])

Suma 1: absorción segura. Un 0,7 diría que 30 % nunca absorbe (cadena no absorbente).

09 · Síntesis

Ideas para recordar

  • Absorbente: trampas + alcance desde todo transitorio.
  • Canónica [Q R; 0 I] con transitorios primero.
  • N = (I−Q)⁻¹: visitas medias entre transitorios.
  • t = N·1 tiempos; B = N·R reparto entre trampas.
  • En Python: inversa 2×2 + sumas por fila.

En el próximo tema mediremos el ritmo de los retornos: periodicidad.