Sie sind auf Seite 1von 51

ING.

EN SISTEMA COMPUTACIONALES
0.5335 0.7179 0.9023 0.2604 0.2240 0.3781 0.5688 0.6903 0.1936 0.5695

0.5038 0.4072 0.5103 0.3481 0.5422 0.5031 0.5203 0.4945 0.6464 0.6270

Unidad 2 Tema: Nmeros Aleatorios


Mtro. Isidro R. Montoro
0.7000

0.9541 0.6382 0.2916 0.4492 0.0369 0.0733 0.4417 0.3127 0.6810 0.1933

0.0434 0.4754 0.5705 0.7434 0.2058 0.3605 0.6001 0.9312 0.2984 0.8738

0.5995 0.4203 0.3670 0.2079 0.2594 0.0845 0.0001 0.3360 0.5253 0.6813

0.0498 0.4667 0.5003 0.8610 0.4667 0.8969 0.4396 0.8717 0.5659 0.3035

0.8032 0.4948 0.2147 0.6582 0.8803 0.0483 0.6957 0.4425 0.4143 0.3791

0.8577 0.0961 0.5331 0.8971 0.2755 0.8875 0.4918 0.3523 0.4194 0.3926

0.0388 0.6174 0.7133 0.7643 0.4341 0.5444 0.5824 0.3431 0.0864 0.8208

0.1401 0.0876 0.8729 0.9849 0.5941 0.9867 0.8309 0.8541 0.6122 0.5000

0.2347 0.8015 0.4857 0.6914 0.2880 0.9071 0.8877 0.2237 0.7562 0.9944

0.6000
0.5000 0.4000

0.6464 0.6270 0.5038


0.4072 0.3481 0.5103 0.5422

0.5031 0.5203 0.4945

estabilidad

0.3000
0.2000 0.1000

0.0000
1

2 3 4 5 6 7 8 montoro@usal.es

10

Subtemas
2.1 Nmeros aleatorios definicin y propiedades 2.2 Tcnicas para generar nmeros aleatorios 2.2.1 Mtodos de Centros al Cuadrado 2.2.2 Mtodos de Congruencia: Multiplicativo y Mixto. 2.3 Pruebas de Aleatoriedad

Nmeros Aleatorios
Para poder realizar una simulacin que incluya variabilidad dentro de sus eventos, es preciso generar una serie de nmeros que sean aleatorios por s mismos, y que su variabilidad se extrapole al modelo de simulacin que se est construyendo. En la construccin del modelo los nmeros aleatorios juegan un papel relevante.

Nmeros Aleatorios
Una de las primeras tareas que es necesario llevar a cabo consiste en determinar si los nmeros que utilizaremos para correr o ejecutar la simulacin son realmente aleatorios o no; por desgracia, precisar lo anterior con absoluta certidumbre resulta muy complicado, ya que para ello tendramos que generar un nmero infinito de valores que nos permitiera comprobar la inexistencia de correlaciones entre ellos. Esto sera muy costoso y tardado, volviendo imprctico el uso de la simulacin.

Nmeros Aleatorios
A pesar de lo anterior, podemos asegurar con altos niveles de confiabilidad que el conjunto de nmeros que utilizaremos en una simulacin se comportan de manera muy similar a un conjunto de nmeros totalmente aleatorios; por ello es que se les denomina nmeros pseudo aleatorios. Casi todas las aplicaciones comerciales tienen varios generadores de nmeros pseudo aleatorios que pueden generar un conjunto muy grande de nmeros sin mostrar correlacin entre ellos.

Generacin de nmeros pseudo aleatorios


Para generar una simulacin se requieren nmeros aleatorios en el intervalo (0, 1), a los cuales se har referencia como ri, es decir, una secuencia ri = {r1, r2, r3, , rn} que contiene n nmeros, todos ellos diferentes; n recibe el nombre de periodo o ciclo de vida del generador que creo la secuencia ri.

