03_Numeros_Aleatorios

35
 Haga clic para modificar el estilo de subtítulo del patrón  Númer os Aleatorios Ing. Luis Palma

Transcript of 03_Numeros_Aleatorios

Page 1: 03_Numeros_Aleatorios

5/17/2018 03_Numeros_Aleatorios - slidepdf.com

http://slidepdf.com/reader/full/03numerosaleatorios 1/35

 

Haga clic para modificar el estilo de subtítulo delpatrón

 

Números Aleatorios

Ing. Luis Palma

Page 2: 03_Numeros_Aleatorios

5/17/2018 03_Numeros_Aleatorios - slidepdf.com

http://slidepdf.com/reader/full/03numerosaleatorios 2/35

 

•Componente principal en la Simulación digital.•Definición formal: controvertida.•Definición intuitiva: Una sucesión de números aleatorios

puros, se caracteriza por que no existe ninguna regla oplan que nos permita conocer sus valores.

•Los números aleatorios obtenidos a través de algoritmos

recursivos se llaman pseudoaleatorios.

Números Aleatorios

Page 3: 03_Numeros_Aleatorios

5/17/2018 03_Numeros_Aleatorios - slidepdf.com

http://slidepdf.com/reader/full/03numerosaleatorios 3/35

 

¿Por qué estudiar acerca de números aleatorios?

•La gran disponibilidad de generadores de númerosaleatorios en muchos entornos y compiladorespuede llevarnos a pensar que para un usuario de lasimulación no sería necesario estudiar  estascuestiones.

•El Uso progresivo de modelos de simulación cadavez más detallados exige una mayor calidad de losgeneradores de números aleatorios.

Números Aleatorios

Page 4: 03_Numeros_Aleatorios

5/17/2018 03_Numeros_Aleatorios - slidepdf.com

http://slidepdf.com/reader/full/03numerosaleatorios 4/35

 

Los generadores de números aleatorios deben cumplir las siguientes condiciones

• Uniformemente distribuidos ( U[0, 1] )

• Estadísticamente independientes (no debe deducirseun número conociendo otros ya generados)

• Ser reproducible (la misma semilla debe dar la mismasucesión)

• Sin repeticiones dentro de longitud larga• Generar a grandes velocidades

• Requerir poca capacidad de almacenamiento

Números Aleatorios

Page 5: 03_Numeros_Aleatorios

5/17/2018 03_Numeros_Aleatorios - slidepdf.com

http://slidepdf.com/reader/full/03numerosaleatorios 5/35

 

•DEFINICIÓN 1: Kolmogorov (1987) [Complejidad Algorítmica] Una sucesión de números es aleatoriasino puede producirse eficientemente de una maneramás corta que la propia serie.

DEFINICIÓN 2: L’Ecuyer (1990) [Impredicibilidad] Unasucesión de números es aleatoria si nadie que utilicerecursos computacionales razonables puede distinguir entre la serie y una sucesión de númerosverdaderamente aleatoria de una forma mejor quetirando una moneda legal para decidir cuál es cuál.

Números Aleatorios

Page 6: 03_Numeros_Aleatorios

5/17/2018 03_Numeros_Aleatorios - slidepdf.com

http://slidepdf.com/reader/full/03numerosaleatorios 6/35

 

DEFINICIÓN 3: Un Número aleatorio es una realizaciónde una variable aleatoria que tiene asociada una ley deprobabilidades F, en un espacio o modelo deProbabilidades ( , , P).

Obs: Una particular Ley de Probabilidad base para lageneración de números pseudo-aleatorios es:

u1, u2,..., un : es la uniforme (0 ; 1) ui ~ U(0,1).

DEFINICIÓN 4: Una sucesión de números aleatorios {u1,u2,..., un} es una sucesión de números U(0;1), si tienelas mismas propiedades estadísticas relevantes quedicha sucesión de números aleatorios.

Números Aleatorios

Page 7: 03_Numeros_Aleatorios

5/17/2018 03_Numeros_Aleatorios - slidepdf.com

http://slidepdf.com/reader/full/03numerosaleatorios 7/35

•DEFINICIÓN 5: Una sucesión de números aleatorios{ui} es aleatorio si h-úplas de números sucesivosno superpuestos se distribuyen aproximadamente.como una [0,1]h, con h=1,2,..,n, para n

suficientemente grande.•Obs: h=2 tenemos (ui,ui+1) , i=1,2,..n , se distribuye

como una ley uniforme en [0,1]2.

• Existe una gran de métodos para generar 

{ui} U(0,1) : -Uniformente distribuidas- Independientes- E[U]= ½ ; V[U]= 1/12- Período largo

