Capitulo VI Números Aleatorios

16
7/24/2019 Capitulo VI Números Aleatorios http://slidepdf.com/reader/full/capitulo-vi-numeros-aleatorios 1/16 26/10/20 Facultad de Ingeniería Estadística e Informática Campus Universitario - Puno Ing. Alcides RAMOS CALCINA PUNO 2015 PROGRAMACIÓN Y SIMULACIÓN DE PROCESOS METALURGICOS NÚMEROS PSEUDOALEATORIOS

Transcript of Capitulo VI Números Aleatorios

Page 1: Capitulo VI Números Aleatorios

7/24/2019 Capitulo VI Números Aleatorios

http://slidepdf.com/reader/full/capitulo-vi-numeros-aleatorios 1/16

26/10/20

Facultad de Ingeniería Estadística e Informática 

Campus Universitario - Puno Ing. Alcides RAMOS CALCINA

PUNO 2015 

PROGRAMACIÓN Y SIMULACIÓN DE

PROCESOS METALURGICOS

NÚMEROS PSEUDOALEATORIOS

Page 2: Capitulo VI Números Aleatorios

7/24/2019 Capitulo VI Números Aleatorios

http://slidepdf.com/reader/full/capitulo-vi-numeros-aleatorios 2/16

26/10/20

1. INTRODUCCIÓN

• Una vez construido un modelo, debemos experimentar sobre él y para

poder ejecutarlo necesitamos dar valores a las variables de tipo

exógeno.

• Algunas de las variables de entrada son de tipo aleatorio por lo que se

tendrán que generar valores que simulen dichas entradas.

• Para generar variables aleatorias que sigan determinadas funciones de

probabilidad necesitamos partir de series de números que cumplan

ciertas características de aleatoriedad.

• Es grande la necesidad de usar números aleatorios y son muchas las

aplicaciones que requieren de ellos, tales como:

 – Simulación: para simular las entradas de aquellas variables

aleatorias (no determinísticas).

 – Juegos o teoría de decisiones.

 – Cálculo numérico: por ejemplo en la resolución de integrales.

 – Teoría del muestreo: aquellos casos en los que sea demasiado

costoso realizar la muestra.

 – Programación: generación de entradas para realizar las pruebas

de los algoritmos y programas.

2. GENERADORES DE NÚMEROSLas características deseables para los generadores de números aleatorios

son las siguientes:

 – Los números generados no se deben repetir frecuentemente (en

ciclos).

 – Las series generadas deben ser reproducibles.

 – Rapidez en la obtención de los números.

 – Almacenamiento mínimo. Tanto el propio generador como los

números por el generados.

 – Los números 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 obtención de cierto valor no esté condicionadopor los valores obtenidos anteriormente.

Vamos a ver distintos métodos y para cada uno evaluaremos cuáles de las

características descritas arriba cumple y cuáles no.

Page 3: Capitulo VI Números Aleatorios

7/24/2019 Capitulo VI Números Aleatorios

http://slidepdf.com/reader/full/capitulo-vi-numeros-aleatorios 3/16

26/10/20

2. GENERADORES DE NÚMEROS

1) Manual. Por ejemplo, lanzar un dado o realizar extracciones con

reemplazamiento de bolas numeradas dentro de una urna.

Ventajas:

• Las series obtenidas son

realmente aleatorias.

Inconvenientes:

• Lentitud.

• Las series obtenidas son

irreproducibles.

• Requieren gran cantidad de

almacenamiento ya que habría

que almacenar la serie

obtenida.

2. GENERADORES DE NÚMEROS2) Tablas. (De hasta 100000 números).

Ventajas:

• Las series obtenidas son

reproducibles.

Inconvenientes:

• Lentitud.

• Requieren gran cantidad de

almacenamiento.

Page 4: Capitulo VI Números Aleatorios

7/24/2019 Capitulo VI Números Aleatorios

http://slidepdf.com/reader/full/capitulo-vi-numeros-aleatorios 4/16

