Documentos de Académico
Documentos de Profesional
Documentos de Cultura
HagaLuis para modificar el estilo de subttulo del Ing. clic Palma patrn
Nmeros Aleatorios
Componente principal en la Simulacin digital. Definicin formal: controvertida. Definicin intuitiva: Una sucesin de nmeros aleatorios puros, se caracteriza por que no existe ninguna regla o plan que nos permita conocer sus valores. Los nmeros aleatorios obtenidos a travs de algoritmos recursivos se llaman pseudoaleatorios.
Nmeros Aleatorios
Por qu estudiar acerca de nmeros aleatorios? La gran disponibilidad de generadores de nmeros aleatorios en muchos entornos y compiladores puede llevarnos a pensar que para un usuario de la simulacin no sera necesario estudiar estas cuestiones. El Uso progresivo de modelos de simulacin cada vez ms detallados exigealeatorios. calidad de los generadores de nmeros una mayor
Nmeros Aleatorios
Los generadores de nmeros aleatorios deben cumplir las siguientes condiciones
Uniformemente distribuidos ( U[0, 1] ) Estadsticamente independientes (no debe deducirse un nmero conociendo otros ya generados) Ser reproducible (la misma semilla debe dar la misma sucesin) Sin repeticiones dentro de longitud larga Generar a grandes velocidades Requerir poca capacidad de almacenamiento
Nmeros Aleatorios
DEFINICIN 1: Kolmogorov (1987) [Complejidad Algortmica] Una sucesin de nmeros es aleatoria sino puede producirse eficientemente de una manera ms corta que la propia serie. DEFINICIN 2: LEcuyer (1990) [Impredicibilidad] Una sucesin de nmeros es aleatoria si nadie que utilice recursos computacionales razonables puede distinguir entre la serie y una sucesin de nmeros verdaderamente aleatoria de una forma mejor que tirando una moneda legal para decidir cul es cul.
Nmeros Aleatorios
DEFINICIN 3: Un Nmero aleatorio es una realizacin
de una variable aleatoria que tiene asociada una ley de probabilidades F, en un espacio o modelo de Probabilidades (, , P). Obs: Una particular Ley de Probabilidad base para la generacin de nmeros pseudo-aleatorios es: u1, u2,..., un : es la uniforme (0 ; 1) ui ~ U(0,1).
u2,..., un} es una sucesin de nmeros U(0;1), si tiene las mismas propiedades estadsticas relevantes que dicha sucesin de nmeros aleatorios.
Nmeros Aleatorios
DEFINICIN 5: Una sucesin de nmeros aleatorios {ui} es aleatorio si h-plas de nmeros sucesivos no 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 mtodos para generar {ui} U(0,1) : -Uniformente distribuidas - Independientes - E[U]= ; V[U]= 1/12 - Perodo largo
Nmeros Aleatorios
Mtodos de Generacin de Nmeros Aleatorios
1.- Mtodo de los cuadrados medios 2.- Mtodos Congruenciales 3.- Mtodo de registros de desplazamiento [Semilla - Algoritmo - Validacin] P1 : Obtener semilla (valores iniciales) P2 : Aplicacin de Algoritmos recursivos P3 : Validacin del conjunto de datos generados (Test de Aleatoriedad)
Algoritmo 1. Elegir un nmero al azar (Xo) de 2n cifras (los autores propusieron 4 cifras). 2. Elevar al cuadrado Xo, resultando un nmero de 4n cifras, si es necesario aadir ceros a la izquierda, para que el nmero resultante tenga 4n cifras. 3. Seleccionar 2n cifras centrales (X1). 4. Obtener el nmero pseudoaleatorio (U1) poniendo el punto decimal delante de la 2n cifras 5. A continuacin generar el siguiente nmero pseudoaleatorio a partir de X1 y regresando al paso 2
Ejercicios prcticos
Para los siguientes valores de Xo, aplique el algoritmo de cuadrado central Xo = 445 Xo = 10 X0 = 3708 Cules son los inconvenientes sucesin de nmeros aleatorios? de la
PRCTICA DE LABORATORIO
Implemente el algoritmo de cuadrado medio en un
lenguaje de propsito general. Debe usted utilizar el concepto programacin orientada a objetos, e implementar el generador del cuadrado medio como una clase de objetos Presentar al docente de prctica
Generador Congruencial
Generadores Congruenciales
Xn+1 = (a Xn + b) mod m
Los parmetros del algoritmo se llaman - a multiplicador - b sesgo - mmdulo - Xo semilla (valor inicial)
Generadores Congruenciales
Obs: 1.- Cuando b=0 el generador se denomina Generador congruencial multiplicativo. 2.- Cuando b0 el generador se denomina Generador congruencial mixto. 3.- A pesar de la simplicidad una adecuada eleccin de los parmetros de a, b y m, permite obtener de manera eficiente una larga e impredecible sucesin de nmeros como para considerarse aleatoria.
Generadores Congruenciales
Algunas observaciones de las salidas de los generadores congruenciales: Un generador congruencial tiene ciclos La longitud del ciclo depende de la seleccin de los parmetros (observe la diapositiva anterior) El modulo m debe ser grande, ya que los valores estn comprendidos entre 0 y m Para que el computo de m sea eficiente m debe ser una potencia de 2, es decir 2k La longitud mxima de periodo nunca puede ser mayor am
Generadores Congruenciales
Generadores Congruenciales
La eleccin de los parmetros de a, b y m se facilita con el uso de la teora del texto clsico de Knuth, en la que hace la demostracin respectiva. D. Knuth (1981): The Art of Computer Programming. Ed. A. Wesley Vol N2
Generadores Congruenciales
Proposicin Un generador congruencial mixto tiene su perodo mximo si y slo si: 1. m y b son primos entre si 2. Si q es un nmero primo que divide a m, entonces divide a a-1.
3.
Corolario
Generadores Congruenciales
Un generador congruencial multiplicativo no puede tener periodo completo. Proposicin El periodo maximo de un generador congruencial multiplicativo puede ser m-1 si se eligen adecuadamente los valores de m y a
Prctica
Para a = 2, b = 3, m = 7; determinar el periodo Si m = 23, cuales son los valores de a y b que permitan
obtener un periodo mximo, demuestre de forma experimental y por demostracin de la proposicin de periodo mximo. Si el computador que utiliza es de 16, 32 y 64 bit, cual es el valor mximo que puede tomar m? Asuma que tiene un computador de 4 bit, Cul es el valor de a, b y m que obtengan un generador mixto y un generador multiplicativo con un periodo mximo?
Generadores Congruenciales
Generador que se encuentra en las bibliotecas IMSL y NAG Xn = 75 Xn-1 mod (231-1) un = Generador famoso de IBM, Xn = 65539 Xn mod (231)
PRCTICA DE LABORATORIO
Implementar el algoritmo de ongruencial en un lenguaje
de propsito general. Debe usted utilizar el concepto programacin orientada a objetos, e implementar el generador congruencial como una clase de objetos Entregar al docente de prctica
Los generadores de registros desfasados realizan la adicin mdulo 2 la cual equivale al XOR ( exclusivo) 0 XOR 0 = 0 0 XOR 1 = 1 1 XOR 1 = 0 1 XOR 0 = 1 Esto permite implementar registros de desplazamiento Un generador propuesto por Tausworthe (1985)
En este caso los primeros q bits deben ser especificados, esto es anlogo a la semilla de los generadores congruenciales. Este tipo de generador depende del largo de la palabra Ejemplo: h = 3 ; q = 5 ; b1 = b2 = b3 = b4 = b5 = 1 b6 = (b3 + b1) mod 2 = 2 mod 2 = 0 b7 = (b4 + b2) mod 2 = 2 mod 2 = 0 b8 = (b5 + b3) mod 2 = 2 mod 2 = 0 b9 = (b6 + b4) mod 2 = 1 mod 2 = 1 b10 = (b7 + b5) mod 2 = 1 mod 2 = 1 ... b42 = (b39 + b37) mod 2 = 2 mod 2 = 0
PRCTICA DE LABORATORIO
Implementar
Una el periodo e intentar evitar regularidades que muestren los generadores lineales es combinar (mezclar) diferentes generadores para obtener generadores hbridos de mejor calidad que los generadores originales. Por ejemplo sean e dos sucesiones aleatorias, una sucesin combinada sera : Zi = Xi Yi donde es alguna operacin binaria
de
Otros Generadores