01 · Punto de partida
n = 30 idénticas vale n = 1
Reusar la misma semilla, compartir el generador global o no reiniciar el estado produce historias calcadas o encadenadas. La media parece precisa (s ≈ 0) y el IC angostísimo: precisión ficticia sobre una sola historia repetida.
- ¿Cada réplica tiene semilla propia y registrada?
- ¿El generador es aislado por réplica?
- ¿El estado se reinicia de verdad?
- ¿Cómo detectar la copia antes de publicar?
02 · Definición
Semilla, flujo y estado
Semilla
El punto de partida del azar. Fija → reproducible; distinta → independiente. Se archiva siempre (Tema 43).
Flujo aislado
Un generador por réplica, sin global compartido. Lo que consume una no mueve a otra.
Estado fresco
Colas vacías, reloj en cero, nivel inicial. Arrastrar estado encadena historias aunque cambie la semilla.
| Pecado | Síntoma | Antídoto |
|---|---|---|
| Misma semilla | s ≈ 0, historias calcadas | Semillaᵢ = maestra + i |
| Random global | Orden de ejecución cambia todo | Random(semillaᵢ) local |
| Hora como semilla | Irreproducible | Maestra fija archivada |
| Estado arrastrado | Deriva entre réplicas | Constructor fresco por corrida |
03 · Método
Protocolo en 5 pasos
- 1Fijar y archivar la maestra.
Ej.: MAESTRA = 20240501. Publicada junto al código (Tema 43). Nada de hora del sistema.
- 2Derivar semillaᵢ = maestra + i.
Determinista, única y auditable. Saltos amplios si el generador es sensible (o subflujos).
- 3Crear rngᵢ local por réplica.
random.Random(semillaᵢ)pasado como argumento. Prohibido el global dentro del simulador. - 4Reiniciar estado completo.
Construir el sistema de cero en cada réplica. Test: dos corridas con igual semilla dan idéntico; con distinta, difieren.
- 5Chequear variabilidad sana.
s > 0 acorde al sistema, trayectorias que se abren en abanico. s = 0 es alarma, no precisión.
04 · La excepción diseñada
Números aleatorios comunes (a propósito)
Prohibido por defecto
Reusar sin decir
Repetir semillas para «estabilizar» fabrica precisión falsa. Si no está diseñado y declarado, es bug.
Permitido con protocolo
CRN para comparar
Comparar A vs. B con las mismas semillas por par aísla el efecto (reduce varianza, Tema 38). Diseñado, pareado y declarado.
- CRN
- Misma semillaᵢ para Aᵢ y Bᵢ: el azar compartido se cancela en la diferencia. Solo para comparar, nunca para estimar sola.
- Test de cordura
- Histograma de medias por réplica + rachas: calcadas o en escalera = dependencia. Abanico = salud.
- Paralelo
- Asignar semilla por índice, no por hilo: el orden de llegada no debe cambiar los resultados.
05 · Representación en Python
Bien aislado vs. global compartido
Python en tu navegador. El modo reusado da s = 0: precisión de mentira.
import random
MAESTRA = 20240501
def replica(semilla):
rng = random.Random(semilla) # aislado: nadie más lo toca
return sum(rng.gauss(12, 2) for _ in range(5)) / 5
frescas = [replica(MAESTRA + i) for i in range(6)]
reusadas = [replica(MAESTRA) for _ in range(6)]
print("frescas:", [round(x, 1) for x in frescas])
print("reusadas:", [round(x, 1) for x in reusadas], "(calcadas: n real = 1)")
Las frescas bailan (s ≈ 1); las reusadas repiten (s = 0). El IC de las segundas es fraude.
Test de cordura: s > 0
import math
def s_de(xs):
m = sum(xs)/len(xs)
return math.sqrt(sum((x-m)**2 for x in xs)/(len(xs)-1))
print(f"s frescas {s_de(frescas):.2f} vs s reusadas {s_de(reusadas):.2f}")
print("Alarma si s ≈ 0 con sistema estocástico")
06 · Exploración
Laboratorio: abanico sano vs. riel muerto
n trayectorias de 12 pasos. En modo frescas cada una tiene su semilla (abanico); en modo reusada todas comparten la misma (un riel). Observá s final, EE y el veredicto: el riel promete precisión imposible.
Independencia visible
frescas = abanico · reusada = riel
Con semillas frescas, el abanico estima s ≈ 2 honestamente.
Cada línea es una réplica. 0 = misma semilla para todas; 1 = semilla maestra + i. El EE solo vale en modo frescas.
Preguntas para explorar
- Con frescas y n=12: ¿s, EE y únicas? Cambiá a reusada: ¿s y únicas? ¿Qué le pasa al EE?
- En reusada con n=20: ¿el EE se achica al crecer n? ¿Por qué ese angostamiento es fraude?
- ¿Cuándo reusar a propósito es legítimo? (Pista: CRN pareado A/B declarado).
Ver respuestas sugeridas
- Frescas: s ≈ 2, únicas 12, EE honesto. Reusada: s = 0, únicas 1, EE = 0: precisión infinita falsa con n real 1.
- Sigue 0: dividir 0 entre √20 es 0. El n falso no crea información; el IC colapsa sobre una anécdota.
- Solo en comparación pareada Aᵢ vs. Bᵢ con igual semillaᵢ, declarado como CRN para reducir varianza de la diferencia (Tema 38).
07 · Comprensión
Confusiones frecuentes
«Random global alcanza»
El global lo toca todo (librerías incluidas) y el orden cambia resultados. rng local por réplica: determinismo total.
«Hora como semilla es más aleatorio»
Es irreproducible, no más aleatorio. Maestra fija + índice: aleatorio e independiente y repetible.
«s = 0 es precisión máxima»
Con sistema estocástico es alarma de copia, no logro. La precisión real nunca es cero con azar.
«CRN es trampa siempre»
Sin declarar sí; diseñado para comparar pareada es técnica legítima de reducción de varianza.
08 · Práctica guiada
Ejercicios con Python
Ejercicio 1: detectar el riel
¿Frescas o riel?
runs = [12.1, 12.1, 12.1, 12.1]
print("únicas:", len(set(runs)), "-> riel: n real = 1")
Ver solución razonada
1 única en 4: riel total. No validar ni informar EE: arreglar semillas y repetir.
Ejercicio 2: maestra + índice
¿Semillas para 5 réplicas con maestra 99?
print([99+i for i in range(5)], "(únicas, auditables, reproducibles)")
Ver solución
[99…103]: cualquiera reproduce la réplica 3 con semilla 101. Trazabilidad total.
Ejercicio 3: CRN declarado
¿Cómo comparar A/B con menos ruido?
Ver una posible respuesta
print("A_i y B_i con semilla 1000+i: la diferencia cancela el azar común.")
print("Documentar CRN; estimar solo con frescas independientes.")
El pareo por semilla aísla el efecto del tratamiento. Sin documento CRN, parece riel.
09 · Síntesis
Ideas para recordar
- Semilla propia (maestra + i) + rng local + estado fresco = independencia.
- s ≈ 0 en sistema estocástico = alarma, no precisión.
- Maestra archivada + log de semillas: auditoría de 30 segundos.
- CRN solo pareado, diseñado y declarado para comparar.
- Sin independencia no hay EE, IC, n* ni comparación válidos.
En el próximo tema domaremos el arranque: período de calentamiento.