2.3. PRUEBAS ESTADÍSTICAS DE ALEATORIEDAD PARA LOS NÚMEROS PSEUDOALEATORIOS: DE MEDIAS, DE VARIANZA, DE INDEPENDENCIA Y DE BONDAD DE AJUSTE Propi!"!# ! $o# %&'ro# p#(!o"$")orio# Es deseable que los números pseudo-aleatorios uniformes posean las siguientes características: • • • • • •
Uniformemente distribuidos. Estadísticamente independientes. Reproducibles. Periodo largo. Generados mediante un método rápido. Generados mediante un método que no requiera muca capacidad de almacenamiento de la computadora.
Generar un con!unto de números pseudo-aleatorios es una tarea relati"amente sencilla# para ello# el lector s$lo tiene que dise%ar su propio algoritmo de generaci$n. &o que resulta difícil es dise%ar un algoritmo que genere un con!unto de números pseudo-aleatorios con periodo de "ida suficientemente grande '() * además pase sin problema las pruebas de uniformidad e independencia# lo cual implica e"itar problemas como éstos: + ,ue los números del con!unto no estén uniformemente distribuidos# es decir# que a*a demasiados números en un sub-inter"alo * otro mu* pocos o ninguno. +
,ue los números pseudo-aleatorios sean discretos en lugar de continuos.
+ ,ue la media del con!unto sea mu* alta o mu* ba!a# es decir# que esté por arriba o por deba!o de . + ,ue la "ariana del con!unto sea mu* alta o mu* ba!a# es decir# que se localice por arriba o por deba!o de /0/1. E2isten "arios métodos para generar números pseudo-aleatorios. 3 continuaci$n se presentan los más importantes.
E$ M*)o!o ! C%)ro# "$ C("!r"!o +M*)o!o ! $o# ("!r"!o# '!io#Este método es debido a "on (eumann * tiene fundamentalmente s$lo interé interés s ist$r ist$rico ico.. El método método de centro centros s al cuad cuadra rado do se apeg apega a a la siguie siguient nte e metodología: /. 4nici 4nicie e con un númer número o entero entero positi positi"o "o de 5 '1n) '1n) dígito dígitos s * llámel llámele e 6 7 '87)# llamado semilla. 1. Ele"e 67 '87) al cuadrado para obtener un número de 9 '5n) dígitos. i es necesario# agregue ceros a la iquierda para acerlo e2actamente de 9 dígitos.
;.
. =ontinué generando de esta forma números pseudoaleatorios U'7#/)
D#%)"/" !$ '*)o!o ! %)ro# "$ ("!r"!o: •
•
•
/. &os generadores congruenciales lineales generan una secuencia de números pseudoaleatorios en la cual el pr$2imo número pseudoaleatorio es determinado a partir del último número generado. 3 continuaci$n se presentan los dos más importantes: el método congruencial mi2to lineal * el método congruencial multiplicati"o lineal.
M*)o!o ! L0'r El método consiste en los siguientes pasos: /. e toma como semilla un numero entero# 27# de n cifras. 1. e elige otro entero# c# de @ cifras. uele tomarse @ A n. ;. e calcula 27 + c# numero de# a lo sumo# n B @ cifras. 5. e separan las @ cifras de la iquierda de 27 + c * al número formado por las n =ifras restantes se le resta el que forman esas @ cifras de la iquierda# dando lugar a 2/. >. e repite este proceso tantas "eces como sea necesario. C. e de"uel"en los "alores. E!emplo 1.;./ 2; D 9/5> 2; + c D C/F?717 ?717 C/ D 9?>? 25 D 9?>? 25 + c D C9F7995 7995 C9 D 79/C 2> D 79/C 2> + c D 7CF17/C 17/C 7C D 17/7 He esta forma u7 D 7. 5/11 u/ D 7. ;15/ u1 D 7. C1?1 u; D 7. 9/5>
u5 D 7. 9?>? u> D 7. 79/C 7# se tiene 27 + c D /7F7777 * así 2/ D 7777 /7 D /7 A 7. Este es precisamente uno de &os peores incon"enientes de este método: la aparici$n de integrantes negati"os.
M*)o!o Co%1r(%i"$ Mi)o Li%"$ El pr$2imo número pseudo-aleatorio es determinado a partir del último número generado# es decir el número pseudo-aleatorio 8nB/ es deri"ado a partir del número pseudo-aleatorio 8n &a relaci$n de recurrencia para el generador congruencial mi2to es %456+" %4- 'o! '# en donde
76 # $" #i'i$$" '87I7) "6 $ '($)ip$i"!or 'aI7) 6o%#)"%) "!i)i" 'cI7) '6 $ 'o!($o 'mI8nJ mIaJ mIc) 7,", 87 Esta relaci$n de recurrencia nos dice que %45 es el residuo de di"idir a %4 entre el modulo. &o anterior significa que los "alores posibles de %45 son 7# /# 1 , 39 '5# es decir# m representa el número posible de "alores diferentes que pueden ser generados.
E/'p$o: supongamos que se tiene un generador en el cual los "alores de sus parámetros son: "D > D 7D5 'D9 El generador quedara de la siguiente manera:
%456 +; % 4 <- 'o! = %
%
+; %4<->=
%45+R#i!(o-
N&'ro# "$")orio#
/ 1
5 ;
109 1109
; C
;09D7.;> C09D7.>
e deben tener en cuenta las siguientes condiciones: •
" debe ser un número impar# no di"isible ni por ; ni por >.
•
usualmente puede ser cualquier constante# sin embargo# para asegurar
•
buenos resultados# se debe seleccionar a de tal forma que# a mod 9D> para una computadora binaria# o a mod 177D1/ para computadora decimal. ' debe ser el número entero más grande que la computadora acepte.
E$ M*)o!o Co%1r(%i"$ '($)ip$i")io 3l igual que el generador congruencial mi2to lineal# el generador congruencial multiplicati"o determina el pr$2imo número pseudo-aleatorio a partir del último número generado# de acuerdo a la siguiente f$rmula:
?@r'($": %6i45+"i- 'o! ' R%6 %>'5 E!emplo Kétodo =ongruencial Kultiplicati"o Lallar los números pseudoaleatorios de / a > con el método congruencial multiplicati"o de 8iD/# aD; * mD/77 Mormulas: nD8iB/D'a8i)Kod m RnD8n0m-/ /D8iB/D';N/)Kod /77 /D8iB/D'>/)Kod /77 /D8iB/DKod >/0/77 /D8iB/D7.>/D>/
RnD>/0/77-/ RnD>/0?? RnD7.>/
1D8iB/D';N>/)Kod /77 1D8iB/D'/>;)Kod /77 1D8iB/DKod />;0/77 1D8iB/D/.>;D>;
RnD>;0/77-/ RnD>;0?? RnD7.>;
;D8iB/D';N>;)Kod /77 ;D8iB/D'/>?)Kod /77 ;D8iB/DKod />?0/77 ;D8iB/D/.>?D>?
RnD>?0/77-/ RnD>?0?? RnD7.>?
5D8iB/D';N>?)Kod /77 5D8iB/D'/)Kod /77 5D8iB/DKod /0/77 5D8iB/D/.D
RnD0/77-/ RnD0?? RnD7.
>D8iB/D';N)Kod /77 >D8iB/D'1;/)Kod /77 >D8iB/DKod 1;/0/77 >D8iB/D1.;/D;/
RnD;/0/77-/ RnD;/0?? RnD7.;/
%
%
R%
/
>/
7.>/
1 ; 5 >
>; >? ;/
7.>; 7.>? 7. 7.;/