Vous êtes sur la page 1sur 10

Unidad 2: GENERACION DE NUMEROS ALEATORIOS

1


Los seres humanos vivimos en un medio aleatorio y nuestro comportamiento lo es tambin.
Si deseamos predecir el comportamiento de un material, de un fenmeno climatolgico o de
un grupo humano podemos hacerlo a partir de datos estadsticos, pero para lograr una mejor
aproximacin a la realidad nuestra herramienta predictiva debe funcionar de manera similar,
es decir, aleatoriamente.

La importancia de los nmeros aleatorios radica en su uso para la generacin de variables
aleatorias ms complicadas que son requeridas en los experimentos de simulacin.

Un nmero aleatorio es aquel obtenido al azar, es decir, que todo nmero tenga la misma
probabilidad de ser elegido y que la eleccin de uno no dependa de la eleccin del otro. El
ejemplo clsico ms utilizado para generarlos es el lanzamiento repetitivo de una moneda o
dado.

La distribucin de probabilidad de una variable aleatoria es una funcin que asigna a cada
suceso definido sobre la variable aleatoria, la probabilidad de que dicho suceso ocurra.

1.1 PROPIEDADES DE LOS NMEROS ALEATORIOS

Independientemente del proceso o procedimiento que se utilice para la generacin de los
nmeros aleatorios, estos deben de poseer ciertas caractersticas deseables que aseguren o
aumenten la confiabilidad de los resultados obtenidos de la simulacin. Tales caractersticas
son:

1. Secuencias no correlacionadas: Esto significa que en una sucesin de nmeros
aleatorios, una subsecuencia de nmeros aleatorios no debe estar relacionada con
ninguna otra.

2. Independencia estadstica y equiprobabilidad: Lo cual implica que la probabilidad de
que un nmero especfico aparezca en la sucesin debe ser la misma para cada uno
de los elementos del conjunto de nmeros aleatorios; adems, la aparicin de un
nmero dentro de la sucesin no implica ni excluye la aparicin de cualquier otro.

3. Uniformemente distribuidos



1
Raul Coss. Simulacin un enfoque prctico. Captulo 2. Generacin de nmeros rectangulares
4. Reproducibles: Al repetir los parmetros del generador, se repite la secuencia

5. Eficiencia: Medida en trminos de la utilizacin de la capacidad de proceso de PC.
Se deben generar los nmeros aleatorios a travs de un mtodo rpido.

6. Perodo mximo: Los generadores de nmeros generalmente son cclicos, por lo cual
es deseable que cada uno de los elementos del conjunto aparezca exactamente una
vez en la secuencia antes de que empiecen a repetirse (ciclo completo), como se
ilustra en la figura 1. El perodo y las propiedades de la secuencia no deben
depender del valor inicial.


Figura 1. Ilustracin de una secuencia de nmeros aleatorios de periodo m.


1.2 TCNICAS PARA GENERACIN DE NMEROS ALEATORIOS

Existen tres formas para obtener los nmeros aleatorios de distribucin uniforme:

1. Provisin externa: Tener los nmeros aleatorios, como por ejemplo las tablas de la
Rand (tabla de 1 milln de nmeros aleatorios), y tratar a estos nmeros como datos
de entrada para el problema que se est simulando.

2. Generacin interna a partir de un proceso fsico al azar: Utilizar una interfaz de
captura de datos capaz de registrar los resultados de un proceso aleatorio (por
ejemplo tirar los dados) y adems, reduzca esos resultados a sucesiones de dgitos.

3. Generacin interna de sucesiones de dgitos por medio de una relacin de
recurrencia: Uno de los ms aceptados, implica la generacin de estos nmeros
aleatorios a travs de una relacin de recurrencia (generadores de nmeros
aleatorios).

Los generadores de nmeros aleatorios son procedimientos o rutinas utilizadas para generar
una secuencia de nmeros de naturaleza aleatoria. Para ello disponen de algoritmos
determinsticos, que son implementados como funciones (Rnd, Random, Rand, Randomize,
aleatorio, etc.) en los distintos lenguajes de programacin existentes, de manera que
cualquier usuario pueda utilizar stos en sus aplicaciones o programas.

1.2.1 Generadores de congruencia lineal (GCL)

La mayora de generadores de nmeros aleatorios que se usan actualmente son casos
especiales del generador propuesto por D. H. Lehmer, en el cual se escogen 4 nmeros
mgicos del conjunto de los nmeros enteros no negativos as:

