Está en la página 1de 5

GENERACION DE NUMEROS ALEATORIOS

Existen varios métodos para generar números aleatorios, uno de los más
conocidos es el método de congruencia, aunque con este método en
realidad se generan números pseudoaleatorios. Los generadores de números
deben tener varias propiedades básicas :

l. Cada número aleatorio debe estar distribuido uniformemente sobre el


intervalo [0,1].
2. Los números generados no deben estar correlacionados. Por ejemplo, la
secuencia: 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9; son números
uniformemente distribuidos entre 0 y 1 sin embargo cada número se
incrementa en 0.1
3. La rutina debe tener un ciclo suficientemente largo, estos es, debemos
poder generar una sucesión larga sin repetir los números aleatorios.
4. El promedio de los números generados, debe ser estadísticamente igual
a 0.5; y la varianza debe ser estadísticamente igual a 1/12.
5. Los números generados deben ser estadísticamente independientes.

METODO DE CONGRUENCIA.
Para utilizar este método, debemos aplicar la función matemática módulo.
AsÍ, f(x) mod m es el residuo de dividir m entre f(x) cuantas veces sea
posible. Por ejemplo:

7 mod 3 = 1
10 mod 2 = 0
231 mod 17 = 10

Note que el valor resultante siempre va a ser un entero entre 0 y m - l.


El generador congruente tiene la forma:

x i+l = f(Xi) mod m

donde f(Xi) es alguna función. Generalmente f(Xi) puede ser el generador


multiplicativo si:

f(xi) = a Xi

o el generador lineal si :
f(xi) = a Xi + c.
con ( i = 0,1,2...)

Con este método se produce una sucesión de enteros xl, x2, entre 0 y m-1
de acuerdo con la siguiente fórmula recursiva :

X i+1 = (axi) mod m G. multiplicativo

Xi+l = (axi+c) mod m G.lineal

Con i = 0,1,2 .......

Al valor inicial Xo se le llama la semilla, a es el multiplicador constante, c


el incremento.
El número aleatorio entre 0 y 1 se genera entonces con la ecuación:

R(i+1) =X (i+1) / m
Con i = 0, 1, 2......

EJEMPLO 1:
Con los siguientes datos, generar tres números aleatorios, utilizando el
generador congruente lineal:

Xo =35 a =13 c = 65 m = 100


EJEMPLO 2:
Con los siguientes datos, generar 15 números aleatorios, utilizando el
generador congruente multiplicativo :

xo = 1 a=6 m = 13
SOLUCION:

CONCLUSIONES:
El ciclo de este generador es 12.
Observe que cada entero generado es menor que m = 13.
Note además que teniendo solamente 12 números
randómicos diferentes, difícilmente constituye una
distribución uniforme continua. Para incrementar la
totalidad de los números randómicos, debemos hacer el
módulo lo más grande posible. Este es el
número entero más largo que la computadora pueda almacenar,
esto es :

(2 bit - l - 1)
para una computadora de 32 bit, tenemos:

2 32 - 1 - 1 = 2 31 - 1 = 2147483647.
N OT A :
No todos los generadores congruentes son buenos. Por ejemplo, el
generador lineal :

a=4 c=1 m=7 xo = 3

produce los siguientes resultados:

El ciclo de este generador es 4.

RECOMENDACIONES:
Se recomienda que lo mejor es usar números primos para el módulo
m.
Que a finalice en 01, 21, 41, 64, 81.
C debe ser un entero impar, no divisible ni por 3 ni por 5.
Sin embargo, esto no garantiza que los números generados no estén
correlacionados es decir que sean independientes, y además se debe aplicar
las pruebas de bondad de ajuste para verificar que dichos números sigan
una distribución uniforme.

También podría gustarte