Está en la página 1de 35

Nmeros Aleatorios

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).

DEFINICIN 4: Una sucesin de nmeros aleatorios {u1,

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)

Pasos para generar # pseudoaleatorios


P1 : Obtener semilla P2 : Aplicacin de Algoritmos generador de nmeros pseudoaleatorios P3 : Validar el conjunto de nmeros pseudoaleatorios generados

Generador Cuadrado Medio

Mtodos de los cuadrados Medios


Mtodo propuesto en los aos 1940 por los matemticos John Von Neumann y Nicholas Metropolis.

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

Mtodos de los cuadrados Medios

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

Mtodos de los Cuadrados Medios 445 Ejemplo: Consideremos la semilla


X 445 9802 792 2726 X2 N Aleatorio 1| 9802 | 5 0,9802 96| 0792 | 04 0,0792 6 | 2726 | 4 0,2726 07 | 4310 | 46 0,4310

Inconvenientes Cuadrado Medio


Fuerte tendencia a degenerar a cero rpidamente. Los nmeros generados pueden repetirse cclicamente

despus de una secuencia corta

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

Propuesto por Lehmer en 1951, es el principal generador de nmeros pseudoaleatorios de la actualidad

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.

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

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

Generador Registros de Desplazamiento

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)

Generadores de Registros Desplazamiento

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

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

Generadores de Registros Desplazamiento

Conversin del Generador Binario


Transformar la sucesin {bi} en un nmero aleatorio U(0,1) Consideremos {bi} b1 b2 b3 b4 b5 b6 b12 1 1 1 1 1 0 0 ......... b41 b42 ......... 1 0 b7 0 b8 1 b9 1 b10 0 1 b11

Conversin del Generador Binario Consideremos l = 4


y1 = 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

PRCTICA DE LABORATORIO
Implementar

el algoritmo de generados registros desfasados en un lenguaje de propsito general.


Debe usted utilizar el concepto programacin orientada a objetos, e implementar el generador de registros desfasados como una clase Entregar al docente de prctica

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

Combinacin Generadores forma de incrementar

de

Generadores congruencial cuadrtico Generadores de fibonacci retardados

Otros Generadores

También podría gustarte