01 · Punto de partida
Dos filas, una sola puerta
Dos sucursales generan llamadas con tasas λ₁ y λ₂; un servidor recibe de tres APIs. Cada flujo es Poisson por su cuenta, pero lo que llega al centro es la suma: todos los eventos juntos ordenados por hora.
Esa suma es la superposición: juntar procesos independientes en uno solo. Con Poisson, la suma sigue siendo Poisson.
- ¿Qué tasa tiene el flujo total: λ₁ + λ₂?
- ¿De qué flujo vino cada evento: con qué chance es del A?
- ¿La suma conserva independencia y Poisson?
- ¿Y si los flujos no son independientes?
02 · Definición
¿Qué es superponer?
Superponer es mezclar listas de instantes ordenándolas:
Mezcla
N(t) = N₁(t) + N₂(t). Los instantes se juntan y ordenan.
Suma de tasas
λ = λ₁ + λ₂ (o λ(t) = λ₁(t) + λ₂(t)). Las velocidades se suman.
Origen
Cada evento es del flujo 1 con p = λ₁/λ. Marca aleatoria del total.
Vale para N flujos y para intensidades: λ(t) = Σλᵢ(t). La independencia es el requisito: sin ella, la suma no es Poisson.
| Flujo | Tasa | En T = 10 |
|---|---|---|
| A: sucursal norte | λ₁ = 1/hora | ~10 llamadas |
| B: sucursal sur | λ₂ = 2/hora | ~20 llamadas |
| Total A⊕B | λ = 3/hora | ~30 llamadas, 1/3 del A |
03 · Anatomía
Total, reparto y requisito
Cuatro ideas para usarla bien:
- Total Poisson
- La suma de independientes Poisson es Poisson con la suma. Se simula como un solo λ total.
- Reparto binomial
- Dado que hubo n eventos, cuántos son del A ~ Binomial(n, λ₁/λ). Así se «desmezcla».
- Etiqueta al azar
- Cada evento del total se marca A con p = λ₁/λ. Simular el total y etiquetar equivale a simular por separado.
- Independencia exigida
- Si los flujos se coordinan (mismo cliente llama a ambos), la suma no es Poisson.
Simular separado
Dos generadores
Se generan A y B y se mezclan. Claro, pero doble trabajo.
Simular el total
Un generador + etiquetas
Se genera Poisson(λ₁+λ₂) y se marca cada evento. Más rápido y equivalente.
04 · Ejemplos
Sumas que un programador junta
Todo «total de varias fuentes» es una superposición candidata:
- 1Call center multisede.
Norte λ₁ + Sur λ₂ = total con λ₁+λ₂ para dimensionar el centro.
- 2Servidor multi-API.
Tres clientes Poisson se suman en el request total.
- 3Fallas por componente.
Cada pieza Poisson; la máquina suma sus fallas.
- 4Ventas online + local.
Dos canales independientes: el total es la caja conjunta.
- 5No suma: mismo origen.
Reintentos del mismo pedido en dos colas: dependientes, no Poisson.
05 · Representación en Python
Mezclar es ordenar dos listas
En Python, superponer es juntar y ordenar instantes. La vía rápida (total + etiquetas) evita mezclar: se genera un Poisson y se marca cada evento.
Python en tu navegador. Estos bloques se ejecutan localmente con Pyodide, sin instalar nada. Cambiá λ₁ y λ₂ y mirá el reparto.
import random, math
def generar(T, lam, semilla):
random.seed(semilla)
t, ev = 0.0, []
while True:
t += -math.log(1 - random.random()) / lam
if t > T:
return ev
ev.append(round(t, 2))
a = generar(10, 1.0, 7)
b = generar(10, 2.0, 21)
total = sorted(a + b)
print("A:", len(a), "| B:", len(b), "| total:", len(total))
print(total[:6])
El total mezcla ambos: ~10 del A y ~20 del B en T = 10. Ordenar es superponer.
La vía rápida: total + etiquetas
Un solo generador con λ₁+λ₂ y marcas con p = λ₁/λ: mismo resultado, mitad de sorteos de tiempos:
import random, math
random.seed(5)
lam1, lam2, T = 1.0, 2.0, 10.0
lam = lam1 + lam2
t, total, de_a = 0.0, 0, 0
while True:
t += -math.log(1 - random.random()) / lam
if t > T:
break
total += 1
if random.random() < lam1 / lam:
de_a += 1
print(total, de_a, round(de_a / total, 2))
06 · Exploración
Laboratorio: dos flujos, un total
Flujo A (turquesa, λ₁) y B (naranja, λ₂) hasta T = 10; abajo el total mezclado con el color de su origen. Movete λ₁ y λ₂: el total se empina con la suma y el reparto sigue a λ₁/λ.
A ⊕ B = Poisson(λ₁+λ₂)
N = N₁ + N₂ · origen ~ Bernoulli(λ₁/λ)
Con λ₁ 1,00 y λ₂ 2,00, el total espera 30 y 1/3 es del A.
Las dos filas superiores son los flujos; la inferior, la mezcla ordenada. El total tiene la tasa suma y cada tick conserva su color-origen.
Preguntas para explorar
- Con λ₁ = 1 y λ₂ = 2, ¿qué % del total es del A? ¿Cerca de 1/3?
- Igualá λ₁ = λ₂ = 2. ¿El total es Poisson(2) o Poisson(4)? ¿El reparto?
- Apagá B (mínimo 0,5): ¿el total se parece a qué flujo?
Ver respuestas sugeridas
- Sí, ≈ 33 %: cada evento es del A con p = 1/3.
- Poisson(4) con reparto 50/50. Las tasas se suman, no se promedian.
- Al A: superponer con un flujo chico casi no cambia el total.
07 · Comprensión
Confusiones frecuentes
«El total promedia las tasas»
No: las suma. Promediar subestima a la mitad con dos flujos iguales.
«Cualquier suma es Poisson»
Solo de independientes Poisson. Con dependencia o no-Poisson, la suma es otro proceso.
«El origen no importa»
Importa para dimensionar por fuente y para desmezclar. Guardalo como etiqueta.
«Mezclar es concatenar»
Es juntar y ordenar por tiempo. Concatenar rompe el orden temporal.
08 · Práctica guiada
Ejercicios con Python
Ejercicio 1: tasa total y reparto
Con λ₁ = 1,5 y λ₂ = 4,5 hasta T = 8, calculá el total esperado y el % del flujo 1.
lam1, lam2, T = 1.5, 4.5, 8
print("total:", (lam1 + lam2) * T)
print("% A:", round(100 * lam1 / (lam1 + lam2), 1))
Ver solución razonada
Total 48 con 25 % del A. El B domina 3 a 1.
Ejercicio 2: desmezclar con binomial
Sin ejecutar primero: si el total tuvo n = 30 con p = 1/3 del A, ¿cuántos del A esperás? Comprobalo simulando marcas.
import random
random.seed(9)
n, p = 30, 1 / 3
marcas = [1 if random.random() < p else 0 for _ in range(n)]
print(sum(marcas), "| esperado:", n * p)
Ver solución
Salen ≈ 10 (8–12 típico). Dado el total, el reparto es Binomial(n, p).
Ejercicio 3: tres flujos
Sumá λ = 1, 2 y 3 hasta T = 10 por las dos vías (separado vs total + etiquetas) y compará.
Ver una posible respuesta
import random, math
def generar(T, lam, semilla):
random.seed(semilla)
t, ev = 0.0, []
while True:
t += -math.log(1 - random.random()) / lam
if t > T:
return ev
ev.append(round(t, 2))
a = generar(10, 1, 1) + generar(10, 2, 2) + generar(10, 3, 3)
print("separado:", len(a), "| esperado:", 60)
Da ≈ 60 (λ total 6 × 10). La vía total + etiquetas daría lo mismo en distribución con un solo reloj.
09 · Síntesis
Ideas para recordar
- Superponer = juntar instantes y ordenar.
- Poisson independientes se suman: λ = Σλᵢ (o Σλᵢ(t)).
- Cada evento es del flujo i con λᵢ/λ.
- En Python: listas + sorted, o total + marcas Bernoulli.
- Sin independencia no hay Poisson en el total.
En el próximo tema haremos lo inverso: refinamiento de procesos (dividir un flujo).