Procesos Estocásticos y Cadenas de Markov · Tema 36

Tiempo de alcance

Primer paso hasta un conjunto A: H_A, análisis de primer paso y medias por inicio.

01 · Punto de partida

¿Cuándo piso A por primera vez?

La cadena arranca en i y nos importa el conjunto A (el 2, la trampa, el stock cero). El tiempo de alcance H_A es el primer n con Xₙ ∈ A. Si ya estoy en A, H_A = 0.

Su media hᵢ = E[H_A | X₀ = i] se calcula con análisis de primer paso: un paso más las medias vecinas.

  • ¿Qué conjunto A me interesa alcanzar?
  • ¿Empiezo dentro (0) o fuera?
  • ¿Cuántos pasos en promedio hasta pisarlo?
  • ¿Qué chance hay de llegar antes de N?

02 · Definición

¿Qué es H_A?

Tres piezas lo definen:

0

Ya adentro

Si X₀ ∈ A, H_A = 0. Alcanzar lo alcanzado no cuesta.

1+

Primer paso

Si i ∉ A: un paso más lo que falte desde donde caiga.

∞

Nunca

Si A es inalcanzable, H_A = ∞ con chance positiva. Media infinita.

Con A = {2} en la cadena 0–1–2 del laboratorio: h₂ = 0, h₁ = 1 + 0,3·h₀ + 0,4·h₁ y h₀ = 1 + 0,5·h₀ + 0,5·h₁. Solución: h₀ ≈ 8,67, h₁ ≈ 6,67.

H_A según dónde se empieza (A = {2}).
InicioH_AMedia hᵢ
2 (adentro)0 siempre0
1 (vecino)1, 2, 3…≈ 6,67
0 (lejos)Más largo≈ 8,67

03 · Anatomía

Ecuaciones, horizonte y censura

Cuatro ideas para trabajar con H_A:

Ecuación h = 1 + Ph
Fuera de A: un paso más el promedio vecino. Sistema lineal de |S|−|A| incógnitas.
Frontera h = 0
Dentro de A el tiempo es 0. Es la condición que cierra el sistema.
Censura
Simulando con horizonte N, los que no llegan quedan «N+»: la media muestral subestima.
Alcance vs retorno
Retorno = alcance partiendo del mismo estado (Hᵢ desde i, primer regreso). Alcance generaliza.

Alcance H_A

Primera visita

Desde fuera hasta A. Incluye el 0 si ya estoy.

Absorción

Alcance a trampas

Caso con A = absorbentes. Tiempos del Tema 37.

04 · Ejemplos

Primeras veces que importan

Todo «¿cuándo por primera vez?» es un H_A:

Objetivo A→primer n→H_A
  1. 1
    Primera falla.

    A = {caído}: ¿cuántos minutos hasta el primer caído?

  2. 2
    Stock cero.

    A = {0}: ¿cuántos días hasta el quiebre?

  3. 3
    Meta de ventas.

    A = {100}: ¿cuántos días hasta 100 acumuladas?

  4. 4
    Ruina.

    A = {0, 4}: alcance a trampas rivales.

  5. 5
    Inalcanzable.

    A en otro mundo: H_A = ∞ con chance 1.

05 · Representación en Python

Simular H_A es frenar en A

En Python, H_A se simula frenando al pisar A (None si no llega). Las medias teóricas salen resolviendo el sistema lineal 2×2 a mano.

Python en tu navegador. Estos bloques se ejecutan localmente con Pyodide, sin instalar nada. Cambiá el inicio y compará medias.

import random

P = [[0.5, 0.5, 0.0],
     [0.3, 0.4, 0.3],
     [0.0, 0.5, 0.5]]
A = {2}

def alcance(x0=0, horizonte=200, semilla=7):
    random.seed(semilla)
    x = x0
    if x in A:
        return 0
    for n in range(1, horizonte + 1):
        u, ac = random.random(), 0.0
        for j, p in enumerate(P[x]):
            ac += p
            if u < ac:
                x = j
                break
        if x in A:
            return n
    return None

print([alcance(semilla=s) for s in range(8)])

Casi todos llegan en pocos pasos (2, 4, 7…): A = {2} es alcanzable desde 0 y 1.

Medias teóricas 2×2

Resolviendo h₀ = 1 + 0,5h₀ + 0,5h₁ y h₁ = 1 + 0,3h₀ + 0,4h₁:

