01 · Punto de partida
Antes de los números, las flechas
Con los estados (Tema 21) sabemos dónde estar; falta a dónde se puede ir. ¿Del 0 se llega al 2 en un paso? ¿El 3 se queda quieto? Esas preguntas se responden con flechas, antes de ponerles probabilidad.
Una transición i→j posible significa pᵢⱼ > 0; imposible, pᵢⱼ = 0. El conjunto de flechas es el grafo de la cadena.
- ¿Desde i a qué j se puede ir en un paso?
- ¿Hay autorretención i→i (quedarse)?
- ¿Algún salto es imposible (p = 0)?
- ¿El grafo conecta todo o hay islas?
02 · Definición
¿Qué es una transición?
Tres ideas la completan:
Flecha i→j
Movimiento posible en un paso. Incluye i→i (quedarse).
Imposible
Sin flecha: pᵢⱼ = 0. Ni en un millón de pasos directos (en varios, quizás).
Grafo
Nodos = estados, arcos = transiciones. La foto de la movilidad.
Del grafo salen las preguntas de los Temas 29–35: ¿todo se comunica (irreducible)?, ¿hay salida de i (transitorio)?, ¿i se queda para siempre (absorbente)?
| Tipo | Flecha | Ejemplo |
|---|---|---|
| Avance | 0→1 | Llega un cliente a la cola. |
| Retroceso | 1→0 | Se atiende y la cola baja. |
| Autorretención | 1→1 | Sigue ocupado un minuto más. |
| Imposible | 0↛2 | No llegan dos juntos en un paso. |
03 · Anatomía
Vecinos, lazos y densidad
Cuatro lecturas del grafo:
- Vecinos de i
- Los j con flecha i→j. Lo que el simulador debe sortear desde i.
- Autorretención i→i
- Quedarse un paso más. Sin ella, la cadena se mueve siempre.
- Densidad
- Fracción de flechas sobre K² posibles. Densa = todo conecta; rala = caminos obligados.
- Caminos
- Secuencias de flechas: i→k→j llega en 2 pasos aunque i↛j directo.
Grafo denso
Muchas flechas
Desde cada i se llega a casi todo. P difícil de estimar (muchos pᵢⱼ).
Grafo ralo
Pocas flechas
Caminos obligados (colas ±1). P simple con ceros estructurales.
04 · Ejemplos
Grafos que ya conocés
Antes de la matriz, dibujá las flechas:
- 1Clima 2 nodos.
4 flechas (con lazos): todo conecta con todo.
- 2Cola 0…K.
De i solo a i−1, i, i+1: escalera rala con bordes.
- 3Servidor 3 modos.
Libre ↔ ocupado, ocupado → caído → libre: ciclo con atajo.
- 4Dado.
De cualquier cara a cualquiera: grafo completo (6×6).
- 5Absorbente.
Estado con solo su lazo: del 2 no se sale (Tema 32).
05 · Representación en Python
El grafo es un dict de vecinos
En Python, las transiciones son un diccionario estado → lista de destinos. Es la matriz P sin números: dice a dónde, no con qué chance.
Python en tu navegador. Estos bloques se ejecutan localmente con Pyodide, sin instalar nada. Agregá o quitá una flecha y mirá la densidad.
grafo = {
0: [0, 1], # desde 0: quedarse o avanzar
1: [0, 1, 2],
2: [1, 2],
}
def vecinos(i):
return grafo.get(i, [])
print("vecinos de 1:", vecinos(1))
print("0->2 posible:", 2 in vecinos(0))
0→2 no es vecino directo de 0, pero 0→1→2 llega en dos pasos: camino sin flecha directa.
Densidad del grafo
Fracción de flechas sobre el máximo K²: mide cuánta movilidad hay:
grafo = {0: [0, 1], 1: [0, 1, 2], 2: [1, 2]}
K = 3
flechas = sum(len(v) for v in grafo.values())
print("flechas:", flechas, "| densidad:", round(flechas / K**2, 2))
06 · Exploración
Laboratorio: armar el grafo de 4 estados
Anillo 0–1–2–3–0. Desde cada i: quedarse con q, avanzar con f, retroceder con el resto. El grosor marca la chance; si una chance cae bajo 0,05 la flecha desaparece (se vuelve imposible). Jugá hasta dejar islas.
Flechas que aparecen y desaparecen
quedarse q · avanzar f · retroceder 1−q−f
Con q 0,40 y f 0,40, hay 12 flechas: anillo completo con lazos.
Los 4 nodos forman el anillo; cada uno tiene su lazo y dos flechas vecinas. Si retroceder cae a 0, el anillo se vuelve de un solo sentido.
Preguntas para explorar
- Con q = 0,9 y f = 0, ¿qué flechas quedan? ¿La cadena se mueve?
- Con q = 0 y f = 1, ¿hay lazos? ¿A dónde va siempre cada estado?
- ¿Podés dejar una isla (un estado sin llegada)? ¿Qué chances lo logran?
Ver respuestas sugeridas
- Solo los 4 lazos: la cadena casi no se mueve (resto 0,1).
- No hay lazos: cada i va siempre a i+1. Anillo rotando.
- Sí: con retroceso 0 y avance 0 en algún arco no hay llegada por ese lado; con q = 1 todo son islas con lazo.
07 · Comprensión
Confusiones frecuentes
«Sin flecha hoy = imposible siempre»
Sin flecha directa no hay paso en 1, pero puede haber camino en 2+. Imposible en 1 ≠ inalcanzable.
«Quedarse no es transición»
Sí: i→i es la autorretención y lleva su pᵢᵢ. Sin ella la diagonal de P es cero.
«El grafo ya da las chances»
Da lo posible, no lo probable. Las chances llegan con P (Tema 23).
«Más flechas = mejor cadena»
Más flechas = más parámetros y menos estructura. Lo bueno es el grafo fiel, no el denso.
08 · Práctica guiada
Ejercicios con Python
Ejercicio 1: leer vecinos
Con este grafo de cola 0…3, ¿a dónde se puede ir desde 0 y desde 3? ¿Hay 0→2?
grafo = {0: [0, 1], 1: [0, 1, 2], 2: [1, 2, 3], 3: [2, 3]}
print("desde 0:", grafo[0])
print("desde 3:", grafo[3])
print("0->2:", 2 in grafo[0])
Ver solución razonada
Desde 0: [0, 1]; desde 3: [2, 3]. 0→2 directo False, pero 0→1→2 en dos pasos.
Ejercicio 2: detectar absorbente
Sin ejecutar primero: ¿qué estado de este grafo es absorbente (solo su lazo)? Comprobalo.
grafo = {0: [0, 1], 1: [0, 1], 2: [2]}
print({i: v for i, v in grafo.items() if v == [i]})
Ver solución
El 2: solo [2]. Una vez ahí no hay salida (adelanto del Tema 32).
Ejercicio 3: grafo → ceros de P
Construí la máscara de ceros (sin flecha = 0) para K = 3 con este grafo. ¿Cuántos ceros estructurales hay?
Ver una posible respuesta
grafo = {0: [0, 1], 1: [1], 2: [0, 2]}
K = 3
ceros = [(i, j) for i in range(K) for j in range(K) if j not in grafo.get(i, [])]
print(ceros, len(ceros))
Hay 5 ceros de 9 casilleros: la P es rala y solo 4 chances se estiman.
09 · Síntesis
Ideas para recordar
- i→j existe ⟺ pᵢⱼ > 0 en un paso.
- El grafo (nodos + flechas) precede a la matriz.
- i→i es transición: quedarse también se modela.
- Sin flecha directa puede haber camino en varios pasos.
- En Python: dict de vecinos; densidad = flechas/K².
En el próximo tema cuantificaremos cada flecha: probabilidades de transición.