Você está na página 1de 25

Unidad Dos

Nmeros aleatorios y pseudoaleatorios

OBJETIVO EDUCACIONAL

Conocer las caractersticas, formas de generacin de nmeros aleatorios y


pseudoaleatorios. Investigar y aplicar las pruebas de aleatoriedad a un conjunto de nmeros generados.

Unidad Dos

Nmeros aleatorios y pseudoaleatorios

Nmeros Pseudoaleatorios, propiedades y tcnicas para generarlos

Pruebas de Aleatoriedad

Mtodo de Monte Carlo

Nmeros aleatorios definicin, propiedades, generadores y tablas

Nmeros pseudoaleatorios
Hay que aclarar que los nmeros U(0,1) producidos por un generador de nmeros aleatorios (algoritmo computacional) no son aleatorios en el verdadero sentido de la palabra, ya que el generador puede reproducir la misma secuencia de nmeros una y otra vez, lo cual no indica un comportamiento aleatorio. Por esta razn, a los nmeros U(0,1) producidos por un generador (algoritmo) se les llama pseudoaleatorios.

Nmeros pseudoaleatorios
Definicin

Simulacin

Variabilidad en los eventos

Nmeros aleatorios

Nmeros pseudoaleatorios
Definicin

Nmeros aleatorios
Propiedades

Uniformemente distribuidos. Estadsticamente independientes. Reproducibles. Periodo largo. Generados mediante un mtodo rpido. Generados mediante un mtodo que no

requiera mucha capacidad de almacenamiento de la computadora.

Nmeros aleatorios
Propiedades

Generar nmeros pseudoaleatorios es una tarea relativamente fcil

Disear un algoritmo de generacin

Lo difcil es disear un algoritmo que genere nmeros

* Periodo de vida grande


* Pase las pruebas de uniformidad

Nmeros aleatorios
Propiedades
Que los nmeros del conjunto no estn uniformemente distribuidos, es decir, que haya demasiados nmeros en un sub-intervalo y otro muy pocos o ninguno. Que los nmeros pseudoaleatorios sean discretos en lugar de continuos. Que la media del conjunto sea muy alta o muy baja, es decir, que est por arriba o por debajo de . Que la varianza del conjunto sea muy alta o muy baja, es decir, que se localice por arriba o por debajo de 1/12. Secuencias de nmeros por arriba de la media y luego por debajo.

Nmeros aleatorios
Tcnicas de generacin
Mtodo de centros al cuadrado
Mtodo de Lehmer Mtodo congruencial Mixto Lineal

Mtodo congruencial multiplicativo

Nmeros aleatorios
Mtodo de Centros al Cuadrado (Mtodo de los cuadrados medios)
Von Neumann
1. Inicie con un nmero entero positivo de 4 (2n) dgitos y llmele Z0 (X0), (semilla). 2. Eleve Z0 (X0) al cuadrado para obtener un nmero de 8 (4n) dgitos. Si es necesario, agregue ceros a la izquierda para hacerlo exactamente de 8 dgitos. 3. Tome los 4 (2n) dgitos centrales como el prximo nmero de 4 (2n) dgitos y llmele Z1(X1). 4. Coloque el punto decimal a la izquierda de Z1(X1) para obtener el primer nmero pseudoaleatorio U(0,1). 5. Continu generando de esta forma nmeros pseudoaleatorios U(0,1).

Nmeros aleatorios
Mtodo de Centros al Cuadrado
Ejemplo 1: Genere nmeros pseudoaleatorios U(0,1) utilizando el mtodo de centros al cuadrado con Zo = 4122. i 0 1 2 3 4 5 Zi 4122 Zi2 16990884 98168464 02835856 69856164 73290721 08450649 Etc. Ui+1 0.9908
La secuencia de nmeros pseudoaleatorios generada es: 0.4122, 0.9908, 0.1684, 0.8385, 0.8561, 0.2907, 0.4506.

9908
1684 8358 8561 2907

0.1684
0.8358 0.8561 0.2907 0.4506