26/10/20

2. GENERADORES DE NÚMEROS

3) Computación analógica. Las series se obtienen mediante

fenómenos físicos.

Ventajas:

• Las series obtenidas son realmente aleatorias.

• Rapidez.

Inconvenientes:

• Las series obtenidas son irreproducibles.

2. GENERADORES DE NÚMEROS4) Computación digital. Dada una función y una semilla, se van

generando los números aleatorios.

Ventajas:

• Rapidez.

• Pocos requerimientos de almacenamiento.

• Las series obtenidas son reproducibles.

Inconvenientes:

• Los números obtenidos no son independientes.

Page 5: Capitulo VI Números Aleatorios

7/24/2019 Capitulo VI Números Aleatorios

http://slidepdf.com/reader/full/capitulo-vi-numeros-aleatorios 5/16

26/10/20

3. GENERADORES CONGRUENCIALESLINEALES (GCL)

A los números obtenidos mediante métodos de computación digital se les

conoce como números pseudoaleatorios, los números obtenidos están

uniformemente distribuidos pero no son independientes. Vamos a

generar números uniformemente distribuidos en el intervalo [0,1]

(U(0,1)).

Hacia 1949, Lehmer introduce un método de generación de números

aleatorios mediante el cual un término de la serie se obtiene como

función d el t érmino inmediatamente a nterior ( ).

La función 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, módulo.

1n n x f x

1 modn n x ax c m  

3. GENERADORES CONGRUENCIALES

LINEALES (GCL)

3.1. Congruencial Mixto

Los generadores congruenciales lineales generan una secuencia de

números pseudoaleatorios en la cual el próximo número psudoaleatorio

es determinado a partir del último número generado, es decir, el número

psudoaleatorio x n+1 es derivado a partir del número pseudoaleatorio x n.

Para el caso particular del generador congruencial mixto, la relación de

recurrencia es la siguiente:

donde: x0, la semilla ( x0 > 0).

Esta relación de recurrencia nos dice que xn+1 es el residuo de dividir axn +

c entre el modulo. Lo anterior significa que losvalores posibles de xn+1 son

0, 1, 2, 3, …,   m-1, es decir,  m representa el número posible de valores

diferentes que pueden ser generados.

1 modn n x ax c m  

Page 6: Capitulo VI Números Aleatorios

7/24/2019 Capitulo VI Números Aleatorios

http://slidepdf.com/reader/full/capitulo-vi-numeros-aleatorios 6/16

26/10/20

3. GENERADORES CONGRUENCIALESLINEALES (GCL)

Ejemplo 1. Suponga que m = 8, a = 5, c = 7 y xo = 4. Para estos valores,

la secuencia de números psudoaleatorios y números uniformes

(U n =  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: Números 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

15 7 mod 8

n n x x  

3. GENERADORES CONGRUENCIALES

LINEALES (GCL)

Ejemplo 2. En caso que se presente un periodo >   m, suponga que se

tiene un generador en el cual los valores de sus parámetros son: a = xo = c

= 7 y m = 10. Los valores semuestran en la tabla 2.2.

Tabla 2.2: Números 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

17 7 mod 10

n n x x  

Page 7: Capitulo VI Números Aleatorios

7/24/2019 Capitulo VI Números Aleatorios

http://slidepdf.com/reader/full/capitulo-vi-numeros-aleatorios 7/16

26/10/20

3. GENERADORES CONGRUENCIALESLINEALES (GCL)

Graficando podemos claramente el patrón de comportamiento de la

generación de los números pseudoaleatorios en cada caso.

Generador   1 5 7 mod 8n n x x  

0 5 10 150

1

2

3

4

5

6

7

Xn+1

       n

3. GENERADORES CONGRUENCIALES

LINEALES (GCL)

17 7 mod 10

n n x x  

0 5 10 150

2

4

6

8

10

       n

Xn+1

Generador

Observación: Si un generador tiene el periodo máximo posible se llama

generador de periodo completo.

Page 8: Capitulo VI Números Aleatorios

7/24/2019 Capitulo VI Números Aleatorios

http://slidepdf.com/reader/full/capitulo-vi-numeros-aleatorios 8/16

26/10/20

3. GENERADORES CONGRUENCIALESLINEALES (GCL)

Reglas que puedan ser utilizadas en la selección de los valores delos parámetros, para que el generador resultante tenga periodocompleto.

a) Selección de módulo “m”

