domingo, 1 de mayo de 2011

METODO DE GENERACION DE NUMEROS ALEATORIAS




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 re­currencia 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 va­lor, 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 alea­torio 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 di­visible 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