Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Facultad de Ingenierı́a
Ingenierı́a Civil Industrial
Marcel Favereau
1 Introducción
3 Otros Generadores
1 Introducción
3 Otros Generadores
x2
tiempos de servicio, tamaños de 96
demanda, etc. 94
90
obtener conveniente y eficientemente
90 95 100 105 110
valores aleatorios a partir de una x1
distribución de probabilidades deseada
Al comienzo del siglo XX, los estadı́sticos se unieron a los jugadores (de
apuestas) en su interés por los números aleatorios, y se construyeron
dispositivos mecanizados para generar números aleatorios más rápidamente
Al comienzo del siglo XX, los estadı́sticos se unieron a los jugadores (de
apuestas) en su interés por los números aleatorios, y se construyeron
dispositivos mecanizados para generar números aleatorios más rápidamente
Al comienzo del siglo XX, los estadı́sticos se unieron a los jugadores (de
apuestas) en su interés por los números aleatorios, y se construyeron
dispositivos mecanizados para generar números aleatorios más rápidamente
Otro dispositivo electrónico fue usado por la Corporación Rand (1955) para
generar una tabla con un millón de dı́gitos aleatorios
Al comienzo del siglo XX, los estadı́sticos se unieron a los jugadores (de
apuestas) en su interés por los números aleatorios, y se construyeron
dispositivos mecanizados para generar números aleatorios más rápidamente
Otro dispositivo electrónico fue usado por la Corporación Rand (1955) para
generar una tabla con un millón de dı́gitos aleatorios
Muchos otros esquemas han sido ideados, tales como elegir números
“aleatorios” de la guı́a telefónica o reportes censales, o usar dı́gitos en una
expansión de π a 100 000 lugares decimales
Y, ¿por qué no usar una tabla como la de la Corporación Rand? Porque esto
implicarı́a grandes requisitos de memoria para operaciones relativamente
lentas
Y, ¿por qué no usar una tabla como la de la Corporación Rand? Porque esto
implicarı́a grandes requisitos de memoria para operaciones relativamente
lentas
2 Tomar los cuatro dı́gitos del medio de este número de ocho dı́gitos como el
próximo número de cuatro dı́gitos, Z1 . Poner un punto decimal a la izquierda
de Z1 para obtener el primer número aleatorio U (0, 1). Por ejemplo,
3 Luego, hacer que Z2 sea igual a los cuatro dı́gitos del medio de Z12 y hacer
que U2 sea igual a Z2 con un punto decimal a la izquierda, y ası́
sucesivamente
i Zi Ui Zi2
0 7182 — 51 581 124
1 5811 0,5811 33 767 721
2 7677 0,7677 58 936 329
3 9363 0,9363 87 665 769
4 6657 0,6657 44 315 649
5 3156 0,3156 09 960 336
.. .. .. ..
. . . .
1 Introducción
3 Otros Generadores
c(αi − 1)
i
Zi = α Z0 + (mod m),
α−1
i Zi Ui i Zi Ui i Zi Ui i Zi Ui
0 7 — 5 10 0,625 10 9 0,563 15 4 0,250
1 6 0,375 6 5 0,313 11 0 0,000 16 7 0,438
2 1 0,063 7 12 0,750 12 3 0,188 17 6 0,375
3 8 0,500 8 15 0,938 13 2 0,125 18 1 0,063
4 11 0,688 9 14 0,875 14 13 0,813 19 8 0,500
14
12
10
8
1
Zi
6
4
2
0
0 2 4 6 8 10 12 14
Zi
Definición 2.1
El periodo es el mı́nimo entero ρ > 0 tal que, para algún τ ≥ 0 y para todo η ≥ τ ,
tenemos sρ+η = sη , donde
s0 , s1 , s2 , . . . sτ , sτ +1 , . . . , sτ +ρ → sτ +1 , . . . , sτ +ρ
| {z } |{z}
periodo transiente sτ
Para los LCGs, Zi sólo depende del entero previo Zi−1 y, ya que
0 ≤ Zi ≤ m − 1, es claro que el periodo es a lo más m. Si, de hecho, es m,
se dice que el LCG posee periodo completo (full period). (El LCG del ejemplo
tiene periodo completo)
Para los LCGs, Zi sólo depende del entero previo Zi−1 y, ya que
0 ≤ Zi ≤ m − 1, es claro que el periodo es a lo más m. Si, de hecho, es m,
se dice que el LCG posee periodo completo (full period). (El LCG del ejemplo
tiene periodo completo)
Para los LCGs, Zi sólo depende del entero previo Zi−1 y, ya que
0 ≤ Zi ≤ m − 1, es claro que el periodo es a lo más m. Si, de hecho, es m,
se dice que el LCG posee periodo completo (full period). (El LCG del ejemplo
tiene periodo completo)
Debido a que los proyectos de simulación de gran escala pueden usar millones
de números aleatorios, es totalmente deseable tener LCGs con periodos
largos. Más aún, los LCGs de periodo completo asegurar que cada entero
entre 0 y m − 1 ocurrirá exactamente una vez en cada ciclo, lo que deberı́a
contribuir a la uniformidad de los Ui ’s
Teorema 2.1
El LCG definido en (1) tiene periodo completo si y sólo si se cumplen las
siguientes tres condiciones:
1 El único entero positivo que (exactamente) divide a m y c es 1. (Esto a
menudo se establece como que “c es primo relativo a m”)
2 Si q es un número primo (divisible por sı́ mismo y 1) que divide a m,
entonces q divide a α − 1
3 Si 4 divide a m, entonces 4 divide a α − 1
1 Introducción
3 Otros Generadores
Los LCGs pueden considerarse como un caso especial de generadores definidor por
donde g(·) es una función determinı́stica fija de los Zj ’s anteriores. Al igual que
con los LCGs, los Zi ’s definidos por (2) caen entre 0 y m − 1, y los números
aleatorios U (0, 1) están dados por Ui = Zi /m. (Para los LCGs, g(·) es
g(Zi−1 , Zi−2 , . . . ) = αZi−1 + c)
Una generalización obvia de los LCGs serı́a considerar
2
g(Zi−1 , Zi−2 , . . . ) = βZi−1 + αZi−1 + c, que produce un generador
congruencial cuadrático (QCG)
Un caso especial es cuando β = α = 1, c = 0 y m es una potencia de 2.
Aunque este generador resulta ser muy similar al método de los cuadrados
medios, tiene mejores propiedades estadı́sticas. Puesto que Zi sigue
dependiendo de Zi−1 y, ya que 0 ≤ Zi ≤ m − 1, el periodo de los QCGs es de
a lo más m
L’Ecuyer (1999) llevó a cabo una búsqueda extensiva para encontrar una buena
configuración de parámetros y suministró pequeños, portables y rápidos códigos en
el lenguaje C para varios casos recomendados. El más simple, donde J = 2 MRGs
son combinados, es definido para todo i ∈ I por
para los enteros 0 < r < q. La ecuación (7) se acelera observando que el
módulo 2 es equivalente a la instrucción exclusive-or (XOR) en bits:
(
0 bi−r = bi−q
bi = ,
1 bi−r 6= bi−q
que se denota por bi = bi−r ⊕ bi−q . Para inicializar la secuencia {bi }, se debe
especificar b1 , b2 , . . . , bq (como una semilla), con i > q
Wi
Ui = ∀i = 1, 2, . . .
2l
1 Introducción
3 Otros Generadores
Ejemplo
Considerar el generador Xi = (13Xi−1 )(mod 64). Tenemos
Corolario 4.2.1
Xi = (αXi−1 + c)(mod 2n ) (con c, n > 1) tiene ciclo completo si c es impar y
α = 4k + 1 para k ∈ Z+
Teorema 4.3
El generador multiplicativo Xi = (αXi−1 )(mod m), con m primo tiene periodo
completo (m − 1) si y sólo si (i) m divide a αm−1 − 1; y (ii) para todo entero
i < m − 1, m no divide a ai − 1
Observación
Para m = 231 − 1, 534 600 000 multiplicadores (α) producen periodo completo, de
los cuales el “mejor” es α = 950 706 376 (Fishman & Moore, 1986)
Marcel Favereau (UNAB) Generación de Números Aleatorios ICI3217 / 2022-1 36 / 52
Algunos Ejemplos
60
50
60
40 50
40
1
Zi
30 30
Zi
20
20 10
0
10
60
50
0 40
0 10 30
0 10 20 30 40 50 60 20 20
+1
Zi 30
Zi
Zi + 2 40 50 10
60 0
60
50
40
1
30
Zi
20
10
0
0 10 20 30 40 50 60
Zi
Se ve mejor, ¿cierto?
Probar H0 : U1 , U2 , . . . , Un ∼ U (0, 1)
Intervalo [0,0; 0,2) [0,2; 0,4) [0,4; 0,6) [0,6; 0,8) [0,8; 1,0]
Ei 200 200 200 200 200
Ni 179 208 222 199 192
Resulta que
k
X (Ni − Ei )2
χ20 ≡ = 5,27.
i=1
Ei
Ya que χ20 < χ2α,k−1 , fallamos en rechazar H0 , y ası́ asumiremos que las
observaciones son aproximadamente uniformes
A : H, T, H, T, H, T, H, T, H, T, . . . (correlación negativa)
B : H, H, H, H, H, T, T, T, T, T, . . . (correlación positiva)
C : H, H, H, T, T, H, T, T, H, T, . . . (“correcto”)
Definición 4.1
Una corrida es una serie de observaciones similares
0,41 0,68 0,89 0,84 0,74 0,91 0,55 0,71 0,36 0,30 0,09 ...
+ + − − + − + − − − ...
++, −−, +, −, +, − − −, . . .
A − E[A]
Z0 = p ,
V(A)
Ejemplo ilustrativo
Suponer que n = 100 y A = 55. Luego, A ≈ N (66,33, 17,46), y ası́ Z0 = −2,71.
Si α = 0,05, luego zα/2 = 1,96, y rechazamos la independencia
0,41 0,68 0,89 0,84 0,74 0,91 0,55 0,71 0,36 0,30 0,09 ...
− + + + + + + + − − −...
−, + + + + + + +, − − − . . .
El estadı́stico de prueba es
B − E[B]
Z0 = p ,
V(B)
y rechazamos H0 si |Z0 | > zα/2 .
Illustrative Example
Suponer que n = 40, con la siguiente secuencia +/−:
− + + + + + + + − − − + + − + − − − −−
− − + + − − − − + + − − + − + − − + +−
. .
Luego, n1 = 18, n2 = 22 y B = 17. Esto implica que E[B] = 20,3 y V(B) = 9,54.
Y, esto da Z0 = −1,07.
Ya que |Z0 | < zα/2 = 1,96, fallamos en rechazar la prueba; ası́ que, podemos
tratar las observaciones como independientes
Prueba de correlación
Asumiendo que los Uj ’s son todos U (0, 1), realicemos una prueba de correlación
para H0 : Uj ’s independientes.
Definimos la correlación de un retraso (lag-1 correlation) de los Uj ’s como
ρ ≡ Corr(Uj , Uj+1 ). Idealmente, ρ debe ser igual a 0. Un buen estimador para ρ
está dado por
n−1
12 X
ρ̂ ≡ Uk U1+k − 3.
n−1
k=1
0,29 0,38 0,46 0,29 0,69 0,73 0,80 0,74 0,99 0,75
0,88 0,66 0,56 0,41 0,35 0,22 0,18 0,05 0,25 0,36
0,39 0,45 0,50 0,62 0,76 0,81 0,97 0,72 0,11 0,55
Después de un poco de álgebra, tenemos
13n − 19
ρ̂ = 0,95 and V(ρ̂) = = 0,441.
(n − 1)2
√
Ası́, Z0 = 0,95/ 0,441 = 1,43.
Ya que |Z0 | < zα/2 = 1,96, fallamos en rechazar la prueba, lo que implica que
podemos tratar los PRNs como independientes. (Obviamente, n = 30 es algo
pequeño, y quizás esta decisión cambiarı́a si aumentamos n)
Marcel Favereau