x
o
valor inicial o semilla, x
o
0
o la constante multiplicativa, o 0
c la constante de incremento, c 0
m el modulo, hay m valores posibles de x
n
entre 0 y m 1, m >x
o
,o,c

La secuencia deseada de nmeros aleatorios es obtenida colocando:

x
n+1
=(ox
n
+c)(mod m) = rcsiJuo _
(ox
n
+c)
m
_

Esta es conocida como una secuencia lineal de congruencias o generador lineal de
congruencias, y se denota con GLC (x
0
,o,c,m). Por ejemplo, la secuencia GLC (8, 7, 5, 48)
de perodo z(m) =12, obtenida cuando x
0
=8,o =7,c =5,y m =48, se muestra en la
siguiente tabla (Ver archivo Unidad 2. Generacin de nmeros aleatorios.xls hoja aleatorios):



Analicemos detenidamente lo siguiente:

1. Los nmeros generados corresponden siempre a el residuo de la divisin de (ox
n
+c)
entre m, por lo que los posibles valores que se obtendrn son 0,1, 2, ..., m-2, m-1. Lo
anterior indica que los nmeros de la sucesin son completamente determinsticos
2
.
La aleatoriedad est asociada con el orden de aparicin de stos dentro de la
secuencia. Para un valor fijo del mdulo m, dicho orden depende de los tres nmeros
mgicos restantes, a saber: o, c y x
o


2. El valor dela semilla x
o
vuelve a aparecer luego de una serie de iteraciones, y genera
un ciclo de nmeros que se repite indefinidamente. El ciclo repetitivo origina el perodo
de la sucesin, el cual corresponde al nmero de trminos diferentes generados en la
secuencia, y su longitud se denota por z(m). En el ejemplo de la tabla, el perodo
z(m) =12 por lo que x
o
= x
12
= x
24
= x
36
= x
48


3. Algunas sucesiones se degeneran, esto es, el primer valor en repetirse en la
secuencia no siempre es la semilla, esto ocurre cuando a y m no son primos relativos
(mximo comn divisor 1). Hacer el ejercicio con GLC (8, 6, 5, 48) (Ver archivo
Unidad 2. Generacin de nmeros aleatorios.xls hoja aleatorios)

4. Lo deseable sera obtener sucesiones de nmeros aleatorios no degeneradas de
perodo mximo. Hacer el ejercicio con GLC (8, 25, 5, 48), para ver que el perodo es
el mximo z(m) =48, aqu cada uno de los potenciales residuos aparece
exactamente una vez en la sucesin, antes de que la semilla (8) se repita. Observe
que la aleatoriedad est asociada con el orden de aparicin de los nmeros en la
sucesin y que basta cambiar la semilla para obtener otra sucesin aleatoria de
perodo mximo. Hacer el ejercicio con GLC (43,25,5, 48) (Ver archivo Unidad 2.
Generacin de nmeros aleatorios.xls hoja aleatorios)

De los ejemplos anteriores se deduce que los nmeros aleatorios no deben ser generados
con mtodos escogidos al azar. Alguna teora que nos permita encontrar nmeros
(x
0
, o, c, m) que produzcan una secuencia suficientemente aleatoria de nmeros, con un
perodo mximo z(m) y con un mnimo de tiempo de computadora, debe ser usada.

1.2.1.1 Escogencia del mdulo (m)

El mdulo puede ser cualquier entero positivo; se sugiere escoger un nmero grande para m,
ya que ste coincide con el mximo perodo
3
.

m = _p

c
i
k
=1
p

es un factor primo
4
de m,y c

0
Seleccionar m de modo que sea el mximo nmero primo, menor que p
c


2
Determinstico: Es completamente predictivo si se conocen sus entradas. Si se conocen las entradas siempre producir la
misma salida.
3
Multiplicatoria: Smbolo matemtico que simplifica la operacin de multiplicacin finita o infinita de factores mediante
p

c
i
k
=1
=p
1
c
1
p
2
c
2
p
k
c
k


1.2.1.2 Escogencia del multiplicador (a)

El valor seleccionado de a debe ser entero no negativo menor que m, y primo.

(a 1) debe ser un mltiplo de p, para cada primo p que divide a m
(a 1) debe ser un mltiplo de 4, si m es mltiplo de 4

Estas dos condiciones definen el conjunto A de las aes.
A =_
|o | 0 o <m, o [1]
M.C.M (P
1
,P
2
,,P
K-1
,P
K
,4)
} si 4 divide a m
|o | 0 o <m, o [1]
M.C.M (P
1
,P
2
,,P
K-1
,P
K
)
} si 4 no divide a m


