Está en la página 1de 4

SIMULACIN

Valores para algoritmos que generan nmeros pseudo aleatorios


Todo proceso de generacin de nmeros pseudo aleatorios consta de tres fases:
1. Los valores inciales. La seleccin de los valores para a, c, m o la semilla X0, etc. El valor que
dispara la generacin de nmeros. Estos influyen las propiedades estadsticas de los
nmeros generados y la longitud del ciclo (N).
2. El algoritmo. La generacin de nmeros pseudo aleatorios es usada para simular el muestreo
de una distribucin uniforme continua.
3. La validacin. Es necesario realizar pruebas estadsticas de las caractersticas al conjunto
generado para validar un comportamiento de nmeros aleatorios.
Haremos una revisin de los valores inciales.
Valores inciales
La seleccin de los valores inciales de un algoritmo generador de nmeros aleatorios impacta
directamente sobre su ciclo de vida. Para ejemplificar, a continuacin se dan los resultados de cuatro
corridas del algoritmo congruencial multiplicativo, todos con la siguiente seleccin de valores, pero
con diferente semilla X0, recordando que para este algoritmo a = 5+8k y m = 2g.
k=
g=
a=
m=

1
6
13
64

X0 = 1

X0 = 2

X0 = 3

X0 = 4

i+1

Xi+1

Xi+1

Xi+1

Xi+1

13

26

39

52

41

18

59

36

21

42

63

20

17

34

51

29

58

23

57

50

43

37

10

47

33

35

45

10

27

11

53

31

12

49

19

13

61

55

14

25

11

15

15

16

SIMULACIN
El valor N es la cantidad de nmeros i generados. En el ejemplo, el ciclo de vida termina cuando el
valor de salida es igual al valor de la semilla (o igual a X1, el primer Xi generado) si continuamos el ciclo
se repetira, por lo tanto, termina el ciclo de vida N. Los generadores de nmeros aleatorios
normalmente son cclicos. Por lo tanto se debe tener cuidado, de llegar al lmite del ciclo y no perder
tiempo por haberlo rebasado.

Las condiciones de valores inciales del ejemplo congruencial multiplicativo son:


g debe ser entero
k debe ser entero
a= 5 + 8k
m=2g
X0 impar

g=6
k=1
a = 5 + 8(1) =13
m = 26 = 64
Cumple en 1 y 3. No cumple en 2 ni 4.

Algunos autores recomiendan que m> X0, m> a y m> c. En el ejemplo, se observa que con las semillas
X0 con valor 1 y 3 se alcanza un ciclo de vida N= m/4 =16. Note que solo aparecen nmeros entre 0 y
64 (0 < i < m). Para los nmeros X0 pares 2 y 4, el ciclo de vida ms corto es debido que no cumple
con la semilla impar.
Ms Consideraciones del Ciclo de Vida.
Adems del inevitable fin del ciclo debido a la reaparicin de X0 o X1, existe la degeneracin, una
tendencia hacia cero donde el generador permanecer por siempre, o los nmeros generados
pueden repetirse cclicamente en una secuencia de nmeros, secuencia a veces tan corta como dos o
tres valores, utilizar estos nmeros puede ocasionar graves fallas en la simulacin. Este tipo de
defectos aparecen segn la combinacin de valores inciales, normalmente cuando no se cumplen
las restricciones inciales de un generador, pero hay casos que aunque aparentemente no se
degenera la secuencia, estos no pasan las pruebas estadsticas. Por lo que cualquier conjunto de
dgitos se considerara til para simulacin solo si cumple con las pruebas estadsticas de aleatoriedad
(Uniformidad e independencia).
A pesar que no es una ley que siempre se logre el ciclo de vida mximo, usualmente se puede
predecir el ciclo de vida N a partir de un conjunto de valores inciales que cumplen las restricciones de
cada generador. Esto quiere decir que:

Si se usa el mismo generador con la misma semilla, se obtendr el mismo flujo de nmeros
pseudo aleatorios.
Al mantener el valor de m, pero modificar valores inciales como k, X0 o el clculo a = 3+ 8k,
solo cambia el orden del flujo que aparecen los dgitos, no aumenta ni disminuye el ciclo de
vida.
En caso de realizar modificaciones y si el ciclo N se reduce, entonces la modificacin
posiblemente viol alguna de las condiciones.
2

SIMULACIN
La combinacin de nmeros inciales del ejemplo visto no resulta complicada,
y lgicamente si se desea obtener un conjunto de dgitos mas grande,
aumentaremos el valor de m seleccionando un valor g mayor, por ejemplo
para el mismo valor k, pero g = 8 resulta en m = 256, por lo tanto N = m/4 =
2g-2 = 64, el ciclo se detendra en i = 64 y solo aparecera la combinacin de
nmeros entre el 1 y el 256 (0 < i < m) antes de la re-aparicin de X0 o X1.
En un problema dado que se tenga el valor de m y sea necesario calcular el valor de g para hacer un
anlisis, partiendo de la formula m = 2g, se utiliza el Log10, quedando en forma de ecuacin como
sigue =

