Probabilidad y Estadística · Tema 44

Aplicaciones prácticas en simulación

Colas, inventarios, redes y juegos: qué distribución usa cada uno, qué KPI decide y cómo se programa el experimento.

01 · Punto de partida

El mismo método, 4 negocios

Cola de banco, stock, servidor y combate usan el mismo ciclo: distribución → réplicas → E ± error → decisión. Cambian la X, el KPI y el umbral: espera mayor a 10, quiebre, latencia mayor a 2 s, victoria.

Este tema es catálogo ejecutable: por aplicación, familia, KPI y regla de decisión. El próximo (proyecto) los integra.

  • ¿Qué X y qué KPI manda en cada caso?
  • ¿Qué distribución genera cada entrada?
  • ¿Qué umbral define éxito/fracaso?
  • ¿Qué R e intervalo sostienen la decisión?

02 · Definición

Plantillas por aplicación

⏳

Colas

Llegadas Poisson, servicios Exp. KPI: espera media y P(mayor a 10). Decide dotación.

📦

Inventarios

Demanda U/normal/empírica. KPI: E[G], P(quiebre). Decide S (temas 36 y 43).

🌐

Redes/servidores

Pedidos Poisson, latencia lognormal/Exp. KPI: P(mayor a 2 s), P99. Decide capacidad.

Plantilla rápida.
AppEntradasKPIDecide
ColaPoisson/ExpEspera, P(mayor a 10)Cajeros
StockU/normalE[G], P(Q)S
ServerPoissonP99, P(mayor a 2s)Workers
JuegoBernoulli/UP(gana), E[turnos]Balance

03 · Cuarta plantilla: juegos

Balance con estadística

Que sí es

Experimento de diseño

Daño U(8,12), crítico Bernoulli(0,1): P(gana) ≈ 50 % y E[turnos] ≈ 6 entretiene. Se calibra con miles de peleas.

Que no es

Corazonada de diseñador

«Se siente bien» con 5 pruebas es ruido. Balance se firma con N y colas, igual que stock.

Confiabilidad
Tiempo hasta falla Exp/Weibull; P(falla antes de garantía) define costo (temas 22 y 24).
Finanzas
Retornos con colas pesadas: normal subestima crisis; empírica o t mandan.
Salud
Llegadas Poisson + atención Erlang: camas y turnos con P(espera) acotada.
Tráfico
Flujo con picos: λ por tramo + car-following. Promedio diario esconde hora pico.

04 · Ejemplos

Decisiones con nombre

App + X→KPI ± E→Compra/cambia
  1. 1
    Banco.

    2 vs 3 cajeros: espera 7 ± 1 vs 3 ± 0,5. El sueldo se paga con SLA.

  2. 2
    Tienda.

    S 115 vs 128: E 395 vs 385 con P(Q) 42 % vs 20 %. Servicio vs ganancia.

  3. 3
    API.

    4 vs 6 workers: P99 2,8 s vs 1,6 s. Capacidad por cola, no por media.

  4. 4
    RPG.

    Crítico 10 % vs 15 %: P(gana) 45 % vs 60 %. Balance en 5 puntos.

  5. 5
    Taller.

    Repuesto extra: P(para) cae 8 % a 2 %. Costo vs parada.

05 · Representación en Python

4 mini-simuladores en 4 bloques

Python en tu navegador. Cada bloque es una plantilla lista para copiar.

import random
random.seed(441)
# Cola simplificada: espera Exp(media 4) con 2 cajeros ≈ max(0, X-2)
xs = [max(0, random.expovariate(1/4)-2) for _ in range(3000)]
print("P(espera>10):", round(sum(1 for x in xs if x > 10)/len(xs), 3))
import random
random.seed(442)
# Juego: daño U(8,12), crítico 10% x2, enemigo 50. Turnos hasta ganar
def turnos():
    hp, t = 50, 0
    while hp > 0:
        d = random.uniform(8, 12) * (2 if random.random() < 0.1 else 1)
        hp -= d; t += 1
    return t
