LOS NÚMEROS PSEUDOALEATORIOS Pte. 2
- pacochato873
- 9 mar 2017
- 3 Min. de lectura
2.2.3 ALGORITMO DE MULTIPLICADOR CONSTANTE
Este algoritmo no congruencial es similar al algoritmo anterior de productos medios. Los siguientes son los pasos que son necesarios para generar número pseudo aleatorios con el algoritmo del multiplicador constante.
Seleccionar una semilla (Xo) con D dígitos (D>3).
Seleccionar una constante (a) con D dígitos (D>3).
Sea y0=a*X0; sea X1= los D dígitos del centro y sea ri= 0. D dígitos del centro.
Sea Yi=a*Xi: sea Xi+1= los D dígitos del centro, y sea r i+1 = 0. D dígitos del centro para toda i=1, 2,3,…, n.
Repetir el paso 4 hasta obtener los n números ri deseados.
NOTA: si no es posible obtener los D dígitos del centro del número Yi, agregue ceros a la izquierda del número Yi.
2.2.4 ALGORITMO LINEAL
El algoritmo congruencial lineal genera una secuencia de números enteros por medio de la siguiente ecuación recursiva:
X1+1 = (aX0 + b) mod(m)
Donde X0 es la semilla, a es la constante multiplicativa, b es una constante aditiva y m es el módulo; X0 > 0, a > 0, b > 0 y m > 0 deben ser números enteros. La operación "mod m" significa multiplicar Xi por a, sumar b y dividir el resultado entre m para obtener el residuo Xi+1. Es importante señalar que la ecuación recursiva del algoritmo congruancial lineal genera una secuencia de números S = {0,1,2,3,...,m-1}, y que para obtener números pseudo aleatorios en el intervalo (0,1) se requiere la siguiente ecuación:
ri = Xi/(m-1)
2.2.5 ALGORITMO CONGRUENCIAL MULTIPLICATIVO
El algoritmo congruencial multiplicativo surge del algoritmo congruencial lineal cuando C=0, entonces la ecuación recursiva es:
Xi+1 = (aXi)mod(m) i= 0, 1, 2, 3,……., n
En comparación con el algoritmo congruencial lineal, la ventaja del algoritmo multiplicativo es que implica una operación menos a realizar. Los parámetros de arranque de este algoritmo son X0 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) se usa la ecuación ri= x/(m-1).
Las condiciones que deben cumplir los parámetros para que el algoritmo congruencial multiplicativo alcance su máximo periodo son:
m=2a
a= 3+8k o a= 5+8k
k= 0, 1, 2,3,….
X0= debe ser un numero entero impar
g debe ser entero
2.2.6 Algoritmo congruencial aditivo
Este algoritmo requiere una secuencia previa de n números X1, X2, X3, X4, ….., Xn para generar una nueva secuencia de numero enteros que empiezan en Xn+1, Xn+2, Xn+3, Xn+4,…..
Su ecuación recursiva es:
Xi= (Xi-1+ Xi-n) mod(m) i= n+1, n+2, n+3,…., N
Los número ri pueden ser generados mediante la ecuación:
ri = Xi/(m-1)
2.2.7.1 algoritmo congruencial cuadrático
Este algoritmo tiene la siguiente ecuación recursiva:
XI+1= (aX2i+ bXi + c )mod (m) i= 0, 1, 2, 3, ….
En este caso los números ri pueden ser generados por la ecuación ri= xi/(m-1), las condiciones que deben cumplir los parámetros m, a, b y c para alcanzar un periodo máximo de N=m son :
M= 2a
a debe ser un número par
c debe ser un número impar
g debe ser entero
(b-1) mod 4 = 1
De esta manera se logra un periodo máximo N = m
2.2.7.2 algoritmo de Blum, Blum, Blum
Si en el algoritmo congruencial cuadrático a = 1, b=0 y c= 0, entonces se construye una nueva ecuación recursiva:
Xi+1= (xi2)mod(m) i= 0, 1, 2, 3, ….., n
La ecuación anterior fue propuesta por Blum, Blum y Shub como un nuevo método para generar número que no tienen un comportamiento predecible.
Comments