Download - 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
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
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
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
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
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
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
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
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
5/17/2018 03_Numeros_Aleatorios - slidepdf.com
http://slidepdf.com/reader/full/03numerosaleatorios 10/35
GeneradorCuadrado Medio
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
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
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?
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
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
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
5/17/2018 03_Numeros_Aleatorios - slidepdf.com
http://slidepdf.com/reader/full/03numerosaleatorios 17/35
GeneradorCongruencial
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
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
5/17/2018 03_Numeros_Aleatorios - slidepdf.com
http://slidepdf.com/reader/full/03numerosaleatorios 20/35
Generadores
Congruenciales
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
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
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
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
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
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
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
5/17/2018 03_Numeros_Aleatorios - slidepdf.com
http://slidepdf.com/reader/full/03numerosaleatorios 28/35
Generador
Registros deDesplazamiento
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
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
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
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
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
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
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