Page 87 - cepe2012.pdf
P. 87

i                                                                                          i

                                  “cepeMathBookFC” — 2012/12/11 — 19:57 — page 77 — #81
           i                                                                                                      i





                                                           10. SIMULACI ´ ON                     77

                              esta secci´ on es exponer los fundamentos matem´ aticos que subyacen en algunas de las
                              implementaciones de los mecanismos para generar n´ umeros aleatorios. En varios de
                              estos procedimientos se tiene como punto de partida el saber generar n´ umeros dentro
                              del intervalo unitario Œ0; 1 con distribuci´ on uniforme. Hay dos aspectos importantes
                              por resaltar. Primero, la mayor´ ıa de los m´ etodos utilizados para generar n´ umeros
                              aleatorios no son completamente aleatorios, de modo que los resultados que se obtienen
                              se denominan seudoaleatorios; en el siguiente p´ arrafo daremos un ejemplo de ello.
                              Segundo, debido a que las computadoras tienen una precisi´ on limitada para representar
                              a los n´ umeros reales, no todos los n´ umeros del intervalo Œ0; 1, por ejemplo, son
                              susceptibles de ser generados como n´ umeros aleatorios, s´ olo un n´ umero finito de ellos
                              pueden ser escogidos. Si para alg´ un entero m la fracci´ on 1=m es el n´ umero positivo m´ as
                              peque˜ no que una computadora puede representar, entonces los ´ unicos n´ umeros en el
                              intervalo Œ0; 1 que pueden representarse son 0; 1=m; 2=m; 3=m; : : : ; m=m. Teniendo
                              estas consieraciones en mente, revisaremos a continuaci´ on un mecanismo particular
                              que puede usarse para generar n´ umeros seudoaleatorios enteros.

                              Simulaci´ on de v.a.s discretas
                              El siguiente procedimiento puede ser usado para generar valores seudoaleatorios dentro
                              del conjunto f0; 1; 2; : : : ; mg, en donde m un entero positivo fijado de antemano. Sean
                              a y b dos enteros fijos, y sea X 0 cualquier valor dentro del conjunto indicado. Para
                              cada n  0 se calcula de manera iterada

                              (7)               X nC1 WD aX n C b  m´ odulo .m C 1/:
                              Por ejemplo, si se toma m D 100, a D 5, b D 13 y X 0 D 23 se obtiene la sucesi´ on de
                              n´ umeros enteros:
                                   23; 27; 47; 46; 41; 16; 93; 74; 80; 9; 58; 0; 13; 78; 100; 8; 53; 76; 90; 59; : : :
                              El c´ odigo Python para obtener esta sucesi´ on usando la ecuaci´ on (7) es el siguiente:
                                     >>> m=100
                                     >>> a,b=5,13
                                     >>> n=20 # Numero de iteraciones
                                     >>> x=23 # Valor inicial
                                     >>> for j in range (1,n+1):
                                     >>>       print x,
                                     >>>       x=(a*x+b)%(m+1) # El operador % calcula modulo
                                 Es importante observar que la sucesi´ on num´ erica que se obtiene a partir de (7) es
                              peri´ odica, pues siendo el algoritmo completamente determinista, en cuanto un valor
                              generado aparece por segunda vez, la cadena de enteros previamente obtenida se repite
                              una infinidad de veces. Es conveniente, por tanto, escoger un valor grande para m a fin
                              de que este fen´ omeno de repetici´ on no aparezca demasiado pronto. Por ejemplo, si se
                              toma m D 10, a D 9, b D 9 y X 0 D 1 se obtiene la sucesi´ on:
                                                    1; 7; 6; 8; 4; 1; 7; 6; 8; 4; 1; : : :




           i                                                                                                      i


                 i                                                                                          i
   82   83   84   85   86   87   88   89   90   91   92