Documente Academic
Documente Profesional
Documente Cultură
de Barcelona en el transcurso del ao 2003-2004. 1 Nmeros uniformemente distribuidos Un problema bsico que nos encontramos habitualmente es el de obtener secuencias de nmeros uniformemente distribuidos en un intervalo La diferentes posibilidades para resolver dicho problema son: i) Buscar en tablas de nmeros aleatorios publicadas (libros, internet ...); ii) Observar un proceso fsico tal como la desintegracin radiactiva, el ruido elctrico ...; iii) Los lenguajes de programacin y las hojas electrnicas incluyen una funcin para generarlos iv) Mediante algorismos de generac in de nmeros aleatorios Las principales ventajas de los generadores de nmeros aleatorios son: - Rapidez - Comodidad - Reproducibilidad - Portabilidad Y la desventaja fundamental: - Las secuencias obtenidas no son realmente aleatorias, ya que s e obtienen con operaciones deterministas. Solo podemos obtener secuencias pseudoaleatorias, que a su vez satisfacen algunos criterios de aleatoriedad adecuados. Los nmeros generados deben cumplir ciertas caractersticas para que sean vlidos. Dichas caractersticas son: 1. Uniformemente distribuidos. 2. Estadsticamente independientes. 3. Su media debe ser estadsticamente igual a 1/2. 4. Su varianza debe ser estadsticamente igual a 1/12. .
5. Su periodo o ciclo de vida debe ser largo. 6. Deben ser generados a travs de un mtodo rpido. 7. Generados a travs de un mtodo que no requiera mucha capacidad de almacenamiento de la computadora.
Normalmente se utilizan nmeros enteros, ya que su aritmtica es exacta y rpida. Se generan enteros en el intervarlo . entre 0 y ,y da valores reales
. valores para
Se necesitar dar un valor inicial para comenzar el algoritmo ( recurrencias de orden ). 1.1 Generadores de congruencia lineal (GCL)
Estos generadores son los ms utilizados y los ms conocidos. Se basan en la relacin de recurrencia
donde - Hay
el mdulo. , entre 0 i .
- La secuencia es periodica: cuando vuelve a aparecer un nmero por segunda vez, la secuencia se vuelve a repetir. El periodo depende de los valores de , y , as como del valor inicial; ntese que el mximo posible es . Recordemos que lo que nos interesa para trabajar con un buen generador de nmeros aleatorios es que la distribucin de los nmeros obtenidos tiene que ser uniforme, no deben de haber correl aciones entre los terminos de la
secuencia, el periodo debe ser lo ms largo posible, y el algorismo debe ser de ejecucin rpida. 1.1.1 Mejora de los generadores de congruencia lineal Las limitaciones ms importantes de los generadores son su periocidad (normalmente el periodo no suele ser ms grande de y la posible presencia de correlaciones entre trminos consecutivos de la secuencia. Una manera sencilla de suprimir stas limitaciones es desordenar un poco la secuencia mediante el siguiente procedimi ento: Se parte de un generador que da enteros aleatorios entre 0 y , y en primer lugar se genera con el GCL un vector que contiene una lista de enteros aleatorios , as como un entero aleatorio . . Se determina el ndice
, entre 0 y El elemento
a la variable el valor . El valor de se renueva con el GCL, y se vuelve a repetir los pasos desde la determinacin del ndice . 1.2 Generadores de desplazamiento de bits En estos generadores cada nuevo nmero entero aleatorio manipulando los bits del nmero anterior, , se obtiene
Las grandes ventajas de estos generadores es qu e son generadores muy rpidos que tienen un periodo muy largo. La fomentacin teorica en la que se basan es diferente a la de los GCL. Los generadores de Fibonacci se basan en una recurrencia del tipo
donde
. Este tipo de generador precisa iniciar (con otro generador) y mantener una lista de los ltimos nmeros generados. Otros tipos de generadores los podemos encontrar en:
- W.H. Press, S.A. Teukolski, W.T. Vetterling i B.P. Flannery, Numerical Recipes in C, Cambridge University Press. -D.E. Knuth, The Art of computing programming, 2: Seminumerical Algorithms, Addison-Wesley.
Antes de aceptar un nuevo generador hace falta verificar que satisface una srie de pruebas, lo que llamaremos pruebas de aleatoriedad. 1.4 Pruebas de aleatoriedad stas consisten basicamente en realizar dos tipos de pruebas, empricas y teoricas. Si los generadores superan estas pruebas, podremos asegurar que estamos ante un generador de nmeros aleatorios bastante competente. Pruebas empricas (sobre la muestra de la secuencia) - Test de uniformidad: hace falta que los valores esten uniformemente distribuidos en . Se puede realizar un test . Alternativamente, podemos y comprobar que se .
estimar los momentos de orden aproximan a sus correspondientes valores teo ricos,
, y se comprueba si se .
- Test de correlaciones: se determina la correlacin entre nmeros separados lugares en la secuencia, acercarse a 1/4. . Su valor tendra que
Pruebas teoricas (sobre toda la secuencia): La sencillez de los generadores de congruencia lineal permiten demostrar propiedades importantes: - Para determinar valores de i se obtienen secuencias de periodo mximo . Por ejemplo, si es una potencia de 2, bastar con que sea impar y sea igual a un mltiple de 4 mas 1.
valores consecutivos,
estos forman hiperplanos paralelos en el espacio k -dimensional. La separacin entre los planos tiene que ser la mnima posible. 2 Distribuciones no uniformes El problema a tratar ser el de obtener una secuencia con densidad de probabilidad dada , definida en el intervalo . a partir de una
Para resolver este problema utilizaremos el mtodo del cambio de variable . Que concretamente consistir en buscar una transformacin obtener la distribucin deseada. Si la densidad de probabilidad de tenemos: para es ,
Si
Si sabemos calcular la integral, obtenemos una relacin del tipo se tiene que invertir para poder obtener 2.1 Ejemplos: Distribucin exponencial. Para obtener con distribucin
, que
(1)
La integral no se puede resolver analticamente, y menos aun invertir la relacin para obtener . La alternativa es aplicar el algoritmo de Box, con distribucin
si son las coordenadas de un punto del plano, la densidad de probabilidad de sus coordenadas polares es
Por lo tanto,
. Se
(2)
Mtodo de aceptacin-rechazo: Es un mtodo sencillo y general, aunque en ocasiones no muy eficiente. Sea definida en un intervalo finito, ,y y una cota superior de Entonces: (3) .
De esta manera el valor aparece con una densidad de probabilidad , aunque no se aprovechan todos los valores que obtenemos en la realizacin del mtodo. De todos modos, este es el nico mtodo disponible cuando la distribucin de probabilidades es complicada. De hecho es la base del algoritmo de Metropolis, posiblemente el ms utilizado en fsica computacional.
A IA _ l / i t i l i / /PA E5. f
. l .