log 10
.
log 10 2

El Log10 lo da por default cualquier calculadora cientfica. Por ejemplo el 256 del

prrafo anterior quedara =

log 10 256
log 10 2

= 8.

Para otros algoritmos como el congruencial lineal existe la condicin relativamente primos para los
valores entre c y m, esta condicin entre dos valores se explica a continuacin. Primero; como
recordatorio veremos que existen nmeros compuestos y nmeros primos, un nmero compuesto
como por ejemplo 420, puede ser el resultado de una combinacin de los siguientes factores
multiplicados:
420
420
420

42*10 (7x6) x (5x2) 7 x (2x3) x 5 x 2, o tambin


210*2 (105x2) x 2 (15x7) x 2 x 2 (5x3) x 7 x 2 x 2 o tambin
70*6, (10x7) x (2x3) (2x5) x 7 x 2 x 3

De cualquier manera, la descomposicin para 420 resultar en 7*5*3*2*2, nmeros primos (nmeros
divisibles solo entre ellos mismos y entre uno). Si se multiplican estos factores por 1, el resultado no
cambia, por tanto el 1 tambin resulta ser un factor comn divisor aunque normalmente no se
expresa. Segundo, se dice que dos nmeros son relativamente primos si su mximo comn divisor
ms grande es uno. A continuacin dos ejemplos.
Ejemplo 1: Verifique si 20 y 33 son relativamente primos.
Los factores de 20 son 1, 2, 4, 5, 10 y 20.
Los factores de 33 son 1, 3, 11, y 33.
El nico factor comn es 1. As, el factor comn ms grande es 1. Por lo tanto, 20 y 33 si son
relativamente primos.
Ejemplo 2: Verifique si 45 y 51 son relativamente primos.
Los factores de 45 son 1, 3, 5, 9, 15, y 45.
Los factores de 51 son 1, 3, 17, y 51.
El factor comn ms grande es 3. Por lo tanto, 45 y 51 no son relativamente primos.
NOTA: En los algoritmos donde m=2g, el resultado m es mltiplo de 2; entonces para c se recomienda
seleccionar un valor que sea primo (divisible solo entre el mismo y entre uno). An as, se debe tener
el cuidado de comprobar la propiedad relativamente primos.

SIMULACIN
Uso de Excel
A continuacin se da un listado de funciones tiles para programar los generadores en Microsoft
Excel.
=residuo (nmero, nm_divisor)
Calcula el valor mod (m)
=M.C.D. (nmero1, [nmero2], )
Calcula el mximo comn divisor (si el resultado del m.c.d. entre dos nmeros es 1,
entonces los 2 nmeros son relativamente primos).
=si (prueba_lgica, [valor_si_verdadero], [Valor_si_falso])
Esta es, para condicionar un resultado que se busca basndose en resultados o datos
anteriores.
=largo ()
Devuelve el nmero de caracteres de una cadena de texto.
=izquierda ()
Devuelve el nmero especificado de caracteres del principio una cadena de texto.
=derecha ()
Devuelve el nmero especificado de caracteres del final una cadena de texto.
=redondear ()
Redondea un nmero al nmero de decimales especificado.
=izquierda ()
Devuelve el nmero especificado de caracteres del principio una cadena de texto.
=buscarv ()
Busca un valor en la primera columna de la izquierda de una tabla y luego devuelve un
valor en la misma fila desde la columna especificada.
Cuando se usan formulas en Excel, este ofrece la opcin de arrastre (relleno), para el caso de
constantes a, b, c o m cuando se hace necesaria la referencia de una sola celda, con la tecla [F4] al
escribir la frmula se ancla la celda requerida. El anclaje se expresa con el smbolo $. Por ejemplo
=RESIDUO(B10,$D$3) es el clculo del mdulo D3 de la celda B10, en caso de arrastrar la frmula
hacia otros valores de B (B11, B 12, etc.) la celda D3 se mantiene constante.
Fuentes:
Banks, J., Carson, J. y Nelson, B. (1996). Discrete event system simulation, 2nd Ed. E.U.A.: Prentice
Hall.
Garca, D. E., Garca, R. H. y Crdenas, B. L. (2006). Simulacin y anlisis de sistemas con ProModel.
Edo. De Mxico, Mxico: Pearson.
Mancilla, H. A. (2000). Nmeros aleatorios. Historia, teora y aplicaciones. Ingeniera y desarrollo,
Universidad del Norte, No.8, 49-69.
Nmeros y polinomios relativamente primos. (s.f.) Recuperado el 04 de Octubre del 2012, de
http://hotmath.com/hotmath_help/spanish/topics/relatively-prime.html

También podría gustarte