Вы находитесь на странице: 1из 9

Generadores congruenciales

lineales.

Los dos mtodos congruenciales ms populares son:


Congruencial mixto y Congruencial multiplicativo.
2.1.1
Congruencial multiplicativo.
Surge del algoritmo Congruencial lineal cuando C=0; entonces la ecuacin es:

X I+1= ( aX ) MOD ( m ) i=0,1,2,3, . , n


La ventaja de este mtodo es que en comparacin con el algoritmo lineal es
que este implica una operacin menos.
Los parmetros de arranque de este algoritmo son Xo, a y m, todos los
cuales deben ser nmeros enteros y mayores que cero. Para transformar
los nmeros Xi en el intervalo (0,1) sea la ecuacin:
ri = xi/(m-1).

De acuerdo con Banks, Carson, Nelson y Nicol, las condiciones que deben
cumplir los parmetros para que el algoritmo congruencial multiplicativo
alcance su mximo periodo son:
2

m=2

A=3+8k 0 a= 5+8k
K=0,1,2,3,4
X0 debe ser un numero impar g debe ser entero
A partir de estas condiciones se logra un perodo de vida mximo.
N= K/4

2g2

Ejemplo: Generar suficientes nmeros entre 0 y 1 con los parmetros: Xo


= 17, k = 2 y g = 5, hasta encontrar el periodo o ciclo de vida.
Solucin:

a= 5 + 8(2) = 21

m = 32

Xo = 17

X1 = (21*17) mod 32 = 5

r1 = 5/31 = 0.1612

X2 = (21*5) mod 32 = 9

r1 = 9/31 = 0.2903

X3 = (21*9) mod 32 = 29

r1 = 29/31 = 0.9354

X4 = (21*29) mod 32 = 1

r1 = 1/31 = 0.3225

X5 = (21*1) mod 32 = 21

r1 = 21/31 = 0.6774

X6 = (21*21) mod 32 = 25

r1 = 25/31 = 0.8064

X7 = (21*25) mod 32 = 13

r1 = 13/31 = 0.4193

X8 = (21*13) mod 32 = 17

r1 = 17/31 = 0.5483

ALGORITMO CONGRUENCIAL MIXTO


Los generadores congruenciales lineales generan una secuencia de nmero
pseudoaleatorios en la cual el prximo nmero pseudoaleatorio es determinado
a partir del ltimo nmero generado. Es decir ,el nmero pseudoaletorio Xn+1
es derivado a partir del nmero pseudolaeatorio X,,,
Para el caso particular del generador Congruencial mixto, la relacin de
congruencia es la siguiente:
Xn+1 = |aX, + c| mod m
Donde Xo = la semilla (Xc>0)
a= el multiplicador (a>0)
c= constante aditiva (c>0)
m= el modulo (m>Xax) m>ay m>o)
Esta relacin de recurrencia nos dice que X es el residuo de dividir aXn + c
entre el modulo. Lo anterior significa que los valores posibles de Xn+1 , son
0,1,2,3,4,.. es decir m representa el nmero posible de valores diferentes que
pueden ser generados .

Para ilustrar el caso que se presentan cuando el periodo es <m suponga que
tiene un generador en el cual los valores de sus parmetros son z=Xc=C=7 Y
M = 10

a) Existen dos opciones para selecciona el valor apropiado del mdulo.


1.- seleccionar m de modo que sea el numero primo ms grande posible y a
que a su vez es menor que p donde p s la base del sistema (binario, decimal y
hexadecimal) que se est utilizando y d es el nmero de bits que tiene una
palabra de computadora en este sistema.
2.- seleccionar m como p. Cuando m toma este valor se facilita el clculo si el
nmero rectangular (Un=XN|M) ya que solo se corre el punto decimal o binario.
Ejemplo.
Yn+1 =(Y N+9) MOD

10

Del ejemplo anterior es posible generalizar una relacin de recurrencia que


relacione los ltimos dgitos del nmero pseudoaleatorio generado si m= p se
ha encontrado que la relacin de recurrencia de los ltimos dgitos es la
siguiente
Yn+1 ,i =Xn+1 MOD P i<d
Donde

Yn+1 ,i= ltimos dgitos del numero pseudoaleatorio Yn+1


I= ltimos i dgitos que se estn considerando. El valor de i puede ser 1,2,3,4,
..,d=1

