lunes, 29 de febrero de 2016

Números pseudoaleatorios

Generación de números pseudoaleatorios




En los experimentos de simulación es necesario generar valores para las variables aleatorias representadas estas por medio de distribuciones de probabilidad. Para poder generar entradas estocásticas (probabilisticas) para un modelo de simulación, se debe contar con un generador de números pseudoaleatorios. Con estos y métodos de generación de variables aleatorias, se pueden simular las entradas incontrolables para un modelo de simulación.

Inicialmente los números aleatorios se generaban en forma manual o mecánica utilizando técnicas como ruedas giratorias, lanzamientos de dados, barajas. También existen métodos aritméticos que permiten generan un gran conjunto de números aleatorios, pero el advenimiento de la computadora ha permitido crear generadores que permitan generar de manera sucesiva todo los números aleatorios que se requieran. Un número pseudoaleatorio no es más que el valor de una variable aleatoria x que tiene una distribución de probabilidad uniforme definida en el intervalo (0, 1).   

MÉTODOS PARA GENERAR NÚMEROS PSEUDOALEATORIOS.

1. Métodos Manuales: son los métodos más simples y lentos, ejemplo de estos métodos son lanzamientos de monedas, dados, cartas y ruletas. Los números producidos por estos métodos cumplen las condiciones estadísticas mencionadas anteriormente, pero es imposible reproducir una secuencia generadas por estos métodos. 
2. Tablas de números aleatorios: estos números se pueden generar por medio de una hoja de cálculo o por cualquier generador de cualquier lenguaje de programación razón por la cual su comportamiento es totalmente determinístico.
3. Mediante el computador digital: existen tres métodos para producir números aleatorios mediante un computador: 
  • Provisión externa. 
  • Generación interna a través de un proceso físico aleatorio. 
  • Generación por medio de una regla de recurrencia. 


MÉTODOS ARITMÉTICOS PARA GENERAR NÚMEROS PSEUDOALEATORIOS. 

1. Métodos de Cuadrados Medios: el procedimiento de obtención de números pseudoaleatorios con este tipo de generador es el siguiente: 
• Se define una semilla. 
• Se eleva la semilla al cuadrado. 
• Dependiendo de la cantidad de dígitos que se desea tenga el número pseudoaleatorio, se toman de la parte central del número resultante en el paso anterior el número de dígitos requeridos. 
Si no es posible determinar la parte central, se completa el número agregando ceros al principio o al final. 
• Debe tenerse en cuenta que se desean números pseudoaleatorios entre 0 y 1, en consecuencia el resultado se debe normalizar, es decir, si los números son de dos dígitos se normaliza dividiendo por 100, si es de tres dígitos por mil y así sucesivamente.  

2. Método de Producto medio: este método es un poco similar al anterior pero se debe comenzar con dos semillas cada una con k dígitos, el número resultante se toma como las cifras centrales del producto de los dos números anteriores. 

3. Método del producto medio modificado: consiste en usar una constante multiplicativa en lugar de una variable. Es decir Xn+1 = (K*Xn). Debe notarse que los métodos anteriores tienen periodos relativamente cortos, los cuales son afectados grandemente por los valores iniciales que se escojan, además son estadísticamente insatisfactorios. También debe tenerse en cuenta que un generador con un periodo corto no sirve para hacer un número considerado de ensayos de simulación. 

MÉTODOS CONGRUENCIALES 

Se han desarrollado básicamente tres métodos de congruenciales para generar números pseudoaleatorios, los cuales se derivan del empleo de diferentes versiones de la relación fundamental de congruencia. El objetivo de cada uno de los métodos es la generación en un tiempo mínimo, de sucesiones de números aleatorios con periodos máximos. 
Los métodos congruenciales son: el aditivo, el multiplicativo y el mixto. 

1. Método Congruencial Aditivo: calcula una sucesión de números pseudoaleatorios mediante la relación Xn+1= Xn +Xn-k (mod M). Para usar este método se necesitan k valores iniciales, siendo k entero. Las propiedades estadísticas de la secuencia tienden a mejorarse a medida que k se incrementa. Este es el único método que produce periodos mayores que M. 

2. Método Congruencial Multiplicativo: calcula una sucesión Xn de enteros no negativos, cada uno de los cuales es menor que M mediante la relación Xn+1= a.Xn (mod M). Es un caso especial de la relación de congruencia en que c=0, este método se comporta de manera satisfactoria estadísticamente, es decir, los números generados por medio de este método están unifórmente distribuidos, y no están correlacionados. Este método tiene un periodo máximo menor que M, pero se pueden imponer condiciones en a y X0 de tal forma que se obtenga el periodo máximo. Desde el punto de vista computacional es el más rápido de todos. 

3. Método Congruencial Mixto o Lineal: los generadores congruenciales lineales generan una secuencia de números pseudoaleatorios en la cual el próximo número pseudoaleatorio es determinado a partir del último número generado, es decir, el número pseudoaleatorio Xn+1 es derivado a partir del número pseudoaleatorio Xn La relación de recurrencia para el generador congruencial mixto es Xn+1 =(a Xn+c) mod m, en donde:
• X0 = es la semilla 
• a =el multiplicador 
• c = constante aditiva 
• m = el modulo (m > X0, a,c) 
• X0, a, c >0 
Esta relación de recurrencia nos dice que Xn+1 es el residuo de dividir a Xn+c entre el modulo. Lo anterior significa que los valores posibles de Xn+1 son 0,1,2,3 ....m-1, es decir, m representa el número posible de valores diferentes que pueden ser generados.  

Fuente de información:
https://carlosmarquez.files.wordpress.com/2012/02/unidad-4-generacion-de-numeros-pseudoaleatorios1.pdf

No hay comentarios.:

Publicar un comentario