Números Aleatorios

 

Page 8: 03_Numeros_Aleatorios

5/17/2018 03_Numeros_Aleatorios - slidepdf.com

http://slidepdf.com/reader/full/03numerosaleatorios 8/35

Métodos de Generación de Números Aleatorios

1.- Método de los cuadrados medios2.- Métodos Congruenciales3.- Método de registros de desplazamiento

[Semilla - Algoritmo - Validación]

P1 : Obtener semilla (valores iniciales)

P2 : Aplicación de Algoritmos recursivos

P3 : Validación del conjunto de datosgenerados (Test de Aleatoriedad)

Números Aleatorios

 

Page 9: 03_Numeros_Aleatorios

5/17/2018 03_Numeros_Aleatorios - slidepdf.com

http://slidepdf.com/reader/full/03numerosaleatorios 9/35

Pasos para generar #pseudoaleatorios

P1 : Obtener semilla

P2 : Aplicación de Algoritmos generador de númerospseudoaleatorios

P3 : Validar el conjunto de números pseudoaleatoriosgenerados

 

Page 10: 03_Numeros_Aleatorios

5/17/2018 03_Numeros_Aleatorios - slidepdf.com

http://slidepdf.com/reader/full/03numerosaleatorios 10/35

GeneradorCuadrado Medio

 

Page 11: 03_Numeros_Aleatorios

5/17/2018 03_Numeros_Aleatorios - slidepdf.com

http://slidepdf.com/reader/full/03numerosaleatorios 11/35

Método propuesto en los años 1940 por losmatemáticos John Von Neumann y NicholasMetropolis.

Métodos de los cuadrados

Medios

 

Page 12: 03_Numeros_Aleatorios

5/17/2018 03_Numeros_Aleatorios - slidepdf.com

http://slidepdf.com/reader/full/03numerosaleatorios 12/35

 Algoritmo

1. Elegir un número al azar (Xo) de 2n cifras (los autorespropusieron 4 cifras).

2.

Elevar al cuadrado Xo, resultando un número de 4n cifras,si es necesario añadir ceros a la izquierda, para que elnúmero resultante tenga 4n cifras.

3. Seleccionar 2n cifras centrales (X1).

4.

Obtener el número pseudoaleatorio (U1) poniendo el puntodecimal delante de la 2n cifras

5.  A continuación generar el siguiente númeropseudoaleatorio a partir de X1 y regresando al paso 2

Métodos de los cuadrados

Medios

 

Page 13: 03_Numeros_Aleatorios

5/17/2018 03_Numeros_Aleatorios - slidepdf.com

http://slidepdf.com/reader/full/03numerosaleatorios 13/35

Ejercicios ´prácticos

Para los siguientes valores de Xo, aplique elalgoritmo de cuadrado central

Xo = 445

Xo = 10

X0 = 3708

¿Cuáles son los inconvenientes de lasucesión de números aleatorios?

  

Page 14: 03_Numeros_Aleatorios

5/17/2018 03_Numeros_Aleatorios - slidepdf.com

http://slidepdf.com/reader/full/03numerosaleatorios 14/35

Ejemplo: Consideremos la semilla 445

X X2 N° Aleatorio

445 1| 9802 | 5 0,98029802 96| 0792 | 04 0,0792

792 6 | 2726 | 4 0,2726

2726 07 | 4310 | 46 0,4310

Métodos de los Cuadrados

Medios

 

Page 15: 03_Numeros_Aleatorios

5/17/2018 03_Numeros_Aleatorios - slidepdf.com

http://slidepdf.com/reader/full/03numerosaleatorios 15/35

Inconvenientes – CuadradoMedio

Fuerte tendencia a degenerar a cero rápidamente.

Los números generados pueden repetirse cíclicamente

después de una secuencia corta

 

Page 16: 03_Numeros_Aleatorios

5/17/2018 03_Numeros_Aleatorios - slidepdf.com

http://slidepdf.com/reader/full/03numerosaleatorios 16/35

PRÁCTICA DE LABORATORIO

Implemente el algoritmo de cuadrado medio en unlenguaje de propósito general.Debe usted utilizar el concepto programación orientada a

objetos, e implementar el generador del cuadrado mediocomo una clase de objetos

Presentar al docente de práctica

 

Page 17: 03_Numeros_Aleatorios

5/17/2018 03_Numeros_Aleatorios - slidepdf.com

http://slidepdf.com/reader/full/03numerosaleatorios 17/35

GeneradorCongruencial

 

Page 18: 03_Numeros_Aleatorios

5/17/2018 03_Numeros_Aleatorios - slidepdf.com

