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