Los ri constituyen la parte medular de la simulacin de procesos estocsticos, y generalmente se usan para generar el comportamiento de variables aleatorias, tanto continuas como discretas. Debido a que no es posible generar nmeros realmente aleatorios, consideramos los ri como nmeros seudo aleatorios, generados por medio de algoritmos determinsticos que requieren parmetros de arranque.

Para simular el comportamiento de una o ms variables es necesario contar con un conjunto suficientemente grande de ri que permita, por ejemplo, que la secuencia tenga al menos un periodo de vida de n = 2^31= 2 147 483 648 o ciclo de vida de n = 2^62. En la actualidad ya se cuenta con generadores y procesadores capaces de construir una secuencia de ri que contenga un ciclo de vida de n = 2^200.

Probablemente usted se preguntar por qu debe interesarnos construir una secuencia de nmeros ri suficientemente grande. A continuacin ilustraremos la razn mediante un ejemplo.

Ejemplo Supongamos que queremos simular el tiempo de atencin a clientes en un banco que tiene cinco cajeros en paralelo, cada uno de los cuales atiende aproximadamente 50 clientes.

Estructuras tpicas de sistemas de colas: una lnea, mltiples servidores


Sistema de colas del banco Servidor cajero 1 Llegadas Cola Servidor cajero 2 Servidor cajero 3 Servidor cajero 4 Servidor cajero 5
http://www.auladeeconomia.com

Salidas Salidas Salidas Salidas

Salidas

Para simular el tiempo de atencin se requiere un generador de variable aleatoria en funcin de ri, por ejemplo Ti = 5 + 2ri, expresado minutos para toda i=1, 2, 3, ... , n.

Si simulamos el tiempo de atencin de manera aislada, es decir, sin considerar el tiempo transcurrido desde la llegada de stos, sern necesario 5 X 50 = 250 nmeros ri para simular un da; si deseramos simular 5 das se necesitaran 250 X 5 = 1250 ri. Ahora bien, si consideramos el tiempo desde la llegada de los clientes, precisaramos de 250 ri para simular el tiempo transcurrido desde la llegada al banco de los 250 clientes por da, y 250 X 5 = 1250 ri para simular el correspondiente al total de clientes atendidos durante 5 das. Por lo tanto se requerirn 2500 nmeros pseudoaleatorios ri para simular la operacin del banco durante 5 das.

Como los resultados no pueden basarse en una simulacin del sistema, es necesario realizar varias rplicas de la misma, corriendo cada una de ellas con nmeros pseudo aleatorios diferentes. Retomando el ejemplo del banco, simular 5 das otra vez significa que necesitamos otros 2500 nmeros pseudo aleatorios en el intervalo (0, 1). En consecuencia, se requieren 5 000 ri para realizar la simulacin de atencin a clientes con dos replicas.

El lector podr imaginar cuntos nmeros ri sern necesarios para simular la operacin del banco durante un ao con 9 rplicas, o cuantos nmeros ri se requieren para simular un sistema productivo durante un ao, con varias lneas de produccin, y cada lnea de produccin con varias estaciones, y cada estacin con uno o ms procesos.

Dada la importancia de contar con un conjunto de ri suficientemente grande, se presentan diferentes algoritmos determinsticos para obtenerlo. Por otra parte, es conveniente sealar que el conjunto de ri debe ser sometido a una variedad de pruebas estadsticas para verificar si los nmeros que lo conforman son realmente independientes y uniformes. Una vez generado el conjunto ri mediante un algoritmo determinstico, es necesario someterlo a las pruebas estadsticas: si la supera podr utilizarse en la simulacin; de lo contrario, simplemente debemos desecharlo.

Un conjunto de ri debe seguir una distribucin uniforme continua, la cual est definida por:
1, f(r) = 0, en cualquier otro valor 0 r 1

Generar un conjunto de ri es una tarea relativamente sencilla, para ello, el lector slo tiene que disear su propio algoritmo de generacin.

