Numeros Aleatorios
Enviado por apinerogue • 26 de Abril de 2015 • 2.444 Palabras (10 Páginas) • 725 Visitas
REPUBLICA BOLIVARIANA DE VENEZUELA
MINISTERIO DEL PODER POPULAR PARA LA DEFENSA
UNIVERSIDAD NACIONAL EXPERIMENTAL DE LA FUERZA ARMADA
NUCLEO MIRANDA - EXTENSION SANTA TERESA
SIMULACION
INGENIERIA SISTEMAS
7mo semestre
NUMEROS ALEATORIOS
PROFESORA:
BACHILLERES:
Números aleatorios
Es aquel obtenido al azar, es decir, que todo número tenga la misma probabilidad de ser elegido y que la elección de uno no dependa de la elección del otro. El ejemplo clásico más utilizado para generarlos es el lanzamiento repetitivo de una moneda o dado ideal no trucado.
Un paso clave en simulación es tener rutinas que generen variables aleatorias con distribuciones específicas: exponencial, normal, etc. Esto es hecho en dos fases. La primera consiste en generar una secuencia de números aleatorios distribuidos uniformemente entre 0 y 1. Luego esta secuencia es transformada para obtener los valores aleatorios de las distribuciones deseadas. La primera fase es la que nos concierne ahora.
Podemos aprovecharnos de situaciones reales para obtener una tabla de números aleatorios, como la lista de los números de Lotería Nacional premiados a lo largo de su historia, pues se caracterizan por que cada dígito tiene la misma probabilidad de ser elegido, y su elección es independiente de las demás extracciones.
Métodos manuales, lanzamiento de monedas, lanzamientos de dados, dispositivos mecánicos, dispositivos electrónicos
Métodos de computación analógica, son métodos que dependen de ciertos procesos físicos aleatorios, por ejemplo, el comportamiento de una corriente eléctrica.
Métodos de computación digital, cuando se usa el ordenador digital.
Tablas de bibliotecas, son números aleatorios que se han publicado; de los cuales podemos encontrar listas en los libros de probabilidad y tablas de matemáticas. Estos números fueron generados por alguno de los métodos de computación analógica.
Métodos de generación
Métodos Aditivos.
Hasta ahora hemos visto generadores que producían números en los que cada término depende del anterior. Ahora vamos a ver otro tipo de generadores en los que para generar un nuevo término se utilizan dos elementos anteriores.
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 han demostrado que los números producidos no son satisfactoriamente aleatorios.
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:
Se ha de cumplir:
*m debe ser par.
* Se han de generar de forma aleatoria 55 semillas, desde X0 hasta X54, de forma que todas ellas no sean pares.
Este método tiene una longitud de periodo grande y al ser simplemente aditivo y no utilizar multiplicadores, es rápido.
Son muchas las posibilidades para implementar este método. Una de ellas utiliza un array con 55 elementos:
Para n=1 hasta 54 hacer
Y[n]←
x55-n
Fin_para
j← 24; k← 55
Mientras no fin
Y[k] ← (Y[k]+Y[j]) mod 2 e Salida Y[k]
j← j-1
k← k-1
Si j=0
Entonces j← 55
Si k=0
Entonces k← 55
Fin_mientras.
Este algoritmo utiliza el array como si tuviese forma circular, de este modo siempre se tienen guardados los 55 valores que son necesarios para ir calculando los siguientes. Este es un generador bastante bueno.
Métodos congruenciales
El Método De Congruencia Lineal produce una secuencia de enteros X1, X2,... entre 0 y m-1 de acuerdo a la siguiente relación recursiva:
Xi+1= (a * Xi + c) mod m, i=0,1,2,...
X0 es llamado semilla. a es llamado el multiplicador constante.
c es el incremento.
m es el módulo.
El número aleatorio se encuentra de la siguiente manera:
R = X / m
Ejemplo: Utilice el método de Congruencia Lineal para generar números aleatorios con las siguientes constantes:
X0 = 27, a = 17, c = 43, m = 100
La secuencia de Xi y subsecuentes Ri serían:
X0 = 27
X1 = (17 * 27 + 43) mod 100 = 502 mod 100 = 2
R1 = 2/100 = 0.02
X2 = (17 * 2 + 43) mod 100 = 77 mod 100 = 77
R2 = 77/100 = 0.77
La selección de los parámetros del generador afecta drásticamente las propiedades ideales y la longitud del ciclo.
Los generadores de números aleatorios mas usados son los generadores congruenciales lineales (LCG). Los generadores de C estándar y de UNIX: RAND (32-bit de precisión), DRAND48 y RANF (48-bit de precisión) son de este tipo.
Los generadores LCG fueron introducidos por Lehmer en 1951. Aquí se produce una secuencia de números aleatorios enteros, donde el siguiente número aleatorio es generado usando el anterior y 3 constantes a, c y M a través de la siguiente relación
Xn=(aXn-1+c) (mod M) Donde a es llamado el multiplicador c la constante aditiva y M el modulo. La expresión y=z (mod m) significa que existe un entero k tal que mk=y-z. Por ejemplo, 11=3(mod 4) puesto que 4(2)=11-3.
Los parámetros a, c y M deben ser elegidos cuidadosamente para asegurar un largoperiodo y que la secuencia generada tenga buena propiedad de aleatoriedad y uniformidad.
Cuando c=0, el generador es llamado congruencial multiplicativo y si c≠0 es llamado el congruencial mixto. Para empezar el algoritmo requiere de un valor inicial Xo, llamado la semilla La secuencia generada es denotada por LCG(a,c,M,Xo), donde LCG significa Linear, Congruential Generator.
La apariencia de aleatoriedad es obtenida cuando se hace la aritmética
...