Professional Documents
Culture Documents
el m.c.m. de
1
,
2
. Como X
n
= X
n+
para todo n a partir de cierto
N (pues X
0
no necesariamente pertenece al ciclo), se tiene que Y
n
= Y
n+
y
Z
n
= Z
n+
, de modo que
,
Y
n
= Y
n+
y Z
n
= Z
n+
(analogamente, para todo n a partir de cierto N
).
Por (7) se tiene entonces que X
n
= X
n+
, de modo que
. Por lo tanto,
=
1)/(a 1) 0 mod p
e
, entonces
= p
e
si y solo si
_
a 1 mod p si p > 2,
a 1 mod 4 si p = 2.
Demostracion. Supongamos que = e
p
. Si a 1 mod p, entonces (a
n
1)/(a
1) 0 mod p si y solo si a
n
1 0 mod p
e
, y a
p
e
1 0 mod p
e
implica que
a
p
e
1 mod p. Pero el peque no teorema de Fermat nos dice que a
p
e
a mod p,
de modo que a 1 mod p lleva a una contradiccion.
Veamos que sucede cuando p = 2 y a 3 mod 4. Luego a 1 mod 2
2
, de
modo que o a 1 mod 2
3
o a 3 mod 2
3
. Aplicando el lema 1 de esta seccion
se tendra lo siguiente
a
2
1 mod 2
3
, a
2
1 mod 2
4
a
4
1 mod 2
4
, a
4
1 mod 2
4
. . .
a
2
e1
1 mod 2
e+1
, a
2
e1
1 mod 2
e+2
. (10)
Notemos tambien que (a
2
e1
1)/(a 1) es entero, pues es igual a la serie
1+a
1
+. . .+a
2
e1
1
. Pero 2
y
, y 2 no divide a a1 (en caso contrario se tendra
una contradiccion con que a 1 mod 4). De (10) se tiene que a
2
e1
1
1 =
r2
e+1
. Las expresiones a ambos lados son divisibles por a 1, y al dividir por
a1 se elimina a lo mas un factor 2 (por las observaciones anteriores). Entonces
se tiene que (a
2
e1
1)/(a 1) = r
2
e
, para alg un entero r
, es decir,
a
2
e1
1
a 1
0 mod 2
e
.
Esto muestra que en general es condicion necesaria tener a = 1+qp
f
, con p
f
> 2,
y que q no sea un m ultiplo de p cuando = p
e
. Ahora veamos que es condicion
5
suciente tener = p
e
. Aplicando el lema 1 repetidamente (de manera similar
a como ya se hizo) tendremos que
a
p
g
1 mod p
f+g
, a
p
g
1 mod p
f+g+1
,
para todo g 0, y por lo tanto
(a
p
g
1)/(a 1) 0 mod p
g
(a
p
g
1)/(a 1) 0 mod p
g+1
.
(11)
En particular (a
p
e
1)/(a 1) 0 mod p
e
. Entonces para la secuencia con-
gruencial (0, a, 1, p
e
) se cumple X
n
= (a
n
1)/(a 1) mod p
e
, de modo que
tiene periodo de longitud , esto es, X
n
= 0 si y solo si n es m ultiplo de . Lue-
go p
e
es m ultiplo de . Esto sucede solo si = p
g
para alg un g, y las ecuaciones
(11) implican que = p
e
, lo cual completa la demostracion del teorema 1.
Se ha analizado el caso en que c = 0. Ahora se analizara cuando c = 0.
Evidentemente el maximo periodo no se puede alcanzar en este caso, pues al
menos el valor 0 no puede aparecer, pues ahora la secuencia esta dada por
X
n+1
= aX
n
mod m, es decir,
X
n
= a
n
X
0
mod m. (12)
En general, si d divide a m y para cierto k, X
k
es m ultiplo de d, X
k+1
, X
k+2
, . . .
tambien seran m ultiplos de d. Este comportamiento no sera muy aleatorio, de
modo que si c = 0, buscaremos que X
n
sea primo relativo a m para todo n.
Luego, la maxima longitud de periodo posible podra (m) (funcion de Euler).
Por el lema 3, el periodo estara determinado por los periodos de las secuen-
cias en las que m = p
e
, as que consideremos a m como tal. Si a es m ultiplo
de p, el periodo sera de longitud 1 (esto es claro por (12): si a e m ultiplo de
p, a
n
sera m ultiplo de p
e
, para todo n N, para alg un N), as que tome-
mos a primo relativo con p. El periodo q es entonces el menor entero tal que
X
0
= a
q
X
0
mod p
e
.
Determinar como elegir a de manera que se maximice el periodo requiere
un analisis mucho mas extenso que el dado cuando c = 0. Sin embargo, Knuth
menciona los siguientes teoremas para hacerlo.
Denimos el orden de a modulo m (a coprimo con m) como el mnimo entero
tal que a
(F
n
(x) F(x))
2
(x) dF(x)
como en la prueba de Anderson-Darling.
4.2. Prueba de frecuencia
Tambien conocida como la prueba Chi-cuadrada (
2
) fue inventada por
Pearson en 1900. La idea de esta prueba es la siguiente: Supongamos que cada
una de n observaciones independientes cae en una de k categoras disjuntas (una
observacion no puede caer en 2 categoras distintas). Sea p
i
la probabilidad
de que una observacion caiga en la i-esima categora y sea Y
i
el n umero de
observaciones que calleron en la i-esima categora. Entonces el valor esperado
del n umero de ocurrencias en la i-esima categora es np
i
y pensaramos que
Y
i
np
i
. As que la estadstica
V =
k
i=1
(Y
s
np
s
)
2
nos mide, en cierta manera, la discrepancia entre el valor esperado y el valor
real. Cua es un valor razonable para dicha cantidad?
Si p
i
es peque no en comparacion con p
j
, entonces, ligeras variaciones en (Y
i
np
i
)
2
son mas signicativas que en (Y
j
np
j
)
2
. As que no podemos ponderar
ambas cantidades de igual forma. Computemos entonces la siguiente cantidad:
V =
k
i=1
(Y
s
np
s
)
2
np
s
.
Dado que Y
i
np
i
, esperaramos que esta cantidad no sea muy grande. Sin
embargo siempre tendremos una discrepancia entre una variable aleatoria y su
valor esperado por lo tanto si V 0, podramos pensar que la muestra no es
muy aleatoria.
Esta cantidad es conocida como la estadstica chi-cuadrada, y su comporta-
miento asintotico es el de una variable aleatoria
2
con k 1 grados de libertad
(
2
(k)). Esto nos da una respuesta de cuan grande devera ser V .
Dado que la distribibucion
2
no tiene funcion de distribucion analitica, existen
tablas como la de abajo, en las que se muestran los valores que esta toma en
algunos puntos representativos.
En la primera columna aparecen valores enteros positivos que corresponden
a los grados de libertad. Mientras que en la primera la aparecen valores entre 0
9
p=0.01 p=0.05 p=.25 p=0.50 p=0.75 p=0.95 p=0.99
= 1 0.00016 0.00393 0.1015 0.4549 1.323 3.841 6.635
= 2 0.02010 0.1026 0.5754 1.386 2.773 5.991 9.210
= 3 0.1148 0.3518 1.213 2.366 4.108 7.815 11.34
= 4 0.2971 0.7107 1.923 3.357 5.385 9.488 13.28
= 5 0.5543 1.1455 2.675 4.351 6.626 11.07 15.09
= 6 0.8721 1.635 3.455 5.348 7.841 12.59 16.81
y 1 que corresponden a probabilidades. El signicado de un n umero x que esta
en la la y la columna p es el siguiente: La probabilidad de que una variable
aleatoria X con distribibucion
2
con grado de libertad tome un valor menor
o igual a x es p. Llamamos a x el cuantil de probabilidad p para la variable
aleatoria
2
().
As, si al computar la estadstica V con k = 7 obtenemos un valor mayor que
12,59, decimos que bajo la susposicon de la hipotesis nula ha ocurrido un evento
de probabilidad 0,05. Esta probabilidad podra ser peque na o no dependiendo
del contexto. Si consideramos que es muy peque na podemos,entonces, descartar
la hipotesis H
0
. Por otro lado si V tomara un valor muy peque no, digamo menor
que 1,635, al jarnos el la tabla vemos que este evento tiene una probabilidad
de 0.05.Nuevamente podemos descartar la hipotesis H
0
si se considera esta pro-
babilidad peque na.
Es com un tomar los cuantiles de probabilidades 0,05 y 0,95 como un interva-
lo razonable para la estadstica V. Sin embargo esto no es para nada una ley
absoluta ya que el que una probabilidad sea peque na o no depende de el contex-
to y/o de la percepcion del individuo. Knuth sugiere en su libro los siquientes
valores:
1. Si V es menor que el cuantil de probabilidad 0,01 o mayor que el de 0,99,
rechazamos la hipotesis H
0
2. Si V esta entre los cuantiles de probabilidad de 0,01 y 0,05 o entre los de
0,95 y 0,99, decimos que la hipotesis H
0
es sospechosa.
3. Si V esta entre los cuantiles de probabilidad de 0,05 y 0,1 o entre los de
0,9 y 0,95, decimos que la hipotesis H
0
es casi sospechosa.
Seg un Knuth la prueba debe realizarse al menos tres veces para distintas
muestras y, si en al menos dos de ellas la hipotesis resulta sospechosa, la recha-
zamos. Desde luego podemos ponernos mas estrictos y rechazar la hipotesis si
resulta sospechiza al menos una vez.
Basados en analisis empricos se hacen algunas recomendaciones para la prueba
como dividir el espacio en categoras con igual probabilidad y tomar muestras
lo sucientemente grandes para que en valor esperado en cada categora sea de
al menos 5.
Mencionado esto, procedemos a realizar la prueba al generador propuesto en el
presente trabajo, A, a un generador propuesto por Lewis, Goodman y Millar,
10
B, y al generador del lenguaje C, C.
Los generadores A y B funcionan con el metodo congruencial:
x
n+1
= (ax
n
+c) mod m
con los parametros a = 134132365, c = 1157625 y m = 536870912 para A y
a = 7
5
, c = 0 y m = 2
31
1 para B.
Para cada generador repetimos la prueba 5 veces con muestras distintas de
tama no 1000 y con 30 divisiones del intervalo unitario en intervalos de igual
longitud. La hiotesis nula H
0
es la muestra proviene de una distribibucion
continua uniforme en [0, 1].
Se obtuvieron los siguinetes tesultados para cara generador:
1. para el generador A, V tomo los valores 29,9 42,5 18,8 27,44 22,58,
2. para el generador B, V tomo los valores 32,12 32,9 18,8 25,88 23,84,
3. para el generador C, V tomo los valores 27,32 33,14 33,29 26,54 36,32.
Podemos ver como los tres generadores pasan la prueba satisfactoriamente.
Cabe mencionar, sin embargo, que estas prueba no es tan fuerte como lo son
algunas de la pruebas siguientes. De hecho los tres generadores que pasaron
estata prueba tienden a tener fallos en las demas.
4.3. Prueba de Kolmogorov-Smirnov
4.4. Prueba de Anderson-Darling
Esta prueba se basa en un estadstico que mide la diferencia entre la fucion
de distrubucion y la funcion de distribucion emprica. Denimos la estadstica
de Anderson-Darling de una muestra x
1
, ..., x
n
como:
A
2
=
_
(F
n
(x) F(x))
2
(x) dF(x)
donde F es la funcion de distribibucion de la hipotesis nula, F
n
es la funcion de
distribucion emprica de la muestra y esta dada por:
(x) =
1
F(x)(1 F(x))
.
Podemos ver que la funcion pondera la direrencia entre F(x) y F
n
(x) en cada
punto x R, dando mayor peso a las colas de la distribibucion, es decir, donde
F(x) es muy cercana a 0 o a 1.
Se demuestra en Anderson-Darling (1954) que A
2
se puede escribir como
A
2
= n
1
n
n
i=1
(2i 1)(log(F(x
(i)
)) log(1 F(x
(n+1i)
))),
11
o equivalentemente
A
2
= n
1
n
n
i=1
(2i 1) log(F(x
(i)
)) (2n + 1 2i)log(1 F(x
(i)
))
Donde x
(1)
, ..., x
(n)
es la muestra ordenada.
Observemos que no siempre es facil calcular F(x) para un distribibucion dada.
Por suerte la funcion de distribucion de una uniforme es facil de calcular.
Estos son algunos de los cuantiles de la distribibucion asintotica de la estadstica
de Anderson-Darling:
p=0.01 p=0.05 p=.10 p=0.90 p=0.95 p=0.99
0.201 0.283 0.346 1.933 2.492 3.880
Se aplico la prueba 15 veces a los tres generadores antes mencionados con
muestras de tama no 100. Nuevamente la hipotesis nula H
0
es la muestra viene
de una distribucion continua uniforme en [0, 1]. Los resultados obtenidos se
muestran a cuntinucion.
Para el generador A, A
2
tomo los siguientes valores:
_
_
0,4752 3,3088 0,7387 0,9465 0,3675
0,2451 1,2506 0,7478 0,5902 0,4988
0,5424 1,3219 1,7481 1,3884 1,8285
_
_
Aplicando los mismos criterios propuestos por Knuth marcamos con O las
veces que la muestra pasa las prueba, con X las veces que esta es sospehosa y
con XX las veces que se rechaza denitivamente la hipotesis:
_
_
O X O O O
X O O O O
O O O O O
_
_
Para el generador B tenemos A
2
tomo los siguientes valores:
_
_
0,6555 0,6079 0,3517 0,4546 0,8101
1,0950 0,6109 0,7992 3,0263 0,4697
0,6570 0,4586 0,2196 0,8067 0,2747
_
_
y haciendo lo mismo con los O, X y XX tenemos:
_
_
O O O O O
O O O X O
O O X O X
_
_
12
Por ultimo para el generador del lenguaje C, A
2
tomo los siguientes valores:
_
_
1,5764 1,2173 1,2716 3,3866 1,1083
0,2936 1,5138 1,6533 1,6136 1,9470
1,6309 1,3021 1,9687 1,6657 1,1548
_
_
y de igual forma
_
_
O O O X O
O O O O O
O O O O O
_
_
Podemos ver que en los tres casos ocurren uno o dos incidentes donde la
hipotesis H
0
resulta. sospechosa. Segun los criterios de Knuth el generador de
lenguaje C pasa la prueba pero lo otros dos no.
4.5. Independencia de intervalos
Las prueba que hemos aplicado hasta ahoro trabajan con la muestra sin
tomar en cuenta el orden en que esta es generada. Esta prueba en cambio con-
cierne principalmente en este orden.
Dividamos el intervalo unitario en k intervalos de misma longitud y contemos
en m umero de veces n
ij
que una ocurrencia x
m
en el intervalo i es seguida por
una ocurrencia x
m+1
en el intervalo j, formando as una matriz N = (n
ij
) de
k k. Si la distribucion de la que viene la muestra es es uniforme en [0, 1] y
tenemos observaciones independientes, uno esperara que no haya un orden en
los saltos de un intervalo a otro, y por lo tantos los n
ij
tendran todas el mismo
valor esperado,
n
k
2
. Good I. J. Muestra que si
n
i
=
k
j=1
n
ij
,
entonces
V = (
k
2
n
)
k
i=1
k
j=1
(n
ij
n
k
2
)
2
(
k
n
)
k
i=1
(n
i
n
k
)
2
se aproxima a una
2
con k(k 1) grados de libertad.
Es aqu donde los tres generadores fallan. Se aplico la prueba a 15 veces para
cada generador con una division de 10 intervalos. Los resultados obtenidos fue-
ron los siguientes
Para el generador A, V tomo los siguientes valores:
_
_
83,7 112,9 90,4 82,6 106,7
63,8 78,8 59,1 108,0 94,8
103,1 52,3 104,8 88,4 80,6
_
_
Con la misma notacion usada antes mostramos de manera mas ilustrativa los
resultado:
_
_
O O O O O
X O XX O O
O O O O O
_
_
13
Para el generador B su tiene:
_
_
73,3 96,7 91,4 103,7 91,4
98,7 91,2 60,9 71,3 97,4
88,8 71,7 66,8 102,7 79,3
_
_
_
_
O O O O O
O O XX O O
O O X O O
_
_
Y para el generador del lenguaje C se tiene:
_
_
118,4 100,7 105,8 105,6 71,4
94,8 62,4 91,3 73,4 107,28
113,3 109,6 130,8 64,8 86,3
_
_
_
_
O O O O O
O O XX O O
O O X O O
_
_
Podemos ver como los tres generadores dejan de pasar la prueba de manera
contundente en al menos una ocasion.
4.6. Prueba de la corrida
Esta es otra prueba que trabaja con el orden en el que la muestra es gene-
rada. La idea de esta es jarnos en las sucesiones crecientes o decrecientes de la
muestra. Una muestra con una larga sucesion monotona es altamente sospechosa
de no ser aleatoria.
Denicion 4.4. Si se cumple que x
i
> x
i+1
< x
i+2
, ..., < x
i+r
> x
i+r+1
, deci-
mos que x
i+1
, ..., x
i+r
es una corrida ascendente de longitud r. (Analogamente
se dene una corrida descendente).
Por ejemplo, en la serie de n umeros 1, 2, 9, 8, 5, 3, 6, 7, 0, 4 tenemos que hay
una corrida de longitud 3 seguida de dos corridas de longitud 1, una corrida de
longitud 4 y una corrida de longitud 2.
1, 2, 3 | 8 | 5 | 3, 6, 7 | 0, 4
Veamos que la longitud de las corridas no son independientes, pues corridas
largas tienden a ser seguidas de corridas cortas, y corridas cortas tienden a ser
seguidas de largas. As que, no podemos aplicar un test como los anteriores
a la longitud de las corridas. En vez de eso debemos computar la siguiente
estadstica:
V =
1
n 6
1i,j6
(up(i) nb
i
)(up(j) nb
j
)a
ij
,
14
donde up(i) es el n umero de corridas ascendentes de la longitud i, para i =
1, ..., 5, up(6) es el n umero de corridas ascendentes de longitud mayor o igual a
6 y a
ij
y b
i
son las entradas de la matriz y vector:
A =
_
_
_
_
_
_
_
_
4529,4 9044,9 13568 18091 22615 27892
9044,9 18097 27139 36187 45234 55789
13568 27139 40721 54281 67852 83685
18091 36187 54281 72414 90470 111580
22615 45234 67852 90470 113262 139476
27892 55789 83685 111580 139476 172860
_
_
_
_
_
_
_
_
B =
_
_
_
_
_
_
_
_
1
6
4
24
11
120
19
720
29
5040
1
840
_
_
_
_
_
_
_
_
El comportamiento asintotico de la estadstica V es el de una
2
con 6 grados
de libertad. Se sugiere que el tama no de la muestra sea de al menos 4000.
Hacemos la prueba 15 veces a cada generador con una muestra de tama no 6000.
Los resultados obtenidos se muestran a continuacion.
Para el generador A, V tomo los siguientes valores:
_
_
1,56 9,63 4,98 6,41 8,07
3,28 3,03 4,09 3,87 3,02
4,93 6,64 13,81 3,30 11,44
_
_
y con los mismo criterios ya mencionemos, mostramos de manera mas ilustrativa
los resultados,
_
_
X O O O O
O O O O O
O O X O O
_
_
Para el generador B, V tomo los siguientes valores:
_
_
1,40 9,27 2,88 10,68 1,87
3,20 4,68 11,40 7,76 5,11
3,17 5,86 6,89 2,61 5,76
_
_
_
_
X O O O O
O O O O O
O O O O O
_
_
Y para el generador C, V tomo los siguientes valores:
_
_
7,57 16,20 9,23 9,82 3,90
3,60 2,61 4,78 3,12 1,96
6,70 6,05 3,05 5,40 3,28
_
_
15
_
_
O X O O O
O O O O O
O O O O O
_
_
Veamos como los generadores B y C tienden a lo mas un incidente donde
la muestra es sospechosa. Sin embargo el generador A tiene dos. As que en un
sentido estricto, A no pasa la prueba.
5. Prueba Kolmogorov-Smirnov
5.1. Descripcion de la prueba
A continuacion se describira una prueba estadstica para vericar si una
muestra de dataos sigue una distribucion propuesta, y se usara esta prueba
para probar tres generadores de n umeros aleatorios.
Sean X
1
, X
2
, ..., X
n
variables aleatorias i.i.d. y sea F(x) su fncion de distri-
bucion. Su funcion de distribucion emprica F
n
(x), esta dada por:
F
n
(x) =
#{X
i
, i = 1, ..., n : X
i
x}
n
. (13)
La prueba Kolmogorov-Smirnov (prueba KS) puede ser usada cuando F(x)
es continua, y consiste en analizar las diferencias entre F(x) y F
n
(x). Es de
esperarse que si tenemos un mal generador de n umeros aleatorios tendra una
distrubicion emprica que no aproxima bien a la real. Para hacer la prueba
denimos las siguientes estadsticas:
K
+
n
=
n max{F
n
(x) F(x), x R};
K
n
=
n max{F(x) F
n
(x), x R}.
(14)
K
+
n
mide la maxima desviacion cuando F
n
(x) es mayor a F(x), y K
n
la
mide cuando F
n
(x) es menor a F(x).
El factor
n magnica K
+
n
y K
n
de tal forma que esta desviacion estandar
sea independiente de n. Se demostrara a continuacion que la desviacion estandar
de F
n
(x) es proporcional a
1
n
.
Proposicion 5.1. Para x jo, ((F
n
(x)) =
F(x)(1F(x))
n
.
Demostracion. Tenemos que nF
n
(x) = #{X
i
, i = 1, ..., n : X
i
x}, de donde
nF
n
(x) B(F(x)). Ahora:
V ar(F
n
(x)) =
1
n
2
V ar(nF
n
)
=
1
n
2
nF(x)(1 F(x))
=
F(x)(1 F(x))
n
.
16
Por lo tanto ((F
n
(x)) =
_
V ar(F
n
(x)) =
F(x)(1F(x))
n
.
De aqu se ve que sera mejor denir la estadstica:
K
+
n
=
n max{
F
n
(x) F(x)
_
F(x)(1 F(x))
, x R} (15)
Y respectivamente para K
n
, pero por efectos practicos consideraremos las
denidas en (14).
Figura 1: Puntos de porcentaje selectos para las funciones de distribucion de
K
+
n
y K
n
.
Una vez obtenidos los valores de K
+
n
y de K
n
, los podemos buscar en la
tabla de la gra 1, para as determinar si son razonables.
Las formulas (14) no son adecuadas para su implementacion en computadora.
Pero podemos ordenar las observaciones de tal forma que X
1
X
2
... X
n
17
y as las estadsticas estan dadas por:
K
+
n
=
n max{
j
n
F(X
j
), j {1, 2, .., n};
K
n
=
n max{F(X
j
j 1
n
), j {1, 2, .., n}.
(16)
Para determinar si la funcion de distribucion de las variables aleatorias X
j
es diferente a la propuesto se necesitara un valor relativamente grande de n;
pero por otra parte tomar n muy grande promediara los comportamientos no
aleatorios locales, que son una caracterstica altamente no deseada en la mayora
de las aplicaciones de un generador de n umeros aleatorios. Una estrategia para
evitar esto es tomar valores de n relativamente mas chicos, digamos 1000 y
calcular K
+
1000
un n umero signicativo, r, de veces para secuencias distintas,
obteniendo as :
K
+
1000
(1), K
+
1000
(2), ..., K
+
1000
(r). (17)
Y podemos aplicar de nuevo la prueba KS a estos resultados. Sea ahora
F
Kn
(x) la funcion de distribucion de K
+
n
(en este caso n=1000) y obtenemos la
funcion de distribucion emprica, F
r,Kn
(x) de igual forma que en (13) usando
(17). Para n grande podemos aproximar F
Kn
(x) por:
lm
n
F
Kn
(x) = 1 e
2x
2
, x 0. (18)
Lo mismo aplica para K
n
pues esperamos que se comporte de igual forma.
Esta tecnica de hacer diferentes pruebas para n moderadamente grande y com-
binar dichas observaciones aplicande de nuevo la prueba KS en ellas, tiende a
detectar comportamiento no aleatorio de forma local y global. Antes de realizar
esta prueba con generadores aleatorios presentaremos otra, que se puede usar
para aplicar la prueba KS.
5.2. Prueba del maximo de t
Proposicion 5.2. Sean U
1
, U
2
, .., U
t
variables aleatorias independientes con
distribucion uniforme en [0,1]. Sea V = max(U
1
, U
2
, .., U
t
) con F
V
(x) su fun-
cion de distribucion, entonces:
F
V
(x) = x
t
, 0 x 1.
Demostracion. Para 0 x 1:
F
V
(x) = P(V x)
= P(U
1
x, U
2
x, ..., U
t
x)
= P(U
1
x)P(U
2
x)...P(U
t
x), por independencia
= (F
U1
(x))
t
= x
t
.
18
Ahora podemos obtener n variables aleatorias V
j
, cada una para secuencias
independientes de t v.a.i. con distribucion uniforme en [0,1], para asi aplicar la
prueba KS a estas n variables aleatorias.
5.3. Realizaci on de prueba KS
Se realizo la prueba KS a tres generadores de n umeros aleatorios. Para ello se
obtuvieron (con cada algoritmo) 30 valores de K
+
500
, cada uno correspondiente a
500 valores de V
j
(denido en la seccion anterior) usando la prueba del maximo
de 5. Las guras 2, 3 y 4 muestran la comparacion de la distribucion emprica
(en azul) contra la aproximacion de la distribucion real (18) (en rojo) para los
tres algoritmos. Al aplicar la prueba KS a la informacion representada en las
guras 2, 3 y 4 , obtenemos los reultados presentes en la tabla 1.
Figura 2: Distribucion emprica de algoritmo propuesto por nosotros.
Fig 2 Fig 3 Fig 4
K
+
30
0.1655 0.4851 0.8424
K
30
0.6995 0.4797 0.5883
Cuadro 1: Prueba KS a datos de guras 2, 3 y 4.
En base a las guras 2, 3 y 4 y a la tabla 1 se puede concluir que el algoritmo
cuya aleatoriedad es mas staisfactoria es el presentado por el libro, pues los
19
Figura 3: Distribucion emprica de algoritmo propuesto por el libro.
Figura 4: Distribuci on emprica de algoritmo en la librera de C.
20
valores de K
+
30
y K
+
30
caen en los rangos esperados (consultados en la tabla
de la imagen 1), mientras el usado por C y el propuestos por nosotros son
sospechesos pues se encuentran en un rango mas raro pero tampoco demasiado
poco probable para que sean rechazados.
Figura 5: Repetidas pruebas KS para los tres algoritmos.
La gura 5 muestra una tabla con 15 pruebas KS como las de la tabla 1
para cada algoritmo; A: nuestro, B: libro, C: lenguaje C. El color indica el
rango en el que se encuentra los valores K
+
n
y K
n
de la tabla de la imagen
1; con negro(rechazar): 0 % 1 % o 99 % 100 %, rojo(sospechoso): 1 % 5 %
o 95 %99 % y gris(casi sospechoso): 5 %10 % o 90 %95 %. En base a esta
tabla se puede ver que el generador de C no puede ser considerado como bueno,
mientras el A y B son moderadamente satisfactorios.
6. Conclusi on
El metodo congruencial lineal para generar n umeros aleatorios es facil de
implementar, pero presenta una dicultad en la eleccion de sus parametros. A
pesar de que ciertas propiedades de teora de n umeros permiten optimizar cosas
como el periodo, no es claro la mejor eleccion para que el comportamiento sea
lo mas cercano posible a una variable aleatoria con distribucion uniforme en
[0,1]. Considerando esta dicultad se recurre a una gran diversidad de pruebas
estadsticas que evaluan diversos aspectos del generador, determinando que tan
parecido es cada aspecto, al de una variable aleatoria teorica.
Se realizaron varias pruebas en tres generadores aleatorios (el de C y dos
metodos congruenciales lineales, uno propuesto por nosotros y otro obtenido
de un libro). Los resultados de cada prueba no coincidieron completamente,
por ejemplo el algoritmo de C paso la prueba de Anderson-Darling, pero pre-
sento dicultades en la prueba Kolmogorov-Smirnov. Tambien hubieron pruebas
mas difciles, ning un algoritmo paso la prueba de independencia de inter-
valos. Esto se podra deberse a dos cosas; una, cada prueba eval ua aspectos
diferentes del generador y/o dos, los parametros de cada prueba (como el ta-
ma no de la muestra) a traves de las pruebas no tienen un balance. A pesar de
esto, ningun algoritmo fue completamente exitoso, de lo que se concluye, que
de los tres algoritmos para generar n umeros aleatorios probados, ninguno es
sucientemente bueno al simular una variable aleatoria uniforme.
21
Referencias
[1] Knuth D. E., The Art of Computer Programming, 2: Seminumerical Algo-
rithms (3rd ed.), Addison-Wesley Professional, (1982).
[2] DAgostino R. B., Stephens M. A., Goodness of t techniques vol. 68, Marcel
Dekker, Inc., (1986).
22