Capitulo VI Números Aleatorios
-
Author
elverquispemamani -
Category
Documents
-
view
221 -
download
0
Embed Size (px)
Transcript of Capitulo VI Números Aleatorios
-
7/24/2019 Capitulo VI Nmeros Aleatorios
1/16
26/10/20
Facultad de Ingeniera Estadstica e Informtica
Campus Universitario - Puno Ing. Alcides RAMOS CALCINA
PUNO 2015
PROGRAMACIN Y SIMULACIN DE
PROCESOS METALURGICOS
NMEROS PSEUDOALEATORIOS
-
7/24/2019 Capitulo VI Nmeros Aleatorios
2/16
26/10/20
1. INTRODUCCIN
Una vez construido un modelo, debemos experimentar sobre l y para
poder ejecutarlo necesitamos dar valores a las variables de tipo
exgeno.
Algunas de las variables de entrada son de tipo aleatorio por lo que se
tendrn que generar valores que simulen dichas entradas.
Para generar variables aleatorias que sigan determinadas funciones de
probabilidad necesitamos partir de series de nmeros que cumplan
ciertas caractersticas de aleatoriedad.
Es grande la necesidad de usar nmeros aleatorios y son muchas las
aplicaciones que requieren de ellos, tales como:
Simulacin: para simular las entradas de aquellas variables
aleatorias (no determinsticas).
Juegos o teora de decisiones.
Clculo numrico: por ejemplo en la resolucin de integrales.
Teora del muestreo: aquellos casos en los que sea demasiado
costoso realizar la muestra.
Programacin: generacin de entradas para realizar las pruebas
de los algoritmos y programas.
2. GENERADORES DE NMEROSLas caractersticas deseables para los generadores de nmeros aleatorios
son las siguientes:
Los nmeros generados no se deben repetir frecuentemente (en
ciclos).
Las series generadas deben ser reproducibles.
Rapidez en la obtencin de los nmeros.
Almacenamiento mnimo. Tanto el propio generador como los
nmeros por el generados.
Los nmeros generados han de estar uniformemente
distribuidos (todos deben tener la misma probabilidad de salir).
Los valores generados deben ser independientes unos de otros,
es decir, que la obtencin de cierto valor no est condicionadopor los valores obtenidos anteriormente.
Vamos a ver distintos mtodos y para cada uno evaluaremos cules de las
caractersticas descritas arriba cumple y cules no.
-
7/24/2019 Capitulo VI Nmeros Aleatorios
3/16
26/10/20
2. GENERADORES DE NMEROS
1) Manual. Por ejemplo, lanzar un dado o realizar extracciones con
reemplazamiento de bolas numeradas dentro de una urna.
Ventajas:
Las series obtenidas sonrealmente aleatorias.
Inconvenientes:
Lentitud. Las series obtenidas son
irreproducibles.
Requieren gran cantidad dealmacenamiento ya que habra
que almacenar la serie
obtenida.
2. GENERADORES DE NMEROS2) Tablas. (De hasta 100000 nmeros).
Ventajas:
Las series obtenidas sonreproducibles.
Inconvenientes:
Lentitud. Requieren gran cantidad de
almacenamiento.
-
7/24/2019 Capitulo VI Nmeros Aleatorios
4/16
26/10/20
2. GENERADORES DE NMEROS
3) Computacin analgica. Las series se obtienen mediante
fenmenos fsicos.
Ventajas:
Las series obtenidas son realmente aleatorias. Rapidez.
Inconvenientes:
Las series obtenidas son irreproducibles.
2. GENERADORES DE NMEROS4) Computacin digital. Dada una funcin y una semilla, se van
generando los nmeros aleatorios.
Ventajas:
Rapidez. Pocos requerimientos de almacenamiento. Las series obtenidas son reproducibles.
Inconvenientes:
Los nmeros obtenidos no son independientes.
-
7/24/2019 Capitulo VI Nmeros Aleatorios
5/16
26/10/20
3. GENERADORES CONGRUENCIALESLINEALES (GCL)
A los nmeros obtenidos mediante mtodos de computacin digital se les
conoce como nmeros pseudoaleatorios, los nmeros obtenidos estn
uniformemente distribuidos pero no son independientes. Vamos a
generar nmeros uniformemente distribuidos en el intervalo [0,1]
(U(0,1)).
Hacia 1949, Lehmer introduce un mtodo de generacin de nmeros
aleatorios mediante el cual un trmino de la serie se obtiene como
funcin d el t rmino inmediatamente a nterior ( ).
La funcin aplicadaes la siguiente:
siendo 0 xn < m n
En el generador distinguimos cuatro elementos:
x0, es el valor inicial o semilla.
a, multiplicador, siendo 0 a < m.
c, incremento, siendo 0 c < m.
m, mdulo.
1n nx f x
1 modn nx ax c m
3. GENERADORES CONGRUENCIALES
LINEALES (GCL)
3.1. Congruencial Mixto
Los generadores congruenciales lineales generan una secuencia de
nmeros pseudoaleatorios en la cual el prximo nmero psudoaleatorio
es determinado a partir del ltimo nmero generado, es decir, el nmero
psudoaleatorioxn+1 es derivado a partir del nmero pseudoaleatorioxn.
Para el caso particular del generador congruencial mixto, la relacin de
recurrencia es la siguiente:
donde:x0, la semilla (x0 > 0).
Esta relacin de recurrencia nos dice quexn+1 es el residuo de dividiraxn +
c entre el modulo. Lo anterior significa que losvalores posibles dexn+1 son
0, 1, 2, 3, , m-1, es decir, m representa el nmero posible de valores
diferentes que pueden ser generados.
1 modn nx ax c m
-
7/24/2019 Capitulo VI Nmeros Aleatorios
6/16
26/10/20
3. GENERADORES CONGRUENCIALESLINEALES (GCL)
Ejemplo 1. Suponga quem = 8,a = 5,c = 7 yxo = 4. Para estos valores,la secuencia de nmeros psudoaleatorios y nmeros uniformes
(Un = xn+1/m) son mostrados en la tabla 2.1. Como se puede apreciar en
esta tabla,el periodo del generador es 8.
Tabla 2.1:Nmeros psudoaleatorios del generador
n xn xn+1 Un n xn xn+1 Un
0 4 3 0.38 8 4 3 0.38
1 3 6 0.75 9 3 6 0.75
2 6 5 0.63 10 6 5 0.63
3 5 0 0.00 11 5 0 0.00
4 0 7 0.88 12 0 7 0.88
5 7 2 0.25 13 7 2 0.25
6 2 1 0.13 14 2 1 0.13
7 1 4 0.50 15 1 4 0.50
1 5 7 mod 8n nx x
3. GENERADORES CONGRUENCIALES
LINEALES (GCL)
Ejemplo 2. En caso que se presente un periodo > m, suponga que setiene un generador en el cual los valores de sus parmetros son:a =xo =c
= 7 ym = 10. Los valores semuestran en la tabla 2.2.
Tabla 2.2:Nmeros psudoaleatorios del generador
n xn xn+1 Un n xn xn+1 Un
0 7 6 0.75 8 7 6 0.75
1 6 9 1.13 9 6 9 1.13
2 9 0 0.00 10 9 0 0.00
3 0 7 0.88 11 0 7 0.88
4 7 6 0.75 12 7 6 0.75
5 6 9 1.13 13 6 9 1.13
6 9 0 0.00 14 9 0 0.00
7 0 7 0.88 15 0 7 0.88
1 7 7 mod 10n nx x
-
7/24/2019 Capitulo VI Nmeros Aleatorios
7/16
26/10/20
3. GENERADORES CONGRUENCIALESLINEALES (GCL)
Graficando podemos claramente el patrn de comportamiento de la
generacin de los nmeros pseudoaleatorios en cada caso.
Generador 1 5 7 mod 8n nx x
0 5 10 150
1
2
3
4
5
6
7
Xn+1
n
3. GENERADORES CONGRUENCIALES
LINEALES (GCL)
1 7 7 mod 10n nx x
0 5 10 150
2
4
6
8
10
n
Xn+1
Generador
Observacin: Si un generador tiene el periodo mximo posible se llama
generador deperiodo completo.
-
7/24/2019 Capitulo VI Nmeros Aleatorios
8/16
26/10/20
3. GENERADORES CONGRUENCIALESLINEALES (GCL)
Reglas que puedan ser utilizadas en la seleccin de los valores delos parmetros, para que el generador resultante tenga periodocompleto.
a) Seleccin de mdulo m
Existen dos opciones para seleccionar el valor apropiado del mdulo:
1. Seleccionar m de modo que sea el nmero primo ms grande posible
y a su vez sea menor quepd, es decir:
donde:
p: es la base del sistema (binario, decimal, etc.) que est utilizando.
d: es el nmero de bits del sistema en la computadora.
Por ejemplo, si se tiene una computadora IBM 370 que trabaja en
binario, entoncesp = 2 y d= 32.
2. Seleccionar m =pd. Cuando m toma este valor se facilita el calculo de
nmero uniforme (Un =xn+1/m), ya que solo se corre el punto binario
o decimal a la izquierda del nmero.
3. GENERADORES CONGRUENCIALES
LINEALES (GCL)
b) Seleccin del multiplicador a
El valor seleccionado de a debe ser entero impar, y adems no deben ser
divisibles por 3 5. Sin embargo, si queremos asegurar que el generador
tenga periodo 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) modb = 0, si b es un factor primo de m.
Usualmente se selecciona a como:
a = 2k+1 sistema binario, k 2. a = 10k+1 sistema decimal, k 2.
-
7/24/2019 Capitulo VI Nmeros Aleatorios
9/16
26/10/20
3. GENERADORES CONGRUENCIALESLINEALES (GCL)
c) Seleccin del incremento c
El valor seleccionado para este parmetro puede ser cualquier constante.
Sin embargo, si se desea asegurar buenos resultados el valor de c debe
ser:
c mod 8 = 5 sistema binario.
c mod 200 = 21 sistema decimal.
Ms especficamente el valor de c debe ser un entero impar y
relativamente primo a m.
d) Seleccin de la semilla xo
En principio la semilla no debera afectar los resultados de la simulacin.Sin embargo, una mala combinacin de semilla y generador pueden
producir conclusiones errneas.
3. GENERADORES CONGRUENCIALES
LINEALES (GCL)
Recomendaciones para la seleccin de las semillas:
No use cero. Cero funciona para generadores GCL mixtos pero hace
que los multiplicativos se queden en cero.
Evite valores pares. Si un generador no es de periodo completo (por
ejemplo GCL multiplicativo con modulo m = 2k) la semilla debe ser
impar. En otros casos no importa.
No use semillas aleatorias. Semillas aleatorias, como por ejemplo la
hora del da, causan dos problemas:
La simulacin no puede ser reproducida.
No se puede garantizar que secuencias mltiples no se solapen.
-
7/24/2019 Capitulo VI Nmeros Aleatorios
10/16
26/10/20
3. GENERADORES CONGRUENCIALESLINEALES (GCL)
3.2. Congruencial Multiplicativo
Al igual que el generador congruencial mixto, el generador congruencial
multiplicativo determina el prximo nmero pseudoaleatorio a partir del
ltimo nmero generado, de acuerdo a la siguiente relacin de
recurrencia:
Se recomienda tambin seleccionar adecuadamente los valores de los
parmetros a,xo ym, con el fin de asegurar un periodo mximo para
las sucesiones generadas por este mtodo.
Los valores de estos parmetros dependern del sistema en que setrabaje.
1mod
n nx ax m
3. GENERADORES CONGRUENCIALES
LINEALES (GCL)
a) Sistema decimal
i. El valor de la semilla puede ser cualquier entero impar no divisible
entre 2 5 y debe ser relativamente primo a m.
ii. El valor seleccionado de a debe ser obtenido de acuerdo a la
siguiente identidad:
donde
t: es cualquier valor entero
p: es cualquiera de los siguientes valores:
3, 11, 13, 19, 21, 27, 37, 53, 59, 61, 67, 69, 77, 83, 91.
iii. El valor seleccionado de m puede ser 10d. Si m = 10 y d 5 el periododel generador es 5x10d-2.
-
7/24/2019 Capitulo VI Nmeros Aleatorios
11/16
26/10/20
3. GENERADORES CONGRUENCIALESLINEALES (GCL)
b) Sistema binario
i. El valor de la semilla puede ser cualquier entero impar relativamente
primoa m.
ii . El valor seleccionado dea debe ser obtenido a partir de la siguiente
expresin:
donde
t: es cualquier valor entero
iii. El valor seleccionado de m puede 2d. Si m = 2d el periodo del
generador es 2d-2 m/4.
A pesar de su aparente simplicidad y previsibilidad, una seleccin
cuidadosa de los parmetros (a,m), permite obtener de manera eficientesucesiones de nmeros suficientemente largas y aleatorias para algn
propsito.
3. GENERADORES CONGRUENCIALES
LINEALES (GCL)
Como ejemplo, consideremos la salida del generador para ciertasselecciones dea,m yxo (tabla 2.4).
Podemos realizar observaciones que se derivan de las salidas anteriores
(ver grficos) y que centran la discusin sobre este tipo de generadoresson:
Un generador congruencial tiene ciclos
La longitud del ciclo del generador depende de la seleccin de los
parmetros
Tabla 2.4: Ejemplos del generador congruencial multiplicativo
Caso a m xo
Salidas
1 6 13 1 6 10 8 9 2 12 7 3 5 4 11 1
2 7 13 10 5 9 11 12 6 3 8 4 2 1 7 10
3 5 13 5 12 8 1 5 12 8 1 5 12 8 1 5
4 7 11 5 2 3 10 4 6 9 8 1 7 5 2 3
5 6 11 3 7 9 10 5 8 4 2 1 6 3 7 9
-
7/24/2019 Capitulo VI Nmeros Aleatorios
12/16
26/10/20
3. GENERADORES CONGRUENCIALESLINEALES (GCL)
Representacin de los pares(n, xn+1) en los casos.
0 5 10 150
5
10
15
Caso 1
0 5 10 150
5
10
15
Caso 2
0 5 10 150
5
10
15
Caso 3
0 5 10 150
5
10
Caso 4
0 5 10 150
5
10
Caso 5
3. GENERADORES CONGRUENCIALES
LINEALES (GCL)
3.3. Otros mtodos
3.3.1. Generadores Cogruenciales Cuadrticos
Son del tipo:
La longitud de periodo mxima que se alcanza con ellos esm, igual que en
el caso del GCL mixto y sin embargo ha de realizar ms operaciones que
ste.
Se puede definir tambin el G.C.L. generalizado como
La filosofa de dicho mtodo consiste en utilizar ms de un elemento de la
sucesin para generar un nuevo trmino.
21 modn n nx dx ax c m
1 1 1 2 2 3 3 modn n n n k n k x a x a x a x a x m
-
7/24/2019 Capitulo VI Nmeros Aleatorios
13/16
26/10/20
3. GENERADORES CONGRUENCIALESLINEALES (GCL)
3.3.2. Mtodos Aditivos
En este caso la longitud mxima de periodo que se puede alcanzar es
mayor, dado que para que se produzca un ciclo es necesario que se
repitan parejas de nmeros.
El primer generador de este tipo fue creado en los aos 1950 y es la
sucesin de Fibonacci:
Ofrece una longitud de periodo mayor que m, pero los test handemostrado que los nmeros producidos no son satisfactoriamente
aleatorios.
2
1 1
longitud mxima de periodo =n n k
n n k
x xm
x x
1 1 modn n nx x x m
3. GENERADORES CONGRUENCIALES
LINEALES (GCL)
Green introdujo el siguiente generador:
Demostr que para k 15 dicho generador no pasaba bien los test dealeatoriedad pero que para k 16 s se portaba bien.
Mitchell y Moore (1958) introdujeron el siguiente generador:
;n 55
Se ha de cumplir:
m debe ser par.
Se han de generar de forma aleatoria 55 semillas, desdex0 hastax54,
de forma que todos ellasno sean pares.
Este mtodo tiene una longitud de periodo grande y al ser simplemente
aditivo y no utilizar multiplicadores, es rpido.
1 modn n n k x x m
1 24 55 modn n nx x m
-
7/24/2019 Capitulo VI Nmeros Aleatorios
14/16
26/10/20
4. ALGUNOS GENERADORES DENUMEROS ALEATORIOS
Un generador GCL muy popular y que ya hemos mencionado varias
veces es:
Este es usado en el sistema SIMPL/I de IBM (1972), APL de IBM (1971),
el sistema operativo PRIMOS de Prime Computer (1984), y la librera
cientfica de IMSL (1987). Tiene buenas propiedades aleatorias y es
recomendado como un estndar mnimo.
Un estudio de generadores multiplicativos GCL con modulom = 231 - 1
que comparo su eficiencia y aleatoriedad, recomienda los dos
siguientes como los mejores:
5 311 7 mod 2 1n nx x
311 48271 mod 2 1n nx x
311 69621 mod 2 1n nx x
4. ALGUNOS GENERADORES DE
NUMEROS ALEATORIOS
El siguiente generador es usado enSIMSCRIPT II.5 y enFORTRAN DEC-
20:
El siguiente generador es usado en el sistema Pascal de la Universidad
de Sheffield para computadores Prime:
SIMULA enUNIVAC usa:
Algunos autores dicen que no tiene buenas propiedades aleatorias.
El sistema operativo UNIX soporta ensiguiente GCL mixto:
311 630360016 mod 2 1n nx x
311 16807 mod 2n nx x
13 351 5 mod 2n nx x
321 1103515245 12345 mod 2n nx x
-
7/24/2019 Capitulo VI Nmeros Aleatorios
15/16
26/10/20
4. ALGUNOS GENERADORES DENUMEROS ALEATORIOS
En Visual Basic se emplea elgenerador congruencial
EnExcel-97 seemplea elgenerador
Con aritmtica de punto flotante, mientras que en Excel-03 y Excel-07
se emplea el generador de Wichman y Hill (1982)definido mediante:
Con salida:
241 1140671485 12820163 mod 2n nx x 242n
n
xU
1 9821.0 0.211327 mod 1n nU U
1 171 mod 30269n nx x
1172 mod 30307
n ny y
1 170 mod 30323n nz z
mod130269 30307 30323
n n nn
x y zU
5. MITOS SOBRE LA GENERACIN DE
NMEROS ALEATORIOS
1. Un conjunto de operaciones complejas lleva a resultados aleatorios.
2. Una sola prueba como la chi-cuadrado es suficiente para probar si el
generador es bueno.
3. Nmeros aleatorios son impredecibles.
4. Algunas semillas son mejores que otras.
5. Implementacin exacta no es relevante.
-
7/24/2019 Capitulo VI Nmeros Aleatorios
16/16
26/10/20
GRACIAS