El documento describe varios algoritmos para generar números pseudoaleatorios para simulaciones. Brevemente, el algoritmo de cuadrados medios genera números elevando la semilla al cuadrado y tomando dígitos centrales, el lineal usa una ecuación recursiva con multiplicación y módulo, y el multiplicativo es una versión simplificada del lineal sin la constante aditiva.
0 calificaciones0% encontró este documento útil (0 votos)
145 vistas3 páginas
El documento describe varios algoritmos para generar números pseudoaleatorios para simulaciones. Brevemente, el algoritmo de cuadrados medios genera números elevando la semilla al cuadrado y tomando dígitos centrales, el lineal usa una ecuación recursiva con multiplicación y módulo, y el multiplicativo es una versión simplificada del lineal sin la constante aditiva.
El documento describe varios algoritmos para generar números pseudoaleatorios para simulaciones. Brevemente, el algoritmo de cuadrados medios genera números elevando la semilla al cuadrado y tomando dígitos centrales, el lineal usa una ecuación recursiva con multiplicación y módulo, y el multiplicativo es una versión simplificada del lineal sin la constante aditiva.
El documento describe varios algoritmos para generar números pseudoaleatorios para simulaciones. Brevemente, el algoritmo de cuadrados medios genera números elevando la semilla al cuadrado y tomando dígitos centrales, el lineal usa una ecuación recursiva con multiplicación y módulo, y el multiplicativo es una versión simplificada del lineal sin la constante aditiva.
Descargue como DOCX, PDF, TXT o lea en línea desde Scribd
Descargar como docx, pdf o txt
Está en la página 1de 3
GENERACION DE NÚMEROS PSEUDO
ALEATORIOS
Para realizar una simulación se requiere números aleatorios
(variable Aleatoria) en el intervalo (0,1), a los cuales se hará referencia como ri, es decir, una secuencia de ri={r1,r2=,r3=,r4=,...,rn} que contiene n números, todos ellos diferentes; n recibe el nombre de período o ciclo de vida del generador que creó la secuencia ri. Los ri constituyen la parte medular de la simulación de procesos estocásticos y generalmente se usan para generar el comportamiento de variables aleatorias, tanto continúas como discretas. De Debido a que no es posible generar números realmente aleatorios es necesario consideraremos los ri como números pseudo aleatorios, generados por medios de algoritmos determinísticos que requieren parámetros de arranque. Para simular el comportamiento de una o más variables aleatorias es necesario contar con un conjunto suficientemente grande de ri que permita que la secuencia tenga al menos un periodo de vida de n números.
ALGORITMO DE CUADRADOS MEDIOS
Es un algoritmo no congruencial que fue propuesto en los años cuarenta del siglo XX por Von Neumann y Metrópolis. Este algoritmo necesita un número entero detonador también llamado “Semilla” con D dígitos, el cual es elevado al cuadrado para seleccionar del resultado los D dígitos del centro; el primer número ri, es determinado anteponiendo el “0” a estos dígitos. El segundo r i se obtiene con el mismo procedimiento, solo que en este se elevan al cuadrado los D dígitos del centro que se seleccionaron para obtener el primer ri. Este método se repite hasta obtener n número ri.
Pasos para generar números con el algoritmo de cuadrados medios:
1.- Seleccionar una semilla (X0) con D dígitos (D>3).
2.- Sea X0 = resultado de elevar X0 al cuadrado; sea X1 = los D dígitos del centro, y sea ri =0, D dígitos del centro. 3.- Sea Yi = resultado de elevar Xi al cuadrado; sea Xi+1 = los D dígitos del centro, y sea ri =0, d dígitos del centro para toda i=1, 2, 3,…, n. 4.- Repetir el paso 3 hasta obtener los n números ri deseados. Si no es posible obtener los D dígitos del centro del número Yi, agregar ceros a la izquierda del número Yi. ALGORITMO LINEAL Algoritmo Lineal
Este algoritmo congruencial fue propuesto por D. H. Lehmer en 1955. Según
Law y Kelton, este algoritmo ha sido el más utilizado. El algoritmo congruencial lineal genera una secuencia de números enteros por medio de la siguiente ecuación recursiva:
Xi+1 = a Xi + c mod (m) Con i = 1, 2, 3,...,n
Donde X0 es la semilla, a es la constante multiplicativa, c es una constante
aditiva y m es el módulo: X0 > 0 , a > 0 , c > 0 y m > 0 deben ser números enteros. La operación “mod m ” significa multiplicar Xi por a , sumar c y dividir el resultado entre m para obtener el residuo Xi+1 . Es importante señalar que la ecuación recursiva del algoritmo congruencial lineal genera una secuencia de números enteros y que para obtener números pseudoaleatorios en el intervalo (0, 1) se requiere de la siguiente ecuación:
Ri=xi/m-1
Con i = 1,2,3,...,n
Para que el algoritmo sea capaz de lograr el máximo período de vida n , es
preciso que los parámetros X0 , a , y m cumplan con ciertas condiciones. Banks, Carson, Nelson y Nicol sugieren lo siguiente: m debe ser múltiplo de g 2 , donde g debe ser entero, a = 1+ 4k , donde k debe ser entero y c debe ser relativamente primo a m . Bajo estas condiciones se obtiene un período de vida máximo: g N = m = 2 . ALGORTIMO DE PRODUCTOS MEDIOS
La mecánica de generación de números pseudoaleatorios de este algoritmo no
congruencial es similar a la del algoritmo de cuadrados medios. La diferencia entre ambos radica en que el algoritmo de productos medios requiere dos semillas, ambas con D dígitos; además, en lugar de elevarlas al cuadrado, las semillas se multiplican y del producto se seleccionan los D dígitos del centro, los cuales formarán el primer número pseudoaleatorio r, = 0. D dígitos. Después se elimina una semilla, y la otra se multiplica por el primer número de D dígitos, para luego seleccionar del producto los D dígitos que conformarán un segundo número rr Entonces se elimina la segunda semilla y se multiplican el primer número de D dígitos por el segundo número de D dígitos; del producto se obtiene el tercer número r,. Siempre se irá eliminando el número más antiguo, y el procedimiento se repetirá hasta generar los n números pseudoaleatorios. A continuación se presentan con más detalle los pasos del método para generar números con el algoritmo de producto medios. 1. Seleccionar una semilla (X0) con D dígitos (D > 3) 2. Seleccionar una semilla (X,) con D dígitos (D > 3) 3. Sea Y0= X ^ X ,; sea X2= los D dígitos del centro, y sea r¡ = 0.D dígitos del centro. 4. Sea Y = X *X m; sea XV2= los D dígitos del centro, y sea r/+1 = 0.D dígitos del centro para toda / = 1, 2, 3 ,... n. 5. Repetir el paso 4 hasta obtener los n números r, deseados. Nota : Si no es posible obtener los D dígitos del centro del número Yf agregue ceros a la izquierda del número Yr
LGORITMO CONGRUENCIAL MULTIPLICATIVO
Surge del algoritmo congruencial lineal cuando C=0; entonces la ecuación es:
Xi+1 =(aXi)mod(m) i=0,1,2,3,...,n.
La ventaja de este método es que en comparación con el algoritmo lineal es
que este implica una operación menos. Los parámetros de arranque de este algoritmo son Xo, a y m, todos los cuales deben ser números enteros y mayores que cero. Para transformar los números Xi en el intervalo (0,1) sea la ecuación:ri = xi/(m-1). De acuerdo con Banks, Carson, Nelson y Nicol, las condiciones que deben cumplir los parámetros para que el algoritmo congruencial multiplicativo alcance su máximo periodo son: a= 3 + 8k o a = 5 + 8k k= 0,1,2,3,… Debe ser un número impar g debe ser entero
A partir de estas condiciones se logra un período de vida máximo.