Está en la página 1de 18

UNIDAD II: Nmeros

aleatorios
2.2.3 ALGORITMO DE MULTIPLICADOR
CONSTANTE

Es similar al algoritmo de
productos medios

Seleccionamos

(Xo) con D
dgitos (D>3)

Ejemplo: Xo=9803

Con

nombre (a) con D dgitos


(D>3)
Ejemplo: a=6965

Sea

Yo=a*Xo; sea X1=D dgitos del


centro y sea ri=0.D dgitos del centro
Yo= (6965)(9803)=68277895

donde= x1=2778
r1=0.2778

Sea

Yi=a*Xi; sea Xi+1=D dgitos del


centro y sea ri+1=0.D dgitos del
centro para toda i=1,2,3,,n
Y1=(6965)(2778)=19348770
Donde: x2=3487
r2=0.3487

Hasta

obtener los n nmeros ri


deseados.
En el ejemplo se tenan que generar 5
Nmeros ri
Y2= (6965)(3487)= 24286955 x3=2869
r3=0.2869
Y3= (6965)(2869)= 19982585 x4=9825 r4=0.
9825
Y4=(6965)(9825)= 68431125 x5=4311
r5=0.4311

Yi
68 2778 95
19 3487 70
24 2869 55
19 9825 85
68 4311 25

Xi+1
2778
3487
2869
9825
4311

ri+1
0.2778
0.3487
0.2869
0.9825
0.4311

Nota: Si no es posible obtener los D dgitos del centro del


numero Yi, agregar ceros a la izquierda del numero Yi

UNIDAD II: Nmeros


aleatorios
2.2.4 ALGORITMO LINEAL

Conocido tambien como


congruencial fue
propuesto por D. H.
Lehmer en 1951.
Ha sido el mas usado.

Genera una secuencia de numeros enteros por


medio de la siguiente ecuacion recursiva:
Xi+1=(aXi+C)mod(m) i=0,1,2,3,,n
Donde: Xo= Semilla
a= Cte. Multiplicativa
c= Cte. Aditiva
m= modulo
Xo>0, a>0, c>0, m>0

La operacin mod m significa multiplicar Xi*a,


sumar c y dividir el resultado entre m para obtener
el residuo Xi+1.
El algoritmo genera nmeros enteros S={0,1,2,,m1}, y para obtener nmeros pseudo aleatorios en
(0,1) se requiere la siguiente ecuacin:

Generar 4 nmeros entre 0 y 1 con los siguinetes


parametros: Xo=37, a=19, c=33 y m=100

X1= (19*37+33)mod100 = 36

r1 =36/99= 0.3636

X2= (19*36+33)mod100 = 17

r2= 17/99=0.1717

X3=(19*17+33)mod100=56

r3= 56/99= 0.5656

X4=(19*56+33)mod100=97

r4= 97/99=0.9797

a=1+4k k debe ser entero


c= Relativamente primo a m
g= entero
Se obtiene el periodo de vida mximo

Generar

suficientes nmeros
entre 0 y 1 con los parmetros
Xo=6, k=3, g=3 y c=7.
a=1+(4)3=13 y
Xo=6

X1=(13*6+7)mod8=5
X2=(13*5+7)mod8=0
X3=(13*0+7)mod8=7
X4=(13*7+7)mod8=2
X5=(13*2+7)mod8=1
X6=(13*1+7)mod8=4
X7=(13*4+7)mod8=3
X8=(13*3+7)mod8=6

r1= 5/7=0.714
r2=0/7=0
r3=7/7=1
r4=2/7=0.285
r5=1/7=0.142
r6=4/7=0.517
r7=3/7=0.428
r8=6/7=0.857

También podría gustarte