Lo que resulta difcil es disear un algoritmo que genere un conjunto de ri con periodo de vida suficientemente grande (N), y que adems pase sin problema las pruebas de uniformidad e independencia, lo cual implica evitar problemas como stos:
Que los nmeros del conjunto ri no estn uniformemente distribuidos, es decir que haya demasiados ri en un subintervalo y en otro muy pocos o ninguno. Que los nmeros ri generados sean discretos en lugar de continuos. Que la media del conjunto sea muy alta o muy baja, es decir, que se 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 del .

En ocasiones se presentan anomalas con nmeros ri seguidos por arriba o por debajo de la media; secuencia de ri por arriba de la media, seguida de una secuencia por debajo de la media, y viceversa, o varios ri seguidos en forma ascendente o descendente

i) Cuadrados medios 1) No congruenciales ii) Productos medios iii) Multiplicador constante Algoritmos

i) Lineal
A)Lineales ii) Multiplicativo

iii) Aditivo 2) Congruenciales


B)No lineales i) Congruencial cuadrtico ii) Blum, Blum y Shub

i) Algoritmo de cuadrados medios


Este algoritmo no congruencial fue propuesto en la dcada del siglo XX por Von Neuman y Metropolis. Requiere un nmero entero detonador (llamado semilla con D dgitos, el cual es elevado al cuadrado para seleccionar del resultado los D dgitos del centro; el primero nmero ri se determina simplemente anteponiendo el 0. a esos dgitos. Para obtener el segundo ri se sigue el mismo procedimiento, slo que ahora se elevan al cuadrado los D dgitos del centro que se seleccionaron para obtener el primer ri. Este mtodo se repite hasta obtener n nmeros ri.

i) Algoritmo de cuadrados medios


Pasos para generar nmeros con el algoritmo
1. Seleccionar una semilla (X0) con D dgitos (D>3). 2. Sea X0 = resultados de elevar X0 al cuadrado; sea X1 = los D dgitos del centro, y sea ri = 0.D dgitos del centro. 3. Sea Yi = resultado de elevar Xi al cuadrado; sea X i+1 = los D dgitos del centro, y sea ri = 0.D dgitos del centro para toda i = 1, 2, 3, , n. 4. Repetir el paso 3 hasta obtener los n nmeros ri deseados.

Nota: Si no es posible obtener los D dgitos del centro del nmero Yi, agregue ceros a la izquierda del nmero Yi.

i) Algoritmo de cuadrados medios


Pasos para generar nmeros con el algoritmo
1. Seleccionar una semilla (X0) con D dgitos (D>3). 2. Sea X0 = resultados de elevar X0 al cuadrado; sea X1 = los D dgitos del centro, y sea ri = 0.D dgitos del centro. 3. Sea Yi = resultado de elevar Xi al cuadrado; sea X i+1 = los D dgitos del centro, y sea ri = 0.D dgitos del centro para toda i = 1, 2, 3, , n. 4. Repetir el paso 3 hasta obtener los n nmeros ri deseados.

Nota: Si no es posible obtener los D dgitos del centro del nmero Yi, agregue ceros a la izquierda del nmero Yi.

Ejemplo 2.1 Generar los primeros nmeros ri a partir de una semilla X0 = 5 735, de donde se puede observar que D = 4 dgitos.
Y0 = (5 735)2 = 32 890 225 Y1 = (8 902)2 = 79 245 604 Y2 = (2 456)2 = 06031936 Y3 = (0319)2 = 101 761 Y4 = (0176)2 = 030976 X1 = 8902 X2 = 2456 X3 = 0319 X4 = 0176 X5 = 3097 r1= 0.8902 r2= 0.2456 r3 = 0.0319 r4 = 0.0176 r5 = 0.3097

Nota: El algoritmo de cuadrados medios generalmente es incapaz de generar una secuencia de ri con periodo de vida n grande. Adems, en ocasiones slo es capaz de generar un nmero, por ejemplo, si X0 = 1000, entonces X1 = 0000; ri = 0.0000 y se dice que el algoritmo se genera con semilla de X0 = 1000.