xs = [turnos() for _ in range(2000)]
print("E[turnos]:", round(sum(xs)/len(xs), 2))

06 · Exploración

Laboratorio: 4 apps, un tablero

Elegí app y mové su carga: el laboratorio genera N réplicas del KPI y muestra histograma + media y cola. Subí la carga y mirá cómo la cola se dispara antes que la media.

EXPERIMENTO 44

Tablero por aplicación

KPI ± cola por app

Los resultados numéricos aparecen debajo.
Media KPI—
Cola guía—
Definición cola—
AppCola

Subí la carga: la cola se mueve primero.

Histograma del KPI con línea de umbral. La franja lima es la cola que duele.

Preguntas para explorar

  1. En cola con carga 90, ¿media o cola se dispara más? ¿Qué dimensiona?
  2. En stock con carga alta (demanda), ¿E[G] sube siempre? ¿Y P(quiebre)?
  3. En juego con carga = dificultad, ¿E[turnos] o P(gana) balancea mejor?
Ver respuestas sugeridas
  1. La cola (P mayor a 10) se multiplica; la media sube lineal. Dotación por cola.
  2. E sube hasta S* y luego cae por sobrante; P(Q) sube siempre. Ver tema 36.
  3. Ambas: P(gana) ≈ 50 % para reto, E[turnos] ≈ 6 para ritmo. Dos KPI, un balance.

07 · Comprensión

Confusiones frecuentes

«Plantilla copia-pega sin datos»

No: la plantilla da estructura; los parámetros los dan tus datos (temas 27 y 32). Copiar λ ajeno es importar riesgo.

«Media del KPI alcanza»

En las 4 apps la cola decide: espera larga, quiebre, P99, derrota. Media + cola siempre.

«Juegos no son serios»

Son simuladores con balance estadístico: mismo rigor, KPI lúdico. El método no cambia.

«Una app prueba el método»

El método se prueba en varias: si solo funciona en colas, es ajuste, no método.

08 · Práctica guiada

Ejercicios con Python

Ejercicio 1: cola vs dotación

Con espera media 4 (Exp) y 2 cajeros (resta 2), estimá P(mayor a 10) con 5000. ¿Y con 3 (resta 4)?

import random
random.seed(441)
for resta in [2, 4]:
    xs = [max(0, random.expovariate(1/4)-resta) for _ in range(5000)]
    print(resta, round(sum(1 for x in xs if x > 10)/len(xs), 3))
Ver solución razonada

~0,08 vs ~0,02: un cajero más parte la cola en 4. Así se vende dotación con números.

Ejercicio 2: balance de juego

Con crítico 0,1, ¿P(ganar en ≤ 5 turnos)? Verificá con la función turnos().

import random
random.seed(442)
def turnos():
    hp, t = 50, 0
    while hp > 0:
        d = random.uniform(8,12)*(2 if random.random() < 0.1 else 1)
        hp -= d; t += 1
    return t
xs = [turnos() for _ in range(3000)]
print(round(sum(1 for t in xs if t <= 5)/len(xs), 3))
Ver solución

Ronda 0,6: el 60 % cierra en 5. Si el diseño pide 50 %, bajar crítico o daño.

Ejercicio 3: ficha de app

Escribí la ficha (X, dist, KPI, umbral, R) de tu cola o stock. ¿Qué falta para ejecutar?

Ver una posible respuesta
ficha = {"app": "cola", "X": "espera", "dist": "Exp(1/4)-2", "KPI": "P(>10)", "R": 3000}
print(ficha)

Falta PARAMS con fuente + seed + E objetivo: la ficha mínima ejecutable del proyecto (tema 45).

09 · Síntesis

Ideas para recordar

  • 4 plantillas: colas, stock, server, juego. Mismo ciclo, distinto KPI.
  • Entradas con su familia verificada; KPI con media + cola.
  • Decisión por umbral con R e intervalo, no por punto.
  • Plantilla sin datos propios es demo, no modelo.
  • El proyecto junta plantillas con fichas ejecutables.

En el cierre integraremos todo: proyecto de modelado de un fenómeno aleatorio.