Existen dos opciones para seleccionar el valor apropiado del módulo:

1. Seleccionar m de modo que sea el número primo más grande posible

y a su vez sea menor que pd  , es decir:

donde:

 p: es la base del sistema (binario, decimal, etc.) que está utilizando.

d: es el número de bits del sistema en la computadora.

Por ejemplo, si se tiene una computadora IBM 370 que trabaja en

binario, entonces p = 2 y d = 32.

2. Seleccionar m = pd . Cuando m toma este valor se facilita el calculo de

número uniforme (Un = x n+1/m), ya que solo se corre el punto binario

o decimal a la izquierda del número.

3. GENERADORES CONGRUENCIALES

LINEALES (GCL)

b) Selección del multiplicador “a”

El valor seleccionado de a debe ser entero impar, y además 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) mod b = 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.

Page 9: Capitulo VI Números Aleatorios

7/24/2019 Capitulo VI Números Aleatorios

http://slidepdf.com/reader/full/capitulo-vi-numeros-aleatorios 9/16

26/10/20

3. GENERADORES CONGRUENCIALESLINEALES (GCL)

c) Selección del incremento “c ”

El valor seleccionado para este parámetro 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.

Más específicamente el valor de c debe ser un entero impar y

relativamente primo a m.

d) Selección de la semilla “ x o”

En principio la semilla no debería afectar los resultados de la simulación.Sin embargo, una mala combinación de semilla y generador pueden

producir conclusiones erróneas.

3. GENERADORES CONGRUENCIALES

LINEALES (GCL)

Recomendaciones para la selección 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 día, causan dos problemas:

La simulación no puede ser reproducida.

No se puede garantizar que secuencias múltiples no se solapen.

Page 10: Capitulo VI Números Aleatorios

7/24/2019 Capitulo VI Números Aleatorios

http://slidepdf.com/reader/full/capitulo-vi-numeros-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 próximo número pseudoaleatorio a partir del

último número generado, de acuerdo a la siguiente relación de

recurrencia:

• Se recomienda también seleccionar adecuadamente los valores de los

parámetros  a, x o y m, con el fin de asegurar un periodo máximo para

las sucesiones generadas por este método.

• Los valores de estos parámetros dependerán del sistema en que setrabaje.

1mod

n n x 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 periodo

del generador es 5x10d -2.

Page 11: Capitulo VI Números Aleatorios

7/24/2019 Capitulo VI Números Aleatorios

http://slidepdf.com/reader/full/capitulo-vi-numeros-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 de a debe ser obtenido a partir de la siguiente

expresión:

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 selección

cuidadosa de los parámetros (a, m), permite obtener de manera eficientesucesiones de números suficientemente largas y aleatorias para algún

propósito.

3. GENERADORES CONGRUENCIALES

LINEALES (GCL)

Como ejemplo, consideremos la salida del generador para ciertas

selecciones de a, m y x o (tabla 2.4).

Podemos realizar observaciones que se derivan de las salidas anteriores

(ver gráficos) y que centran la discusión sobre este tipo de generadoresson:

 – Un generador congruencial tiene ciclos

 – La longitud del ciclo del generador depende de la selección de los

parámetros

Tabla 2.4: Ejemplos del generador congruencial multiplicativo

Caso   a m x o

  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

Page 12: Capitulo VI Números Aleatorios

7/24/2019 Capitulo VI Números Aleatorios