# h0 - h1: 0.5*h0 - 0.5*h1 = 1; -0.3*h0 + 0.6*h1 = 1
# Solución directa:
h1 = (1 + 0.3 * 2) / (0.6 - 0.3)
h0 = 2 + h1
print(round(h0, 2), round(h1, 2))

06 · Exploración

Laboratorio: llegar al 2 desde 0 o 1

500 réplicas hasta A = {2} (censura en 60). El histograma reparte los H_A; las líneas marcan las medias teóricas (8,67 desde 0, 6,67 desde 1). Cambiá el inicio: desde 1 se llega antes y más concentrado.

EXPERIMENTO 36

Histograma de H_A

H = primer n con Xₙ = 2 · censura 60

Los resultados numéricos aparecen debajo.
Media simulada0,00
Teoría hᵢ0,00
Llegan ≤ 100 %
LecturaAlcanza

Desde 0, la media ronda 8,67 y casi todos llegan antes de 30.

Barras = fracción con cada H_A; la línea amarilla es la media teórica. La cola a la derecha son los tardíos: pocos pero reales.

Preguntas para explorar

  1. Desde 0 vs 1, ¿qué media es mayor? ¿Por qué (distancia)?
  2. ¿Qué % llega en ≤ 10 pasos desde 0? ¿Y desde 1?
  3. Generá nuevas réplicas: ¿el histograma cambia mucho? ¿Y la media?
Ver respuestas sugeridas
  1. Desde 0 (8,67 vs 6,67): hay que cruzar el 1.
  2. ≈ 70 % desde 0 y ≈ 80 % desde 1: el vecino llega antes.
  3. Las barras fluctúan, la media casi no (500 réplicas estabilizan).

07 · Comprensión

Confusiones frecuentes

«H_A = 1 si estoy al lado»

No: es 1 solo si el próximo cae en A seguro. Al lado con fuga distinta tarda más.

«La media muestral con censura es la media»

No: censura en 60 subestima (los «nunca» valen > 60). Con A alcanzable y N grande, casi no sesga.

«Alcance y retorno son distintos temas»

El retorno es alcance al mismo estado (primer regreso). Misma fórmula, otra frontera.

«Si llega siempre, la media es chica»

No: llegar seguro ≠ llegar pronto. Alcance seguro con media de miles existe.

08 · Práctica guiada

Ejercicios con Python

Ejercicio 1: H_A = 0 adentro

Verificá que desde 2 con A = {2} el alcance es 0 sin simular nada.

A = {2}
print(0 if 2 in A else "simular")
Ver solución razonada

0: ya estoy en A. El mínimo sobre n ≥ 0 con Xₙ ∈ A es n = 0.

Ejercicio 2: una ecuación de primer paso

Sin ejecutar primero: si desde 1 se va a 2 con 0,3 y si no se queda en media 6,67, ¿h₁ = 1 + 0,7·6,67? Comprobalo.

print(1 + 0.7 * 6.67)
Ver solución

Da ≈ 5,67, no 6,67: el planteo está mal (los destinos del no-éxito difieren). Hay que resolver el sistema completo, no una ecuación suelta.

Ejercicio 3: P(llegar antes de N)

Estimá P(H ≤ 5 | X₀ = 0) con 3000 réplicas. ¿Ronda 0,4?

Ver una posible respuesta
import random

P = [[0.5, 0.5, 0.0],
     [0.3, 0.4, 0.3],
     [0.0, 0.5, 0.5]]

def H(x0=0, N=5):
    x = x0
    for n in range(1, N + 1):
        u, ac = random.random(), 0.0
        for j, p in enumerate(P[x]):
            ac += p
            if u < ac:
                x = j
                break
        if x == 2:
            return True
    return False

random.seed(2)
print(sum(H() for _ in range(3000)) / 3000)

Sí: ≈ 0,35–0,45. En 5 pasos llega menos de la mitad; la media 8,67 necesita más.

09 · Síntesis

Ideas para recordar

  • H_A = primer n con Xₙ ∈ A (0 si ya adentro).
  • hᵢ = 1 + Σ pᵢⱼhⱼ fuera de A; 0 dentro.
  • Simular = frenar en A (None si no llega).
  • La censura subestima: horizonte grande o teoría.
  • Retorno = alcance al propio estado.

En el próximo tema el conjunto A serán trampas: tiempo de absorción.