http://slidepdf.com/reader/full/03numerosaleatorios 18/35

Propuesto por Lehmer en 1951, es el principal generador de números pseudoaleatorios de la actualidad

Xn+1 = (a

Xn + b)

mod m ;

Los parámetros del algoritmo se llaman

- a multiplicador 

- b sesgo- mmódulo

- Xo semilla (valor inicial)

Generadores

Congruenciales

  

Page 19: 03_Numeros_Aleatorios

5/17/2018 03_Numeros_Aleatorios - slidepdf.com

http://slidepdf.com/reader/full/03numerosaleatorios 19/35

Obs:

1.- Cuando b=0 el generador se denominaGenerador  congruencial multiplicativo.

2.- Cuando b 0 el generador se denominaGenerador  congruencial mixto.

3.- A pesar de la simplicidad una adecuadaelección de los parámetros de “a, b y m”, permite

obtener de manera eficiente una larga eimpredecible sucesión de números como paraconsiderarse “aleatoria”.

Generadores

Congruenciales

 

Page 20: 03_Numeros_Aleatorios

5/17/2018 03_Numeros_Aleatorios - slidepdf.com

http://slidepdf.com/reader/full/03numerosaleatorios 20/35

Generadores

Congruenciales

 

Page 21: 03_Numeros_Aleatorios

5/17/2018 03_Numeros_Aleatorios - slidepdf.com

http://slidepdf.com/reader/full/03numerosaleatorios 21/35

 Algunas observaciones de las salidas de los generadorescongruenciales:

• Un generador congruencial tiene ciclos

La longitud del ciclo depende de la selección de losparámetros (observe la diapositiva anterior)

• El modulo m debe ser grande, ya que los valores estáncomprendidos entre 0 y m

• Para que el computo de m sea eficiente m debe ser una potencia de 2, es decir 2k 

• La longitud máxima de periodo nunca puede ser mayor a m

Generadores

Congruenciales

 

Page 22: 03_Numeros_Aleatorios

5/17/2018 03_Numeros_Aleatorios - slidepdf.com

http://slidepdf.com/reader/full/03numerosaleatorios 22/35

La elección de los parámetros de a, b y m se facilitacon el uso de la teoría del texto clásico de Knuth, enla que hace la demostración respectiva.

D. Knuth (1981):

“The Art of Computer Programming”.Ed. A. Wesley Vol N°2

Generadores

Congruenciales

  

Page 23: 03_Numeros_Aleatorios

5/17/2018 03_Numeros_Aleatorios - slidepdf.com

http://slidepdf.com/reader/full/03numerosaleatorios 23/35

Proposición

Un generador congruencial mixto tiene su períodomáximo si y sólo si:

1. m y b son primos entre si2. Si q es un número primo que divide a m, entonces

divide a a-1.

3. Si 4 divide a m, entonces 4 divide a a-1.

Generadores

Congruenciales

  

Page 24: 03_Numeros_Aleatorios

5/17/2018 03_Numeros_Aleatorios - slidepdf.com

http://slidepdf.com/reader/full/03numerosaleatorios 24/35

Corolario

Un generador congruencial multiplicativo no puedetener periodo completo.

Proposición

El periodo maximo de un generador congruencialmultiplicativo puede ser m-1 si se eligenadecuadamente los valores de m y a

Generadores

Congruenciales

 

Page 25: 03_Numeros_Aleatorios

5/17/2018 03_Numeros_Aleatorios - slidepdf.com

http://slidepdf.com/reader/full/03numerosaleatorios 25/35

Para a = 2, b = 3, m = 7; determinar el periodo

Si m = 23, cuales son los valores de a y b que permitanobtener un periodo máximo, demuestre de formaexperimental y por demostración de la proposición deperiodo máximo.

Si el computador que utiliza es de 16, 32 y 64 bit, ¿cual esel valor máximo que puede tomar m?

 Asuma que tiene un computador de 4 bit, ¿Cuál es el

valor de a, b y m que obtengan un generador mixto y ungenerador multiplicativo con un periodo máximo?

Práctica

 

Page 26: 03_Numeros_Aleatorios

5/17/2018 03_Numeros_Aleatorios - slidepdf.com

http://slidepdf.com/reader/full/03numerosaleatorios 26/35

Generador que se encuentra en las bibliotecas IMSL yNAG

Xn = 75 Xn-1 mod (231-1)

un =

Generador famoso de IBM,

Xn = 65539 Xn mod (231)

Generadores

Congruenciales

 

Page 27: 03_Numeros_Aleatorios

5/17/2018 03_Numeros_Aleatorios - slidepdf.com