ii) Algoritmo de productos medios


La mecnica de generacin de nmeros aleatorios de este algoritmo no congruencial es similar a la del algoritmo de cuadrados medios. La diferencia entre ambos radica en que el algoritmo de productos medios requiere dos semillas, ambas con D dgitos; adems, en lugar de elevarlas al cuadrado, las semillas se multiplican y del producto se seleccionan los D dgitos del centro, los cuales formarn el primer nmero pseudo aleatorio ri = 0.D dgitos . Despus se elimina una semilla, y la otra se multiplica por el primer nmero de D dgitos, para luego seleccionar del producto los D dgitos que conformarn un segundo nmero de

ii) Algoritmo de productos medios


Siempre se ir eliminando el nmero ms antiguo, y el procedimiento se repetir hasta generar los n nmeros ms antiguos, el procedimiento se repetir hasta generar los n nmeros pseudo aleatorios.

ii) Algoritmo de productos medios


Pasos del mtodo para generar los n nmeros con el algoritmo de productos medios.

1. Seleccionar una semilla (X0) con D dgitos (D>3). 2. Seleccionar una semilla (X1) con D dgitos (D>3). 3. Sea Y0 = X0*X1; sea X2 = los D dgitos del centro, y sea ri = 0.D dgitos del centro para toda i = 1, 2, 3, , n 4. Sea Yi = Xi * Xi+1; sea Xi+2 = los D dgitos del centro, y sea ri+1 = 0.D dgitos del centro para toda i = 1, 2, 3, , n. 5. Repetir el paso 4 hasta obtener los n nmeros ri deseados .

ii) Algoritmo de productos medios Nota: Si no es posible obtener los D dgitos del centro del nmero Yi, agregue ceros a la izquierda del nmero Yi. Ejemplo 2.2 Generar los primeros 5 nmeros ri a partir de las semillas X0 = 5 015 y X1 = 5 734; observar que ambas semillas tienen D = 4 dgitos.
Y0 = (5 015)(5 734) = 28 756 010 Y1 = (5 734)(7 560) = 43 349 040 Y2 = (7 560)(3 490) = 26 384 400 Y3 = (3 490)(3 844) = 13 415 560 Y4 = (3 844)(4 155) = 15 971 820 X2 =7560 X3 = 3490 X4 = 3844 X5 = 4155 X6 = 9718 r1= 0.7560 r2= 0.3490 r3 =0.3844 r4 =0.4155 r5 =0.9718

iii) Algoritmo de multiplicador constante


Este algoritmo no congruencial es similar al algoritmo de productos medios. Los siguientes son los pasos necesarios para generar nmeros pseudo aleatorios con el algoritmo de multiplicador constante.
1. Seleccionar una semilla (X0) con D dgitos (D>3). 2. Seleccionar una constante con D dgitos (D>3). 3. Sea Y0 = a*X0; sea X1 = los D dgitos del centro, y sea ri = 0.D dgitos del centro. 4. Sea Yi = a*Xi sea Xi+1 = los D dgitos del centro, y sea ri+1 = 0.D dgitos del centro para toda i = 1, 2, 3, , n. 5. Repetir el paso 4 hasta obtener los n nmeros ri deseados .

iii) Algoritmo de multiplicador constante Nota: Si no es posible obtener los D dgitos del centro del nmero Yi, agregue ceros a la izquierda del nmero Yi. Ejemplo 3. Mecnica del algoritmo de multiplicador constante Genere los primeros 5 nmeros ri a partir de la semilla X0 = 9803 y la constante a=6965. Observe que tanto la semilla como la constante tienen D=4 dgitos.

iii) Algoritmo de multiplicador constante Genere los primeros 5 nmeros ri a partir de la semilla X0 = 9803 y la constante a=6965. Observe que tanto la semilla como la constante tienen D=4 dgitos.
Y0 = (6 965)(9 803) = 68 277 895 Y1 = (6 965)(2 778) = 19 348 770 Y2 = (6 965)(3 487) = 24 286 955 Y3 = (6 965)(2 869) = 19 982 585 Y4 = (6 965)(9 825) = 68 431 125 X1 = 2778 X2 = 3487 X3 = 2869 X4 = 9825 X5 = 4311 r1= 0.2778 r2= 0.3487 r3 =0.2869 r4 =0.9825 r5 =0.4311

