Generación de números rectangulares
El proceso de generar variables aleatorias no uniformes se hace a partir de la generación de
números rectangulares.
Formas para obtener los números rectangulares
• Provisión externa.
• Generación interna a partir de un proceso físico al azar.
• Generación interna de sucesiones de dígitos por medio de una relación de recurrencia.
Características deseables que deben tener los números rectangulares
• Uniformemente distribuidos.
• Estadísticamente independientes.
• Reproducibles.
• Período largo.
• Generados a través de un método rápido.
• Generados a través de un método que no requiera mucha capacidad de almacenamiento
de la computadora.
Generadores congruenciales lineales
Los dos métodos congruenciales más populares son:
•Congruencial mixto
Los generadores congruenciales lineales generan una secuencia de pseudoaleatorios en el
cual el próximo número pseudoaleatorio es determinado a partir del último número
generado, es decir, el número pseudoaleatorio Xn+1 es derivado a partir del número
pseudoaleatorio Xn.
Para el caso particular del generador congruencial mixto, la relación de recurrencia es la
siguiente:
Xn+1=(aXn +c)modm
Donde:
Xo = la semilla (Xo > 0)
a = el multiplicador (a > 0)
c = constante aditiva (c > 0)
m = el módulo (m > Xo, m > a y m > c)
Existe la necesidad de establecer algunas reglas que puedan ser utilizadas en la selección
de los valores de los parámetros.
Algunas de estas reglas se mencionan a continuación selección de:
* m. a. c. Xo.
a) Selección de m.
• Seleccionar “m” de modo que sea el número primo más grande posible y que a su vez sea
menor que pd, donde p es la base del sistema que se está utilizando y d es el número de
bits que tiene una palabra de computadora en ese sistema.
• Seleccionar “m” como pd. Cuando “m” considera este valor se facilita el cálculo del número
rectangular, ya que sólo se desliza el punto binario ó decimal a la izquierda del número.
b) Selección de a.
El valor seleccionado de “a” debe ser entero impar, y además no debe ser divisible por 3 ó
5.
Sin embargo, si se quiere asegurar que el generador tenga período completo, el valor de “a”
se debe seleccionar de acuerdo al siguiente criterio:
(a - 1) mod 4 = 0 si 4 es un factor de “m”.
(a - 1) mod b = 0 si b es un factor primo de “m”.
c) Selección de c.
El valor seleccionado para este parámetro debe ser cualquier constante.
Sin embargo, si se desean asegurar buenos resultados el valor de “c”debe ser c mod 8 = 5
si se desarrolla en un sistema binario y “c” como mod 200 = 21 si se realiza en un sistema
decimal.
Más específicamente, el valor de “c” debe ser un entero impar y relativamente primo a “m”.
d) Selección de Xo.
Para el generador congruencial mixto, se ha encontrado que el valor de la semilla es
irrelevante, es decir, el valor de este parámetro resulta tener poca o ninguna influencia
sobre las prioridades estadísticas de las sucesiones.
•Congruencial multiplicativo
El generador congruencial multiplicativo determina el próximo número pseudoaleatorio a
partir del último generado, de acuerdo a la siguiente relación de recurrencia:
Xn+1 = aXn mod m
Los valores de estos parámetros dependerán del sistema en que se realiza, es decir, estos
parámetros considerán valores distintos si se desarrolla un sistema decimal o binario.
Sistema decimal
Deben ser seleccionados de acuerdo a los siguientes criterios,
• El valor de la semilla puede ser cualquier entero impar no divisible entre 2 ó 5 y debe ser
relativamente primo a m.
• El valor seleccionado de “a” debe ser obtenido de acuerdo a la siguiente identidad:
a = 200t + p
donde “t” es cualquier entero y “p” es cualquiera
de los siguientes valores: 3,11,13,19,21,27,29,37,53,59,61,67,77,83,91.
•El valor seleccionado de “m” puede ser 10d.
Si m=10yd>5elperíododelgeneradores5x 10d-2.
Sistema binario.
Si se desarrolla un sistema binario, los valores de los parámetros deben ser seleccionados
de acuerdo a los siguientes criterios:
• El valor de la semilla puede ser cualquier entero impar relativamente primo a “m”.
• El valor seleccionado de “a” debe ser obtenido a partir de la siguiente expresión:
a = 8t + 3 donde “t” es cualquier entero.
•El valor seleccionado de “m” puede ser 2d. Si m = 2d el período del generador es 2d-2 ó
m/4.
Determine el período de los siguientes generadores congruenciales:
1) Xn+1 = (8 Xn + 16) mod 100 y X0 = 15
2) Xn+1 = (50 Xn + 17) mod 64 y X0 = 13
3) X = 5X mod 64 y X = 7 n+1n 0
4) Xn+1 = 11Xn mod 128 y X0 = 9