Por ejemplo si i= i la expresin (2.2) permite determinar l valor del ultimo digito
del nmero pseudoaleatorio Xn+1 =2 se determina el valor de los ltimos
dgitos y as sucesivamente .
Yn+1,i =Xn+1 mod Pi
Sustituyendo en la expresin anterior
Yn+1 =(aXn +C) mod Pd MOD Pi
b) seleccin de a
el valor seleccionado de a debe de ser entero impar y adems no debe ser
divisible por 3 y 5 sin embargo si queremos asegurar que tenga period
complete el valor de a debe de seleccionar de acuerdo al siguiente criterio.
(a-1) mod 4 = 0 si 4 es un factor de m
(a-1) mod b = 0 si b es un factor primo de m
B )seleccin de Xo
el valor seleccionado para este parmetro puede ser cualquier constante . sin
embargo se se desa asegurar buenos resultados y el valor de c debe ser c mod
8=5 si se trata en sistema binario y c como mod 200= 21 si se trata de
sistema decimal.

Xo =

Xn+k =

{ }
n

{( an Xo ) + c=

a 1
}}
a1

{( an Xo ) + c=

{ }

mod m

a n1
}}
a1

mod m

2.1 Determine el periodo de los siguientes generadores mixtos


Nn+1= (8Xn + 16 ) mod 100 y Xo = 15
N

Xn

0
1
2
3
4
5
6
7
8
9
10
11

15
9
22
23
0
4
12
3
10
24
2
0

(8Xn +
16)/100
1 + 9/25
22/25
1+ 23/25
2+0/25
4/25
12/25
1+3/25
10/25
24/25
2+2/25
4+0/25
Se repite

Xn+1

Un. uniformes

1
22
1
0
4
12
1
10
24
2
0

9/25
22/25
23/25
0
4/25
12/25
3/25
10/25
24/25
2/25
0

Xn+1

Un. uniformes

27
20
57
51
7
47

27/64
20/64
57/64
51/64

Nn+1= (50Xn + 17 ) mod 64 y Xo = 13


N

Xn

0
1
2
3
4
5

13
27
20
57
51
7

(50Xn +
17)/64
10+27/64
21 +20/64
15+ 57/64
44+51/64
40+7/64
5+47/64

27/64

6
7
8
9

47
63
31|
31

36+ 63/64
49 + 31/64
24 31/64
Se repite

63
31
31

63/64
31/64
31/64

Xn+1

Un. uniformes

Nn+1= (5Xn + 24 ) mod 32 y Xo = 7


N

Xn

(5Xn + 24 ) /
32
1+27/32
4+31/32
5+19/32
3+23/32
4+11/32
2+15/32
3+3/32
1+7/32
Se repiite

0
7
27
27/32
1
27
31
31/32
2
31
19
19/32
3
19
23
23/32
4
23
11
11/32
5
11
15
15/32
6
15
3
3/32
7
3
7
7/32
8
7
9
2.3DEFINA LOS PARAMETROS A C XO Y M DE UN GENERADOR CONGRUENCIAL
MIXTO QUE ASEGUREN PERIODO COMPLETO
Nn+1= (5Xn + 24) mod 32 y Xo = 4
N

Xn

0
1
2
3
4
5
6
7
8

4
3
6
5
0
7
2
1
4

(5Xn + 24 ) /
32
3+3/8
2+6/8
4+5/8
4+0/8
0+7/8
5+2/8
2+/1/8
1+4/8
SE REPITE

Xn+1

Un. uniformes

3
6
5
0
7
2
1
4
TERMINA
PERIOO
COMPLETO

3/8
6/8
5/8
0
7/8
2/8
1/8
4/8

2.4DEFINA LOS PARAMETROS A C XO Y M DE UN GENERADOR CONGRUENCIAL


MULTIPLICATIVO QUE ASEGUREN PERIODO COMPLETO
Xn+1 = 3Xn mod 100, con X0=51
XN
51
53
59
77
31

RND
0.51
0.53
0.59
0.77
0.31

INSTITUTO TECNOLOGICO DE QUERETARO

SIMULACION

Mixto y mulplicativo

TITULAR:

JASSO FRANCO HUMBERTO


ALUMNO:
NERIT FELIPE GOMEZ RANGEL
MARTINEZ MARTINEZ JOSE ALBERTO

7 de Octubre del2013

Вам также может понравиться