Nmeros aleatorios
Mtodo de Centros al Cuadrado
Ejemplo 2: Genere nmeros pseudoaleatorios U(0,1) utilizando el mtodo de centros al cuadrado con Zo = 1009
i 0 1 2 3 4 5 6 7 8 9 Zi 1009 0180 0324 1049 1004 0080 0064 0040 0016 0002 Zi2 01018081 00032400 00104976 01100401 01008016 00006400 00004096 00001600 00000256 00000004 Etc. Ui+1 0.0180 0.0324 0.1049 0.1004 0.0080 0.0064 0.0040 0.0016 0.0002 0.0000

Nmeros aleatorios
Mtodo de Centros al Cuadrado
El Mtodo de Centros al Cuadrado (Mtodo de los cuadrados medios)

Desventaja del mtodo de centros al cuadrado: Tiene una fuerte tendencia a degenerar rpidamente hacia cero, donde permanecer por siempre.

Nmeros aleatorios
Mtodo de Lehmer
1. Se toma como semilla un nmero entero, X0, de n cifras. 2. Se elige otro entero, c, de k cifras. Suele tomarse k<n. 3. Se calcula X0 *c, nmero de a lo sumo, n + k cifras. 4. Se separan las k cifras de la izquierda de X0*c y al nmero formado por las n cifras restantes se le resta el que se forma de esas k cifras de la izquierda, dando lugar a X1. 5. Se repite este proceso tantas veces como sea necesario. 6. Se devuelven los valores xi
ui 10 2 n

Nmeros aleatorios
Mtodo de Lehmer
Ejemplo 3: Tomando n=4, k=2, X0=4122 y c=76, se obtiene:
Xi 4122 3241 6292 8145 8959 0816 X0 *c Xi+1

(4122*76) (3241*76) (6292*76) (8145*76) (8959*76) (0816*76)

313272 246316 478192 619020 680884


062016

3272 31 6316 24 8192 47 9020 61 0884 68 2016 06

3241 6292 8145 8959 0816 2010

De esta forma, la secuencia de nmeros pseudoaleatorios generada es: 0.4122, 0.3241, 0.6292, 0.8145, 0.8959, 0.0816, 0.2010

Nmeros aleatorios
Mtodo Congruencial Mixto Lineal
Los valores posibles de Xn+1 son 0, 1, 2,3,, m-1, m representa el nmero posible de valores que pueden ser generados.
Frmula:

X n 1 aX n c mod m
Donde: Xn= la semilla (X0>0) a= el multiplicador (a>0) c= constante aditiva (c>0) m= Mdulo (m>Xn; m>a; m>c)

Nmeros aleatorios
Mtodo Congruencial Mixto Lineal
Ejemplo 4: Genere nmeros pseudoaleatorios U(0, 1) aplicando el mtodo congruencial mixto lineal con: a= 5; c= 7; X0=4; m= 8 n
0 1 2 3 4 5 6 7 8

Xn
4 3 6 5 0 7 2 1 4

Xn+1
3 6 5 0 7 2 1 4

(5Xn +7)mod 8
(5*4+7)mod 8 (5*3+7)mod 8 (5*6+7)mod 8 (5*5+7)mod 8 (5*0+7)mod 8 (5*7+7)mod 8 (5*2+7)mod 8 (5*1+7)mod 8 Se repite el ciclo

(Xn+1/m)
27/8=3.375 22/8=2.75 37/8=4.625 32/8=4 7/8=0.875 42/8=5.25 17/8=2.125 12/8=1.5
.375*8= 3 .75*8=6 .625*8=5 0*8=0 0.875*8=7 .25*8=2 .125*8=1 .5*8=4 3/8= 0.375 6/8= 0.750 5/8= 0.625 0/8= 0.000 7/8= 0.875 2/8= 0.250 1/8= 0.125 4/8= 0.500

Nmeros aleatorios
Mtodo Congruencial Mixto Lineal

Periodo de generador= 8 Periodo= longitud de ciclo= p m Como p= m, el periodo es completo La secuencia de nmeros pseudoaleatorios generada es: 0.375, 0.750, 0.625, 0.000, 0.875, 0.250, 0.125, 0.500

Nmeros aleatorios
Mtodo Congruencial Mixto Lineal
Ejemplo 5: genere nmeros pseudoaleatorios U(0, 1) con: a= X0; c=7 y m=10
n
0

Xn
7

Xn+1
6

