You are on page 1of 4

SIMULACIN

Valores para los Generadores de Nmeros Pseudo Aleatorios


Todo proceso de generacin de nmeros pseudo aleatorios consta de tres fases, enlistadas enseguida. 1. Valores inciales. La seleccin de los valores para a, c, m y la semilla X0, valor que dispara la generacin de nmeros. Estos afectan drsticamente las propiedades estadsticas de los nmeros generados y la longitud del ciclo (N). 2. Algoritmo. La generacin de nmeros pseudo aleatorios es usada para simular el muestreo de una distribucin uniforme continua. 3. Validacin. Es necesario realizar pruebas estadsticas de las caractersticas al conjunto generado para validar un comportamiento de nmeros aleatorios. Haremos una leve 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= 0 i+1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 6 13 64 X0 = 1 Xi+1 13 41 21 17 29 57 37 33 45 9 53 49 61 25 5 1 X0 = 2 Xi+1 26 18 42 34 58 50 10 2 X0 = 3 Xi+1 39 59 63 51 23 43 47 35 7 27 31 19 55 11 15 3 X0 = 4 Xi+1 52 36 20 4

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 para 1 y 3.

Algunos autores recomiendan que m> X0, m> a y m> c. A continuacin se ampla la informacin. En el ejemplo, se observa que con las semillas X0 de 1 y 3; se alcanza un ciclo de vida N=16. Estos dos casos cumplen las restricciones o condiciones inciales y se logra el ciclo mximo, 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 resultado largo del ciclo de vida N es 8 y 4 respectivamente, debido que no cumple con la semilla impar, los ciclos de vida son ms corto al mximo posible para este caso. 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 despus de una secuencia de nmeros menor al valor de m, secuencia a veces demasiado corta de dos o tres valores, esta generacin 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. A pesar que no es una ley que al cumplir condiciones inciales siempre se logre el ciclo de vida mximo, normalmente 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. Aunque se modifique el valor de k, o de X0 o el clculo a = 3+ 8k, solo cambia los valores del flujo que aparece, pero no aumenta ni disminuye el valor del ciclo de vida. En caso de modificacin algn valor y el nmero N se reduce, entonces la modificacin muy posiblemente viol alguna de las condiciones.

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 X1. Este conjunto de 64 dgitos se considerara til para simulacin solo si cumple con las pruebas estadsticas de aleatoriedad. Para el clculo de g en la ecuacin m = 2k se divide el Log10 k entre Log10 n, quedando en forma de ecuacin como sigue =
log 10 . log 10 2

El Log10 lo da por default cualquier calculadora cientfica.

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 lo siguiente; 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 se ejemplifica. 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 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 casos 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. 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) 3

SIMULACIN =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. Para referencia de una sola celda, al ingresar una frmula con la tecla [F4] se ancla una celda y esta no se pierde al arrastrar la frmula o la funcin requerida, el anclaje se expresa con el smbolo $. Por ejemplo =IZQUIERDA(F6,$C$3) indica que se extraen los C3 valores inciales de las celdas de la fila F, celda F3 en este caso. 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

You might also like