Generacion de Numeros Pseudoaleatorios

Descargar como docx, pdf o txt
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.

También podría gustarte