http://slidepdf.com/reader/full/03numerosaleatorios 27/35

PRÁCTICA DE LABORATORIOImplementar el algoritmo de ongruencial en un lenguaje

de propósito general.Debe usted utilizar el concepto programación orientada a

objetos, e implementar el generador congruencial comouna clase de objetos

Entregar al docente de práctica

 

Page 28: 03_Numeros_Aleatorios

5/17/2018 03_Numeros_Aleatorios - slidepdf.com

http://slidepdf.com/reader/full/03numerosaleatorios 28/35

Generador

Registros deDesplazamiento

  

Page 29: 03_Numeros_Aleatorios

5/17/2018 03_Numeros_Aleatorios - slidepdf.com

http://slidepdf.com/reader/full/03numerosaleatorios 29/35

Los generadores de registros desfasados realizan la adiciónmódulo 2 la cual equivale al XOR (ó exclusivo)

0 XOR 0 = 0 0 XOR 1 = 1

1 XOR 1 = 0 1 XOR 0 = 1Esto permite implementar registros de desplazamiento

Un generador propuesto por Tausworthe (1985)

h = 273, q = 607 ó h = 32, q = 521

Generadores de Registros

Desplazamiento

 

Page 30: 03_Numeros_Aleatorios

5/17/2018 03_Numeros_Aleatorios - slidepdf.com

http://slidepdf.com/reader/full/03numerosaleatorios 30/35

En este caso los primeros q bits deben ser especificados,esto es análogo a la semilla de los generadorescongruenciales.

Este tipo de generador depende del largo de la palabra

Ejemplo: h = 3 ; q = 5 ; b1 = b2 = b3 = b4 = b5 = 1b6 = (b3 + b1) mod 2 = 2 mod 2 = 0b7 = (b4 + b2) mod 2 = 2 mod 2 = 0b8 = (b5 + b3) mod 2 = 2 mod 2 = 0

b9 = (b6 + b4)mod 

2 = 1mod 

2 = 1b10 = (b7 + b5) mod 2 = 1 mod 2 = 1...b42 = (b39 + b37) mod 2 = 2 mod 2 = 0

Generadores de RegistrosDesplazamiento

  

Page 31: 03_Numeros_Aleatorios

5/17/2018 03_Numeros_Aleatorios - slidepdf.com

http://slidepdf.com/reader/full/03numerosaleatorios 31/35

Transformar la sucesión {bi} en un número aleatorio U(0,1)

Consideremos {bi}

b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11b12

1 1 1 1 1 0 0 0 1 1 0 1......... b41 b42

......... 1 0

Conversión del Generador

Binario

  

Page 32: 03_Numeros_Aleatorios

5/17/2018 03_Numeros_Aleatorios - slidepdf.com

http://slidepdf.com/reader/full/03numerosaleatorios 32/35

Consideremos l = 4y1 = b123 + b222 + b321 + b420 = 8 + 4 + 2 + 1 = 15

u1 =

y2 = b523 + b622 + b721 + b820 = 8 + 0 + 0 + 0 = 8

u2 =

y3 = b923 + b1022 + b1121 + b1220 = 8 + 4 + 0 + 1 = 13

u3 = .... y así sucesivamente

Conversión del Generador

Binario

 

Page 33: 03_Numeros_Aleatorios

5/17/2018 03_Numeros_Aleatorios - slidepdf.com

http://slidepdf.com/reader/full/03numerosaleatorios 33/35

PRÁCTICA DE LABORATORIO

Implementar el algoritmo de generadosregistros desfasados en un lenguaje depropósito general.

Debe usted utilizar el concepto programaciónorientada a objetos, e implementar el generadorde registros desfasados como una clase

Entregar al docente de práctica

 

Page 34: 03_Numeros_Aleatorios

5/17/2018 03_Numeros_Aleatorios - slidepdf.com

http://slidepdf.com/reader/full/03numerosaleatorios 34/35

Una forma de incrementar el periodo e intentar evitar regularidades que muestren los generadores lineales escombinar  (mezclar) diferentes generadores para obtener generadores híbridos de mejor calidad que losgeneradores originales.

Por ejemplo sean e dos sucesionesaleatorias, una sucesión combinada sería :

Zi = Xi Yi

donde “ ” es alguna operación binaria

Combinación de

Generadores

 

Page 35: 03_Numeros_Aleatorios

5/17/2018 03_Numeros_Aleatorios - slidepdf.com

http://slidepdf.com/reader/full/03numerosaleatorios 35/35

• Generadores congruencial cuadrático

• Generadores de fibonacci retardados

Otros

Generadores