Por lo que cualquier a es de la forma:

A =1 +M.C.M. (p
1
, p
2
, , p
k-1
, p
k
, 4)*t; t es un entero positivo, si 4 divide a m

A =1 +M.C.M. (p
1
, p
2
, , p
k-1
, p
k
)*t; t es un entero positivo, si 4 no divide a m

1.2.1.3 Escogencia de la semilla (x
0
)

El valor inicial o semilla (x
0
) debe ser un entero no negativo menor que m.

1.2.1.4 Escogencia del incremento (c)

El incremento c debe ser un entero positivo menor que m y primo relativo
5
con m. Esta es
precisamente la definicin de nmeros de Euler. La funcin de Euler (m) nos permite
calcular el nmero total de posibles valores para c.

(m) = _p

c
i
-1
(p

1)
k
=1
Por lo tanto hay (m) posibles valores para c en
E ={c|0<c <m,(c,m) =2},(c,m)es el mximo comn divisor entre c y m

1.2.1.5 Ejemplo

El modulo m =48 =2
4
* 3
1
=16 * 3 =48

p
1
=2,c
1
=4


p
2
=3,c
2
=1

4
Los factores primos de un nmero entero son los nmeros primos divisores exactos de ese nmero entero. El proceso de
bsqueda de esos divisores se denomina factorizacin de enteros, o factorizacin de primos. Ejemplo: Cul es la
factorizacin en primos de 147? Podemos dividir 147 exactamente entre 2? No, as que probamos con el siguiente nmero
primo, 3: 147 3 =49 Ahora intentamos factorizar 49, y vemos que 7 es el primo ms pequeo que funciona: 49 7 =7 Y
con esto terminamos, porque todos los factores son nmeros primos: 147 =3 7 7 =3 7
2

5
Primo relativos: Dos nmeros enteros a y b son nmeros primos entre s (primos relativos), si, por definicin, no tienen
ningn factor primo en comn, o, dicho de otra manera, si no tienen otro divisor comn ms que 1 y -1. Equivalentemente
son primos entre s, si y slo si, su mximo comn divisor es igual a 1.

El multiplicador: como 4 divide a 48, entonces a es de la forma

a =1 +M.C.M. (p
1
, p
2
, 4)*t =1 +M.C.M. (2,3,4)*t =1 +12t a =1 +12t
A ={(1+12*0)=1,(1+12*1)=13,(1+12*2)=25,(1+12*3)=37,(1+12*4)=49) El a=49 es >m=48 por
lo cual no aplica, los otros nmeros (1, 13, 25, 37) si aplican.

La semilla puede ser cualquier nmero del conjunto X =(0,1,2,3,4,.,46,47)

El incremento:
(m) = _p

c
i
-1
(p

1) =(48) = _p

c
i
-1
(p

1)
2
=1
k
=1
=2
4-1
(2 1) 3
1-1
(31) =8 2=16

Hay 16 posibles valores c, los cuales tienes que ser primos relativos
6
con 48, estos son:

c ={1,5,7,11,13,17,19,23,25,29,31,35,37,41,43,47}(Ver archivo Unidad 2. Generacin de
nmeros aleatorios.xls hoja M.C.D)

Con cualquier combinacin de los nmeros mgicos encontrados para m =48 se obtendrn
sucesiones de perodo mximo. En total se tienen 4 * 48 * 16 =3.072 sucesiones de perodo
mximo en este caso. Los generadores GLC (8,25,5,48) y GLC (43,25,5,48), mostrados, son
2 de las 3.072 potenciales sucesiones.


1.3 PRUEBAS PARA GENERACIN DE NMEROS ALEATORIOS

Para comprobar si los nmeros aleatorios obtenidos cumplen las propiedades deseadas de
uniformidad e independencia se deben realizar una serie de pruebas. En general, los
generadores suministrados comercialmente ya han pasado por algunas de estas pruebas.

Prueba de autocorrelacin.
Prueba de frecuencia.
Pruebas de series.
Pruebas de distribucin
Prueba de saltos.
Prueba de poker.

1.3.1 Prueba de autocorrelacin.

Las medidas de asimetra son indicadores que permiten establecer el grado de simetra (o
asimetra) que presenta una distribucin de probabilidad de una variable aleatoria.

En Excel se utiliza la funcin COEFICIENTE.ASIMETRIA(rango), entre ms cercano este a 0,
los valores del rango son ms simtricos, y viceversa.