2) Algoritmos Congruenciales A) Algoritmos Lineales B) No Lineales

2) Algoritmos Congruenciales Lineales i) Algoritmos Lineal


Este algoritmo congruencial fue propuesto por D: Lehmer en 1951. Segn Law Kelton, este algoritmo ha sido el ms usado. El algoritmo congruencial lineal genera una secuencia de nmeros enteros por medio de la siguiente ecuacin recursiva: Xi+1 = (aXi + c) mod(m)
Donde:

i = 0, 1, 2, 3, , n

a = es la constante multiplicativa X0 = es la semilla, c = es la constante aditiva m = es la magnitud del modulo

Los requisitos mnimos que estos parmetros deben satisfacer son:

X0, a, c, m 0; enteros

m > a, m > c , m > X0

Aqu, mod representa a la operacin aritmtica mdulo entre los enteros a y b tal que el recultado de (a mod b) es el residuo entre la divisin a entre b. Poe ejemplo, 16 mod 3 es igual a 1, ya que: 5 1
Residuo entero de la divisin

Ejemplo 4. Mecnica del algoritmo congruencial lineal Generar 4 nmeros entre 0 y 1 con los siguientes parmetros: X0 = 37, a = 19, c = 33 y m = 100.

Gnerador X1 = (19*37 + 33)mod(100) X2 = (19 * 36 + 33)mod(100) X3 = (19 * 17 +33)mod(100) X4 = (19 * 56 +33)mod(100) X5 = (19 * 97 + 33)mod(100)

Divisin real 736/100 = 7 + 36/100 717/100 = 7 + 17/100 356/100 = 3 + 56/100 1097/100 = 10 + 97/100 1876/100 = 18 + 76/100

No. Aleatorio Xi X1 = 7 X2 = 7 X3 = 3 X4 = 10 X5 = 18

No. Aleatorio ri r1 = 36/99 = 0.36 r2 = 17/99 = 0.17 r3 = 56/99 = 0.56 r4 = 97/99 = 0.97 r5 = 76/99 = 0.76

En el ejemplo se colocaron de manera arbitraria cada uno de los parmetros requeridos: X0, a, c, m. Sin embargo, para que el algoritmo sea capaz de lograr el mximo periodo de vida n, es preciso que dichos parmetros cumplan ciertas condiciones. Banks, Carson, Nelson y Nicol sugieren lo siguiente:

En el ejemplo se colocaron de manera arbitraria cada uno de los parmetros requeridos: X0, a, c, m. Sin embargo, para que el algoritmo sea capaz de lograr el mximo periodo de vida n, es preciso que dichos parmetros cumplan ciertas condiciones. Banks, Carson, Nelson y Nicol sugieren lo siguiente: m = 2 exp(g) 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 = 2 exp(g).

Ejemplo 5. Generar suficientes nmeros enteros entre 0 y 1 con los parmetros X0 = 6, k = 3, g=3 y c=7 Hasta encontrar el periodo de vida mximo (N). Si se cumplen las condiciones de Banks, Carson, Nelson y Nicol, se lograr el periodo mximo de N = m = 8. A continuacin se presenta el desarrollo de la generacin de los nmeros ri.
Gnerador X0 = 6 X1 = (13*6 + 7)mod(8) X2 = (13 * 5 + 7)mod(8) X3 = (13 * 0 +7)mod(8) X4 = (13 * 7 +7)mod(8) X5 = (13 * 2 + 7)mod(8) X6 = (13 * 1 + 7)mod(8) X7 = (13 * 4 + 7)mod(8) X8 = (13 * 3 + 7)mod(8) Divisin real 85/8 = 10 + 5/7 72/8 = 9 + 0/7 7/8 = 0 + 7/7 98/8 = 12 + 2/7 33/8 = 4 + 1/7 20/8 = 2 + 4/7 59/8 = 7 + 3/7 46/8 = 5 + 6/7 No. Aleatorio Xi X1 = 10 X2 = 9 X3 = 0 X4 = 12 X5 = 4 X6 = 2 X7 = 7 X8 = 5 No. Aleatorio ri r1 = 5/7 = 0.714 r2 = 0/7 = 0.00 r3 = 7/7 = 1.00 r4 = 2/7 = 0.285 r5 = 1/7 = 0.142 r6 = 4/7 = 0.571 r7 = 3/7 = 0.428 r8 = 6/7 = 0.857