(7Xn +7)mod 10
(7*7+7)mod 10 56/10=5.6 .6*10= 6

(Xn+1/m)
6/10= 0.60

1
2 3 4

6
9 0 7

9
0 7

(7*6+7)mod 10
(7*9+7)mod 10 (7*0+7)mod 10 Se repite el ciclo

49/10=4.9
70/10=7 7/10=0.7

.9*10=9
0*10=0 .7*10=7

9/10= 0.90
0/10= 0.00 7/10= 0.70

De esta forma, la secuencia de nmeros pseudoaleatorios generada es: 0.60, 0.90, 0.00, 0.70 Periodo del generador = 4

Nmeros aleatorios
Mtodo Congruencial Mixto Lineal

Reglas para la seleccin de parmetros:

Banks, Carson, Nelson y Nicol

m= 2g a= 1 + 4k k debe ser entero c relativamente primo a m g debe ser entero


Bajo estas condiciones se obtiene un periodo de vida mximo: N= m= 2g.

Nmeros aleatorios
Mtodo Congruencial Mixto Lineal
Ejemplo 6: genere nmeros pseudoaleatorios U(0, 1) con: X0=6; k=3; g=3 y c=7, hasta encontrar el periodo de vida mximo (N). Primero verificar si se cumple con las reglas:
m= 2g a= 1 + 4k k debe ser entero c relativamente primo a m g debe ser entero

m= 2g = 23=8 k debe ser entero = 3 a= 1 + 4k = 1+4(3)=13 c relativamente primo a m =7 (el nmero primo ms cercano) g debe ser entero = 3

Nmeros aleatorios
Mtodo Congruencial Mixto Lineal
n
1 2 3

Xn
6 5 0

Xn+1
5 0 7

(13Xn +7)mod 8
(13*6+7)mod 8 (13*5+7)mod 8 (13*0+7)mod 8 85/8=10.625 72/8=9 7/8=0.875 .625*8=5 .0*8=0 .875*8=7

(Xn+1/m)
5/8= 0.625 0/8= 0.000 7/8= 0.875

4
5 6 7 8

7
2 1 4 3

2
1 4 3 6

(13*7+7)mod 8
(13*2+7)mod 8 (13*1+7)mod 8 (13*4+7)mod 8 (13*3+7)mod 8

98/8=12.25
33/8=4.125 20/8=2.5 59/8=7.375 46/8=5.75

.25*8=2
.125*8=1 .5*8=4 .375*8=3 .75*8=6

2/8= 0.250
1/8=0.125 4/8=0.500 3/8=0.375 6/8=0.750

Como puede observarse el nmero generado en n=8 es 6 que es igual a la semilla X0 y si se continua con la generacin de nmeros, stos se repetiran m=p por lo que el ciclo est completo.

Nmeros aleatorios
Mtodo Congruencial Multiplicativo
Al igual que el generador congruencial mixto lineal, el generador congruencial multiplicativo determina el prximo nmero pseudoaleatorio a partir del ltimo nmero generado, de acuerdo a la siguiente frmula:

X n1 aX n mod m

Nmeros aleatorios
Mtodo Congruencial Multiplicativo
Ejemplo 7: genere nmeros pseudoaleatorios U(0, 1) con: X0=5; a=5; m=32
n
0 1 2 3 4 5 6 7 8

Xn
5 25 29 17 21 9 13 1 5

Xn+1 (5Xn )mod 32


25 29 17 21 9 13 1 5
(5*5)mod 32 25/32=0.78125 (5*25)mod 32 125/32=3.90625 (5*29)mod 32 145/32=4.53125 85/32=2.65625 (5*17)mod 32 (5*21)mod 32 105/32=3.28125 45/32=1.40625 (5*9)mod 32 (5*13)mod 32 65/32=2.03125 (5*1)mod 32 5/32=0.15625 Se repite el ciclo Perodo del generador = 8

(Xn+1/m)
.78125*32 25/32= 0.78125 .90625*32 29/32= 0.90625 .53125*32 17/32= 0.53125 .65625*32 21/32= 0.65625 9/32= 0.28125 .28125*32 .40625*32 13/32= 0.40625 .03125*32 1/32= 0.03125 5/32= 0.15625 .15625*32

Você também pode gostar