6
Su mximo comn divisor es igual a 1: Por ejemplo el M.C.D de 48 y 35, es 48=2
4
*3 y 35=5*7, como vemos, no hay
nmeros repetidos de menor exponente, excepto por el 1.
1.3.2 Pruebas de frecuencia (Chi-cuadrado)

Se necesita un conjunto mnimo de 50 datos generados que se organizarn en un
histograma que cumpla lo siguiente:

La cantidad de aleatorios esperados en cada una de las clases del histograma ser de
cinco datos como mnimo.

Para aplicar esta prueba se necesita un conjunto de (N) aleatorios que sean
calculados con el generador que se desea probar, y ejecutar los siguientes pasos: (N
>=50)

1 Organizar los datos en un histograma (con n clases).

2 Calcular el nmero de datos esperados en cada clase del histograma suponiendo
aleatorios idealmente uniformes.

3 Calcular el estadstico Chi-cero cuadrado con las diferencias entre las cantidades de
aleatorios esperados (Ei) y los observados realmente (Oi) en cada una de las (n) clases
del histograma, segn la muestra que se inspecciona.





4 Se establece el nivel mximo de variacin del estadstico que se calcula (ji-cero) cuando
los grados de libertad son iguales al nmero de clases menos uno; y la significacin de la
prueba es alfa. Estos valores se encuentran tabulados para la prueba de la Chi-cuadrada.

5 Se compara el estadstico calculado con el mximo permitido que ley de tablas; si es
menor entonces se concluye que no hay evidencia estadstica para afirmar que los
aleatorios de la muestra no tienen una distribucin uniforme. Si es mayor no se acepta la
hiptesis de uniformidad en los aleatorios generados.


Ejemplo de Chi-cuadrada


Se tiene un generador de nmeros en el intervalo (0,1) y se desea probar la uniformidad en
los nmeros que genera, con un nivel de confianza del 95%. Para ello se generan 100
nmeros con l y se siguen los pasos de la prueba de Chi-cuadrada.

Paso 1.- Se organizan los datos en un histograma, supongamos con 10 clases de igual
longitud, encuentre la cantidad de aleatorios que cae en cada clase. En este caso los
resultados se muestran a continuacin:

CLASE INTERVALO FRECUENCIA
1 (0-0.1] 9
2 (0.1-0.2] 11
3 (0.2-0.3] 12
4 (0.3-0.4] 10
5 (0.4-0.5] 8
6 (0.5-0.6] 9
7 (0.6-0.7] 10
8 (0.7-0.8] 11
9 (0.8-0.9] 10
10 (0.9-1.0] 10


Paso 2.- Calcular los datos esperados en cada clase si el generador fuese completamente
uniforme.

En ese caso en cada clase se esperan la misma cantidad de nmeros es decir 100/10=10;
en general se esperan Ei datos en cada clase donde

Ei=#total de datos/#de clases (para el caso de uniformidad).

Con esto se verifica que se cumple con las condiciones de Chi-cuadrada que son: N >=50 y
Ei >=5. Por tanto se puede aplicar la prueba.


Paso 3.- Calcular el estadstico chi-cero cuadrada con las diferencias entre la cantidad
esperada y la observada en cada una de las clases.


CLASE Intervalo Frecuencia
observada
Esperado (Oi-Ei)*(Oi-Ei)/Ei
1 (0-0.1] 9 10 0.1
2 (0.1-0.2] 11 10 0.1
3 (0.2-0.3] 12 10 0.4
4 (0.3-0.4] 10 10 0.0
5 (0.4-0.5] 8 10 0.4
6 (0.5-0.6] 9 10 0.1
7 (0.6-0.7] 10 10 0.0
8 (0.7-0.8] 11 10 0.1
9 (0.8-0.9] 10 10 0.0
10 (0.9-1.0] 10 10 0.0
Total 1.2











Tabla de Chi-cuadrada



Por tanto el estadstico que se busca es: 1.2

Paso 4.- El valor mximo aceptable se lee de tablas para un alfa de 0.05 y grados de libertad
10-1=9; cuyo valor es: 16.9 (tabla para Chi-cuadrada).

Paso 5.- Como 16.9 >1.2 entonces no hay evidencia estadstica para rechazar la hiptesis
de uniformidad en los nmeros generados. Por tanto se acepta la uniformidad en ellos.







Bibliografia

J erry Banks. Discrete- Event System Simulation.
Raul Coss. Simulacin un enfoque prctico
Simulacin Mtodos y aplicaciones. David Rios Insua.
Leeb, H. Random Numbers for Computer Simulation.

Vous aimerez peut-être aussi