Es importante mencionar que el nmero generado en X8 = 6 es exactamente igual a la semilla X0, y si continuramos generando ms nmeros, stos se repetiran.

ii) Algoritmo congruencial multiplicativo


El algoritmo congruencial multiplicativo surge del algoritmo congruencial lineal cuando c=0. Entonces la ecuacin recursiva es: Xi+1 = (aXi) mod(m) i = 0, 1, 2, 3, , n En comparacin con el algoritmo congruencial lineal, la ventaja del algoritmo multiplicativo es que implica una operacin menos a realizar. Los parmetros de arranque de este algoritmo son X0, a, y m, todos los cuales deben ser enteros y mayores que cero. Para transformar los nmeros Xi en el intervalo (0,1) se usa la ecuacin ri = Xi /(m-1).

De acurdo con Banks, Carson, Nelson y Nicol, las condiciones que deben cumplir los parmetros para que el algoritmo congruencial multiplicativo alcance su mximo periodo son: m = 2 expo g a = 3 + 8k o a = 5 + 8k k = 0, 1, 2,3, X0 debe ser un nmero impar g debe ser entero A partir de estas condiciones se logra un periodo mximo N = k/4 = 2 exp (g-2)

Ejemplo 6 Generar nmeros entre 0 y 1 con los siguientes parmetros: X0 = 17, k = 2 y g = 5, hasta encontrar el periodo o ciclo de vida.
Gnerador X0 = 17 X1 = (21*17) mod(32) X2 = (21 * 5 )mod(32) X3 = (21 * 9)mod(32) X4 = (21 * 29)mod(32) X5 = (21 * 1)mod(32) X6 = (21 * 21)mod(32) X7 = (21 * 25)mod(32) X8 = (21 * 13)mod(32) Divisin real 357/31 = 11 + 5/31 105/31 = 3 + 9/31 189/31 = 5 + 29/31 609/31 = 19 + 1/31 21/31 = 0 + 21/31 441/31 = 13 + 25/31 525/31 = 16 + 13/31 273/31 = 8 + 17/31 No. Aleatorio Xi X1 = 11 X2 = 3 X3 = 5 X4 = 19 X5 = 0 X6 = 13 X7 = 16 X8 = 8 No. Aleatorio ri r1 = 5/31 = 0.1612 r2 = 9/31 = 0.2903 r3 = 29/31 = 0.9354 r4 = 1/31 = 0.3225 r5 = 21/31 = 0.6774 r6 = 25/31 = 0.8064 r7 = 13/31 = 0.4193 r8 = 17/32 = 0.5483

Observacin: Toda vez que la semilla X0 se repite, volver a generarse los mismos nmeros. Por lo tanto, el periodo de vida es n=8, el cual corresponde a N =m/4 = 32/4=8

iii) Algoritmo Congruencial Aditivo


Este algoritmo requiere una secuencia previa de n nmeros enteros X1, X2, X3, X4, . . . , Xn para generar una nueva secuencia de numeros enteros que empieza en Xn+1, Xn+2, Xn+3, Xn+4 , . . . , Su ecuacin recursiva es: Xi = (Xi-1 + Xi-n) mod(m) i = n+1, n+2, n+3, ,N

Los nmeros ri pueden ser generados mediante la ecuacin

