01 · Punto de partida
Mismo escenario, ¿mismo resultado?
Corré dos veces el tanque con igual escenario y obtendrás la misma historia: es determinístico. Corré dos veces la cola con llegadas al azar y obtendrás historias distintas: es estocástico. La diferencia no está en el programa, sino en si el modelo incluye azar.
- ¿El escenario determina por completo la historia?
- ¿Qué parte del sistema es impredecible caso por caso?
- ¿Cómo se describe lo impredecible: distribución y semilla?
- ¿Cuántas réplicas hacen falta para opinar?
02 · Definiciones
Regla fija o sorteo controlado
Determinístico
Misma entrada, misma salida, siempre. Ideal para comparar políticas sin ruido.
Estocástico
Incluye azar modelado: llegadas, fallas, tiempos variables. Cada corrida es una muestra.
Semilla
El control del sorteo: misma semilla, misma historia. Azar reproducible.
| Situación | Modelo | Por qué |
|---|---|---|
| Comparar dos topes | Determinístico | Sin ruido, la diferencia es del diseño |
| Llegadas de clientes | Estocástico | El arribo real varía caso por caso |
| Fallas de máquina | Estocástico | Ocurren con probabilidad, no con agenda |
| Depurar el simulador | Determinístico | Se necesita repetir exactamente el caso |
03 · Diseño
Dónde poner el azar
- 1Identificá la fuente.
¿Qué varía sin que puedas predecirlo: llegadas, duraciones, fallas?
- 2Elegí la distribución.
Enteros parejos (
randint), reales en rango (uniform), opciones (choice). - 3Fijá la semilla.
random.Random(semilla): reproducible por defecto, variable a pedido. - 4Planificá réplicas.
Una corrida es una anécdota; N réplicas son evidencia.
Una corrida
Anécdota
Cuenta una historia posible. Sirve para depurar y para ilustrar, nunca para concluir.
N réplicas
Evidencia
Media, mínimo y máximo entre corridas describen el comportamiento típico y sus bordes.
- Distribución
- Regla del sorteo: qué valores pueden salir y con qué frecuencia.
- Muestra
- Lo que salió en una corrida concreta.
- Réplica
- Repetición con otra semilla del mismo escenario.
- Estadístico
- Resumen entre réplicas: media, pico, proporción.
04 · Lectura
Leer un estocástico sin autoengañarse
05 · En Python
Del tanque cierto a la cola sorteada
Python en tu navegador. El módulo random con semilla fija es azar domesticado: sortea y repite.
import random
def replica_cola(llegada_max, atencion, pasos, semilla):
# Una corrida: la historia depende de la semilla.
rng = random.Random(semilla)
cola, pico = 0, 0
for t in range(pasos):
cola = cola + rng.randint(0, llegada_max)
cola = cola - min(cola, atencion)
pico = max(pico, cola)
return pico
print("semilla 1:", replica_cola(3, 2, 24, 1))
print("semilla 2:", replica_cola(3, 2, 24, 2))
print("misma semilla:", replica_cola(3, 2, 24, 1))
De anécdotas a evidencia
import random
def replica_cola(llegada_max, atencion, pasos, semilla):
rng = random.Random(semilla)
cola, pico = 0, 0
for t in range(pasos):
cola = cola + rng.randint(0, llegada_max)
cola = cola - min(cola, atencion)
pico = max(pico, cola)
return pico
picos = [replica_cola(3, 2, 24, s) for s in range(1, 11)]
print("picos:", picos)
print("media:", round(sum(picos) / len(picos), 2))
print("rango:", min(picos), "-", max(picos))
06 · Exploración
Laboratorio: el histograma de las réplicas
Cada barra cuenta cuántas réplicas (semillas 1 a N) terminaron con cada cola máxima. La línea marca la media. Subí las réplicas: ¿se estabiliza la media?
N historias, un patrón
colas máximas por réplica
Con 24 réplicas, el pico típico ronda 2,5 con rango 1–4.
El histograma muestra la variabilidad entre corridas idénticas en escenario: esa dispersión también es un resultado.
Preguntas para explorar
- Con 6 réplicas, mové la atención entre 1 y 2 varias veces (cambiá y volvé). ¿La media salta?
- Con 48 réplicas, ¿la media se mueve menos? Eso es la ley de los grandes números trabajando.
- ¿Qué escenario compararías y con qué semillas?
Ver respuestas sugeridas
- Sí: con 6 réplicas la media salta al cambiar la atención. Poca muestra, mucha suerte.
- Sí: con 48 la media se estabiliza. Es la ley de los grandes números trabajando.
- Compararía atenciones con las mismas semillas (por ejemplo 1 a 5): a igual suerte, la diferencia es del escenario.
07 · Comprensión
Confusiones frecuentes
«Estocástico significa impredecible»
Lo impredecible es cada caso; el conjunto es describible: media, rango y forma de la distribución sí se estiman.
«Con semilla fija no hay azar»
Hay azar modelado y reproducible: los valores se sortean, pero el experimento se puede repetir al milímetro.
«Más réplicas arreglan un mal modelo»
No: reducen la incertidumbre del sorteo, no el sesgo de supuestos falsos. Primero el modelo, después las réplicas.
«El promedio de réplicas es la predicción»
Es un resumen, no una promesa: junto a la media hay que informar rango y riesgo de cola.
08 · Práctica guiada
Ejercicios con Python
Ejercicio 1: comprobar la semilla
Ejecutá dos veces la misma semilla y una distinta. ¿Qué se repite y qué cambia?
import random
def replica_cola(llegada_max, atencion, pasos, semilla):
rng = random.Random(semilla)
cola, pico = 0, 0
for t in range(pasos):
cola = cola + rng.randint(0, llegada_max)
cola = cola - min(cola, atencion)
pico = max(pico, cola)
return pico
print(replica_cola(3, 2, 24, 5))
print(replica_cola(3, 2, 24, 5))
print(replica_cola(3, 2, 24, 6))
Ver solución razonada
Las dos primeras dan lo mismo (semilla 5) y la tercera difiere: el azar es reproducible a pedido. Así se depura sin perder realismo.
Ejercicio 2: media de 10 réplicas
Calculá media y rango de los picos con semillas 1 a 10. ¿Una sola corrida los representaba?
import random
def replica_cola(llegada_max, atencion, pasos, semilla):
rng = random.Random(semilla)
cola, pico = 0, 0
for t in range(pasos):
cola = cola + rng.randint(0, llegada_max)
cola = cola - min(cola, atencion)
pico = max(pico, cola)
return pico
picos = [replica_cola(3, 2, 24, s) for s in range(1, 11)]
print(sum(picos) / len(picos), min(picos), max(picos))
Ver solución
La media da 2.6 con rango 1–5: ninguna corrida individual cuenta esa historia completa. El par media–rango sí.
Ejercicio 3: comparar capacidades con justicia
Compará atención 2 vs 3 con las mismas 5 semillas. ¿Gana siempre la misma?
Ver una posible respuesta
import random
def replica_cola(llegada_max, atencion, pasos, semilla):
rng = random.Random(semilla)
cola, pico = 0, 0
for t in range(pasos):
cola = cola + rng.randint(0, llegada_max)
cola = cola - min(cola, atencion)
pico = max(pico, cola)
return pico
for s in range(1, 6):
a2 = replica_cola(4, 2, 24, s)
a3 = replica_cola(4, 3, 24, s)
print(s, a2, a3, "gana 3" if a3 < a2 else "empate")
Con iguales semillas, la capacidad 3 empata o mejora en todas: la mejora es del escenario, no de la suerte.
09 · Síntesis
Ideas para recordar
- Determinístico repite; estocástico muestrea con distribuciones y semillas.
- El azar se modela donde el sistema es impredecible caso por caso.
- Una corrida es anécdota; N réplicas son evidencia (media y rango).
- La semilla hace reproducible el sorteo: misma semilla, misma historia.
- Los escenarios se comparan con las mismas semillas.
En el próximo tema congelaremos el tiempo: modelos estáticos y dinámicos.