http://slidepdf.com/reader/full/capitulo-vi-numeros-aleatorios 12/16

26/10/20

3. GENERADORES CONGRUENCIALESLINEALES (GCL)

Representación de los pares(n, x n+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 métodos

3.3.1. Generadores Cogruenciales Cuadráticos

Son del tipo:

La longitud de periodo máxima que se alcanza con ellos es m, igual que en

el caso del GCL mixto y sin embargo ha de realizar más operaciones que

éste.

Se puede definir también el G.C.L. generalizado como

La filosofía de dicho método consiste en utilizar más de un elemento de la

sucesión para generar un nuevo término.

2

1 modn n n x 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

Page 13: Capitulo VI Números Aleatorios

7/24/2019 Capitulo VI Números Aleatorios

http://slidepdf.com/reader/full/capitulo-vi-numeros-aleatorios 13/16

26/10/20

3. GENERADORES CONGRUENCIALESLINEALES (GCL)

3.3.2. Métodos Aditivos

En este caso la longitud máxima de periodo que se puede alcanzar es

mayor, dado que para que se produzca un ciclo es necesario que se

repitan parejas de números.

El primer generador de este tipo fue creado en los años 1950 y es la

sucesión de Fibonacci:

Ofrece una longitud de periodo mayor que m, pero los test handemostrado que los números producidos no son satisfactoriamente

aleatorios.

2

1 1

 longitud máxima de periodo =n n k 

n n k 

 x xm

 x x

 

 

1 1 modn n n x 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 de

aleatoriedad 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, desde x 0 hasta x 54,

de forma que todos ellasno sean pares.

Este método tiene una longitud de periodo grande y al ser simplemente

aditivo y no utilizar multiplicadores, es rápido.

1 modn n n k   x x m

1 24 55 modn n n x x m

Page 14: Capitulo VI Números Aleatorios

7/24/2019 Capitulo VI Números Aleatorios

http://slidepdf.com/reader/full/capitulo-vi-numeros-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 librería

científica de IMSL (1987). Tiene buenas propiedades aleatorias y es

recomendado como un estándar mínimo.

• Un estudio de generadores multiplicativos GCL con modulo m = 231 - 1

que comparo su eficiencia y aleatoriedad, recomienda los dos

siguientes como los mejores:

5 31

1 7 mod 2 1n n x x  

  311 48271 mod 2 1n n x x  

  31

169621 mod 2 1

n n x 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:

  31

1 630360016 mod 2 1n n x x  

31

1 16807 mod 2n n x x  

13 35

1 5 mod 2n n x x  

32

1 1103515245 12345 mod 2n n x x  

Page 15: Capitulo VI Números Aleatorios

7/24/2019 Capitulo VI Números Aleatorios

http://slidepdf.com/reader/full/capitulo-vi-numeros-aleatorios 15/16

26/10/20

4. ALGUNOS GENERADORES DENUMEROS ALEATORIOS

• En Visual Basic se emplea elgenerador congruencial

• EnExcel-97 seemplea elgenerador

Con aritmética de punto flotante, mientras que en Excel-03 y Excel-07

se emplea el generador de Wichman y Hill (1982)definido mediante:

Con salida:

24

1 1140671485 12820163 mod 2n n x x   242

n

n

 xU   

1 9821.0 0.211327 mod 1n nU U   

1 171 mod 30269n n x x  

1172 mod 30307

n n y y  

1 170 mod 30323n n z z   

mod130269 30307 30323

n n nn

 x y z U 

 

5. MITOS SOBRE LA GENERACIÓN DE

NÚMEROS 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. Números aleatorios son impredecibles.

4. Algunas semillas son mejores que otras.

5. Implementación exacta no es relevante.

Page 16: Capitulo VI Números Aleatorios

7/24/2019 Capitulo VI Números Aleatorios

http://slidepdf.com/reader/full/capitulo-vi-numeros-aleatorios 16/16

26/10/20

GRACIAS