ri = Xi/(m-1)

iii) Algoritmo Congruencial Aditivo


Ejemplo 7 Generar 7 nmeros pseudo aleatorios entre cero y uno a partir de la siguiente secuencia de nmeros enteros: 65, 89, 98, 03, 69; m = 100 Sean X1=65, X2=89, X3=98, X4=03, X5=69. Para generar r1, r2, r3, r4, r5, r6 y r7 antes es necesario generar X6, X7, X8, X9, X10, X11, X12.

Gnerador X6 = (X5 + X1) mod(100) X7 = (X6 + X2) mod(100) X8 = (X7 + X3) mod(100) X9 = (X8 + X4) mod(100) X10 = (X9 + X5) mod(100) X11 = (X10 + X6) mod(100) X12 = (X11 + X7) mod(100)

Divisin real X6=(69+65)mod100 X7=(34+89)mod100 X8=(23+98)mod100 X9=(21+03)mod100 X10=(24+69)mod100 X11=(93+34)mod100 X12=(27+23)mod100

No. Aleatorio Xi 34 23 21 24 93 27 50

No. Aleatorio ri r1 = 34/99 = 0.3434 r2 = 23/99 = 0.2323 r3 = 21/99 = 0.2121 r4 = 24/99 = 0.2424 r5 = 93/99 = 0.9393 r6 = 27/99 = 0.2727 r7 = 50/99 = 0.5050

B) Algoritmos Congruenciales no Lineales

i) Algoritmo congruencial cuadrtico


Este algoritmo recursiva: tiene la

siguiente

ecuacin

Xi+1 = (aXi ^2 + bXi +c) mod(m) i = 0, 1, 2, 3, ,N


En este caso, los nmeros ri pueden ser generados con la ecuacin ri=Xi/(m-1). De acuerdo con LEcuyer, las condiciones que deben cumplir los parmetros m, a, b, y c para alcanzar un periodo mximo de N= m son:
m = 2^g g debe ser entero a debe ser un nmero par c debe ser un nmero impar (b-1) mod4 = 1 De esta manera se logra un periodo de vida mximo N= m

Ejemplo 8.

Generar, a partir del algoritmo congruencial cuadrtico, suficientes nmeros enteros hasta alcanzar el periodo de vida, considerando los parmetros X0 = 13, m = 8, a = 26, b = 27 y c = 27.

Gnerador X1 = [(26*13^2)+(27*13)+27] mod(8) X2 = [(26*4^2)+(27*4)+27] mod(8) X3 = [(26*7^2)+(27*7)+27] mod(8) X4 = [(26*2^2)+(27*2)+27] mod(8) X5 = [(26*1^2)+(27*1)+27] mod(8) X6 = [(26*0^2)+(27*0)+27] mod(8) X7 = [(26*3^2)+(27*3)+27] mod(8) X8 = [(26*6^2)+(27*6)+27] mod(8) X9 = [(26*5^2)+(27*5)+27] mod(8)

Divisin real 4 7 2 1 0 3 6 5 4

No. Aleatorio ri r1 = 4/7 = 0.5714 r2 = 7/7 = 1.000 r3 = 2/7 = 0.2857 r4 = 1/7 = 0.1429 r5 = 0/7 = 0.0000 r6 = 3/7 = 0.4286 r7 = 6/7 = 0.8571 r8 = 5/7 = 0.7143 r9 = 4/7 = 0.5714

B) Algoritmos Congruenciales no Lineales

ii) Algoritmo de Blum, Blum y Shub

Si el algoritmo congruencial cuadrtico a=1, b=0 y c=0, entonces se construye una nueva ecuacin recursiva:: Xi+1 = (Xi ^2) mod(m) i = 0, 1, 2, 3, ,N
La ecuacin fue propuesta por Blum, Blum y Shub como un nuevo mtodo para generar nmeros que no tienen un comportamiento predecible.

