Varios
esquemas han sido propuestos para la generación de los números seudo aleatorios
a través de relaciones matemáticas de recurrencia. Estos números se consideran
seudo aleatorios, porque aunque pasan todas las pruebas estadísticas de
aleatoriedad, ellos son de hecho completamente determinísticos. Actualmente,
casi todas las computadoras incluyen en sus programas de biblioteca alguna
variante de los métodos congruenciales sugeridos por Lehmer. Los dos
métodos congruenciales más populares son: congruencial mixto y
congruencial multiplicativo.
CONGRUENCIAL
MIXTO
Los
generadores congruenciales lineales generan una secuencia de números seudo
aleatorios en la cual el próximo número seudo aleatorio es determinado a partir
del último número generado, es decir, el número seudo aleatorio X,n+1 es
derivado a partir del número seudo aleatorio Xn.
Para
el caso particular del generador congruencial mixto, la relación de recurrencia
es la siguiente:
Xn+1 =
(a Xn + c) mod m
donde:
X0 =
la semilla (X0 >0)
a
= el multiplicador (a > 0)
c
= constante aditiva (c > 0)
m
= el módulo (m>X0, m>a y m>c)
Esta
relación de recurrencia nos dice que Xn+1 es el residuo de dividir a
Xn + c entre el módulo. Lo anterior significa que los valores posibles de
Xn+1 son 0,1, 2, 3,.... m —1, es decir, m representa el número posible de valores
diferentes que pueden ser generados.
Se
advierte la necesidad de establecer algunas reglas que puedan ser utilizadas en
la selección de los valores de los parámetros, para que el generador
resultante tenga período completo. Algunas de estas reglas se mencionan a
continuación:
a)
Selección de m.
Existen
dos opciones para seleccionar el valor apropiado del módulo:
1.
Seleccionar m de modo que sea el número primo mas grande posible y a que a su
vez sea menor que pd, donde p es la base del sistema (binario, decimal, hexadecimal,
etc.) que se esta utilizando y d es el número de bits que tiene una palabra de
computadora en ese sistema. Por ejemplo, si se tiene una computadora que
trabaja en sistema binario, entonces p = 2 y d = 32.
2.
Seleccionar m como pd. Cuando m toma este valor se facilita el cálculo del
número rectangular (Un = Xn/m), ya que solo se corre el punto binario o decimal
a la izquierda del número. Sin embargo, se ha comprobado que cuando el módulo
toma este valor, los últimos dígitos del número seudo aleatorio generado no se
comportan en forma aleatoria.
CONGRUENCIAL
MULTIPLICATIVO
Al
igual que el generador congruencial mixto, el generador congruencial
multiplicativo determina el próximo número seudo aleatorio a partir del último
número generado, de acuerdo a la siguiente relación de recurrencia:
Xn+1=
a Xn mod m
Para
este generador se recomienda también seleccionar adecuadamente los valores de
los parámetros a, X0 y m, con el fin de asegurar un período máximo para las
sucesiones generadas por este método. Los valores de estos parámetros dependerán
del sistema en que se trabaje, es decir, estos parámetros tomaran valores
distintos si se trabaja en sistema decimal, que si se trabaja en sistema
binario. Por consiguiente, a continuación se describen las reglas que se
recomiendan seguir para seleccionar los valores de a, X0 y m dependiendo de si
el sistema en que se trabaja es binario o decimal.
a)
Sistema decimal
Si
se trabaja en sistema decimal, los valores de los parámetros deben ser
seleccionados de acuerdo a los siguientes criterios:
1.
El valor de la semilla puede ser cualquier entero impar no divisible entre 2 ó
5 y debe ser relativamente primo a m.
2.
El valor seleccionado de a debe ser obtenido de acuerdo a la siguiente
identidad:
a
= 200 t ± p
No hay comentarios:
Publicar un comentario