Actividad en clase: Genere ud. Suficientes nmeros aleatorios aplicando el algoritmo lineal cuadrtico hasta alcanzar el periodo de vida, considerando X0 su da de nacimiento y m su mes de cumpleaos.

Propidades de los nmeros pseudoaleatorios entre 0 y 1


Ya hablamos de cmo generar nmeros aleatorios usando diferentes mtodos. Sin embargo, debemos cuestionarnos lo siguiente: De qu manera se puede garantizar que tales nmeros son realmente aleatorios entre 0 y 1?, Cules son las caractersticas que lo identifican?, Cules son sus parmetros? La respuesta a estas preguntas es muy importante, dado que los nmeros aleatorios sern utilizados en la simulacin para generar los valores de cualquier variable aleatoria. En gran medida, conocer las propiedades que deben tener estos nmeros aleatorios garantiza una buena simulacin, por ello, se enumeran a continuacin.

Propidades de los nmeros pseudoaleatorios entre 0 y 1


1. Media de los aleatorios entre 0 y 1. En vista de que estos nmeros deben tener la mismas probabilidades de presentarse, es preciso que su comportamiento muestre una distribucin de probabilidad uniforme continua, con lmite inferior cero y lmite superior uno. La funcin de densidad de una distribucin uniforme es la siguiente: en este caso a=0 y b=1 Grficamente se vera de la siguiente manera:
f(x)

Propidades de los nmeros pseudoaleatorios entre 0 y 1


Para obtener la media de la distribucin multiplicamos la funcin de densidad por x, y la integramos en toda el rango de la misma distribucin de la siguiente manera:

Sustituyendo los valores de a y b

Por lo tanto, el valore esperado (es decir, la media de los nmeros aleatorios entre 0 y 1 es = 0.5

Propidades de los nmeros pseudoaleatorios entre 0 y 1


2. Varianza de los nmeros aleatorios. Partiendo de la misma distribucin uniforme continua obtenemos la varianza de la distribucin por medio de la ecuacin: Lo que nos da de :

Por lo tanto

Dado estos resultados podemos decir que los nmeros aleatorios entre 0 y 1 deben tener y

Propidades de los nmeros pseudoaleatorios entre 0 y 1 3. Independencia. sta es una propiedad muy importante, e implica que los nmeros aleatorios no deben tener correlacin entre si; es decir, deben ser independientes, de manera que puedan dispersarse uniformemente dentro de todo el espectro de valores posibles.

Figura (a) Valores uniformemente dispersos

Figura (b) Valores correlacionados

Propidades de los nmeros pseudoaleatorios entre 0 y 1


0.5435 0.5301 0.9571 0.1431 0.1272 0.0931 0.4630 0.9099 0.0632 0.2953 0.4125 0.1138 0.0823 0.2676 0.5595 0.3215 0.0674 0.8818 0.3075 0.9491 0.5993 0.4150 0.3983 0.9470 0.0009 0.4549 0.3845 0.7431 0.7802 0.6776 0.4001 0.1152 0.4902 0.8623 0.3970 0.9726 0.1316 0.9109 0.0870 0.3244 0.5239 0.3519 0.4922 0.5054 0.8748 0.8992 0.1193 0.6603 0.4069 0.4224 0.8926 0.5221 0.8764 0.0982 0.5772 0.9661 0.4609 0.6392 0.7702 0.9413 0.8649 0.3135 0.4691 0.9973 0.6123 0.7035 0.5353 0.1567 0.3576 0.9671 0.6650 0.6708 0.5372 0.6373 0.4928 0.9027 0.5923 0.1175 0.5896 0.9131 0.5010 0.4604 0.6637 0.6596 0.6851 0.2997 0.4616 0.5351 0.5172 0.6197 0.5340 0.7403 0.2392 0.3290 0.5003 0.6584 0.8169 0.0606 0.5016 0.3731 0.3560 0.2758 0.0919 0.0521 0.7647 0.3348 0.4458 0.1498 0.5056 0.3350

0.5068

Promedio Varianza

0.5068 0.07906

Das könnte Ihnen auch gefallen