El método de Monte Carlo: generalidades. Simulación de Distribuciones de Poisson. Simulación de Distribuciones Generales

Texto completo

(1)

El método de Monte Carlo: generalidades Números aleatorios

Simulación de Distribuciones de Poisson Simulación de Distribuciones Generales

El método de Monte Carlo en Mecánica Estadísti-ca

Percolación en

Percolación en

El modelo de Ising en

(2)

Bibliografía

The Art of Computer Programming, D. E. Knuth,

Addison-Wesley, vol 2, 1997.

Numerical Recipes in C, W. H. Press, B. P.

Flan-nery, S. A. Teukolsky, W. T. Vetterling, Cambridge University Press 1990.

Introduction to Percolation theory, A. Stauffer, A.

Aharony, Taylor & Francis, 1991.

Monte Carlo Simulation in Statistical Physics, K.

Binder, D.W. Heermann, Springer, 1997.

Quantum Fields on the computer, Ed. M. Creutz,

(3)

Método de Monte Carlo:

Cualquier técnica que use números aleatorios. P:¿Por qué Monte Carlo?

R: Por su casino (Karl Pearson, 1892)

P:¿Para qué pueden servir los números aleatorios? R: Veamos unos ejemplos:

Simulación: La reproducción de fenómenos na-turales necesita números aleatorios. En Física los ejemplos clásicos: Física Estadística, Física de Partículas

Muestreo: Muchas veces es poco práctico exa-minar todos los casos posibles. Un muestreo alea-torio puede revelar un comportamiento típico.

(4)

Análisis Numérico: Técnicas numéricas necesi-tan números aleatorios

Programación de ordenadores: Tests de efec-tividad de algoritmos

Toma de decisiones: Se rumorea que algunos ejecutivos tiran monedas al aire para tomar deci-siones. Algo parecido se dice de cómo califican los exámenes algunos profesores

Estética: Un toque de aleatoriedad puede resul-tar agradable

(5)

P:¿Qué es un número aleatorio?, ¿es 2 un número aleatorio?

R: Pregunta sin sentido. En su lugar hablaremos de una secuencia de números aleatorios independientes con una distribución específica.

Independientes: cada número es obtenido por

casua-lidad y no tiene ninguna relación con otros números de la serie

Distribución específica: cada número tiene una

pro-babilidad específica de pertenecer a un rango de va-lores determinado. La más común es la distribución uniforme, todos los números son igualmente proba-bles. Veremos otras.

(6)

Generación de Números Aleatorios

Utilizar máquinas específicas (resistencia gene-radora de ruido) Ej.: ERNIE (loto inglesa) Incon-venientes: averías difícilmente detectables, impo-sibilidad de rehacer los cálculos con idénticas se-cuencias

Utilizar tablas Inconvenientes: tablas cortas para cálculos, ocupan memoria, tiempos de acceso

Utilizar operaciones aritméticas. Von Neumann (1946)

extraer los dígitos centrales Ej:

(7)

P:¿Cómo aleatorio (random) si está completamente determinado por el anterior?

R : NO es random pero lo parece. Secuencias pseu-doaleatorias que llamaremos simplemente aleatorias. La secuencia de Von Neumann es un mal generador. Ejercicio: Usar el algoritmo de Von Neumann para generar una secuencia de números de 4 dígitos. Ana-lizar el resultado usando diferentes semillas (número inicial).

Peligro: los números aleatorios aceptados ciegamen-te pueden llevarnos a comeciegamen-ter errores. Como hizo IBM en los ’60 con su generador RANDU.

(8)

Generadores uniformes de números aleatorios En la práctica se generan números enteros

com-prendidos entre 0 y (módulo. El método más ex-tendido es el de las congruencias:

Método de las congruencias

Se basa en 4 números enteros mágicos : módulo ! : multiplicador " ! # $ : incremento " $ # &% : semilla " &% #

La secuencia se obtiene como

* ! + $-,/. 021 3 4 5

(9)

Por ejemplo en MapleV ) 687:9 . 0 $ ! ; <= > ? > ? > % @ > > > A> > & >

* Siempre se produce un loop

&% ! $ ) * > + ,/. 0B1 3C * > + ,/. 021 3C&D 3E8F 3GHI Si $

la generación es más rápida y la secuencia más corta

(10)

Elección del módulo

tiene que ser grande para tener secuencias largas. Si J es el tamaño de la palabra (J

D

en un Pentium) se suele tomar

J K

. Otra alternativa es el mayor primo menor que J .

Elección del multiplicador

Th: Una secuencia definida por 3

!

3

$

y L% tiene

pe-riodo de longitud si y sólo si

i) $ es primo relativo a ii) M !

es múltiplo de N , para todo primo N

divisor de

(11)

Si $

se cumple que

Th.: El máximo periodo cuando $

se obtiene si

i) L% es primo relativo a

ii) !

es elemento primitivo módulo

Cuando !

es primo relativo a , el entero más peque-ño para el que *

!PO=,Q. 0B1

se llama orden de

!

módulo . El !

que tiene el máximo valor posible de orden módulo se llama un elemento primitivo módulo .

Otros métodos:Secuencia de Fibonacci

(' ) * + 8R<) ,/. 021 * F + ,Q. 0B1 3 5

(12)

Ejercicio: Utilizar los números aleatorios para simu-lar el decaimiento radiactivo de una muestra de nú-cleos. La probabilidad de que un núcleo decaiga en un tiempo U V es: N W U V donde W U V # # . Considerad una muestra de

% núcleos radiactivos.

¿Cómo cambia con el tiempo el número de núcleos?. Haced una gráfica de *

V , . Algoritmo: Desde V hasta V , con U V

Loop sobre los núcleos que hay en V

Decidir si decae o no: si random# #

W

U V

enton-ces el número de núcleos decae en una unidad

(13)

Datos: % 3 W YX R<) 3 U V Z % 3 W X R[) 3 U V Z

Comparar con el resultado teórico

* V , %A\^] 6* W V ,

Mostrar el resultado en gráficas con escalas lineales y logarítmicas

(14)

x 160 180 200 220 240 260 280 140 120 100 80 60 40 20 100 80 60 40 20 Page 1

(15)

x 160 180 200 220 240 260 280 140 120 100 80 60 40 20 0 .1e3 .5e2 .1e2 5. Page 1

(16)

x 160 180 200 220 240 260 280 300 140 120 100 80 60 40 20 4000 3000 2000 1000 0 Page 1

(17)

x 160 180 200 220 240 260 280 140 120 100 80 60 40 20 .1e4 .1e3 .1e2 1. Page 1

(18)

Complicando la pregunta anterior: ¿cuál es la proba-bilidad de observar 4 decaimientos en un intervalo de

tiempo _ ?. Suponiendo que el número de decays en _ es mucho menor que

. Dividimos _ en inter-valos de duración U V , _ U V Tt Probabilidad 1 decay N ` U V W U V ` a b Probabilidad 4 decays en _ c N *d N , b Re 4 En el límite f , U V c g Rhij 4lkm3 i ` _ Distribución de Poisson

(19)

Ejercicio Modicar el ejercicio anterior para simular un experimento en el que contamos el número de decays observados en un intervalo _ . Repetir el experimento

varias veces y hacer histograma de la distribución de decays. Datos % W > RT sR<) U V s _ s % W > R F sR<) U V s _ s #experimentos = 1000

(20)

TESTS

P: Dada una secuencia n , ¿cómo saber si es

sufi-cientemente aleatoria? Test Chi-cuadrado o

Método básico en estadística que se usa en relación con muchos otros temas

- Tenemos un experimento que puede producir valo-res en p clases distintas, cada una de ellas tiene una

probabilidad asociada Nrqs3

Z

Ip

- Hacemos 4 observaciones independientes y

conta-mos tq el número de observaciones en la clase

Z . - Construimos u qwv x qwv ) tq 4Nq , 4Nq Si u y y

tendremos fundadas sospechas sobre las medidas efectuadas.

(21)

P: ¿Qué valores son razonables para u ?

La respuesta en la siguiente tabla (z

p

, grados de libertad)

(22)

{| } ~ {|  ~ {| €  ~ {|  ~ {| ‚  ~ {| ƒ  ~ {| ƒ ƒ ~ „| } … }  ‚† ‚ †  ‚ ƒˆ‡Š‰ ‹ … ‹ ƒ ‹ € } Œ    ‡Š‰ € … } }  ‹ } Œ Œ ‹ … Œ  Œ ƒ ‹ Œ € ‹ } } … ‹ € ‹ ‹ ‹ ƒ ‚ ‹ … † Œ } Œ  † † € }  …  ‹ Œ † ƒ   } „ | € … € }   ‚ } ‚ } ‡Š‰ } … } €  †   † † † …  ‚  ‹ Œ } Œ Œ ƒ } … ‹ †  € ƒ Œ ‹ } € … ‚ ‚ €  † † ‚ € €  … ƒ ƒ } Œ Œ  Œ ‚ ƒ … € } ‹ Œ ‹ ‚ € „| ‹ … } } Œ † ‹ } †  } ƒ … ‹  } † Œ ‹ } ‚ ‚ } … € } €  ‹ € ƒ ‹ € … ‹  ƒ ‚ ‹ † † Œ Œ … }† ‹ Œ Œ ƒ ‹ ‚ … † } Œ ‚ € ‚ ƒ ‹ } } … ‹ Œ Œ †   ‚ „| Œ … € ƒ ‚ } ƒ Œ †   … ‚ } ‚ € ‹ € } Œ } … ƒ € €   ‚  € ‹ … ‹   ƒ ‹ ƒ †   … ‹ †  € ƒ  † ƒ … Œ † ‚ ‚ € ƒ ‹ ‚ } ‹ … € ‚ ‚ Œ } „|  …   Œ € ƒ †  ‚ ‚ } … } Œ  Œ ‚ € € € …  ‚ Œ  € †  ƒ Œ … ‹  } Œ  } ƒ }  …  €  ‚ ƒ ‚ Œ } } …  ‚ Œ ƒ ‚ ƒ }  … †  € ‚ € Œ „ |  … † ‚ € ƒ ‹ ‹ € } …  ‹  ‹ † € † ƒ Œ ‹ … Œ  Œ  ƒ † † ‹  … ‹ Œ † } €  € ‚ ‚ … † Œ†  Œ } € } } € …  ƒ }  † ‚ € Œ } … † } } † ƒ ‹ † „ | ‚ } … € ‹ ƒ Œ € ‹  € … } ‚ ‹ Œ ƒ ƒ ƒ Œ … €  Œ †  € } † Œ  … ‹ Œ  † } } } ƒ ƒ …  ‹ ‚ } Œ ‚  Œ † } Œ …   ‚ } Œ Œ  } † … Œ ‚  ‹  ƒ } „| † } …  Œ Œ ƒ ‚ ‹ ‚ ‹ € … ‚ ‹ € ‹ ‚ ƒ ‹  …  ‚  Œ Œ € Œ ‚ … ‹ Œ Œ } € } Œ ƒ † } … € } † †  Œ ƒ ‚ }  …  ‚ ‹ } ‹  € …  ƒ € ‹  „| ƒ € … † ‚ ƒ  ‚ ‹ ‹ … ‹ €  } } € † Œ ‹  … † ƒ † † €  † † ‹ † … ‹ Œ € † ‹ € ƒ € } } … ‹ † † ‚  } Œ Œ } … ƒ } † ƒ ‚ ‚  € } …    ƒ ƒ Œ ‹ | } € …   † € } € }  ‹ … ƒ Œ € ƒ ƒ } ‹  … ‚ ‹ ‚ €  ‚ ‚ € ƒ … ‹ Œ } † } ‚ ‚  } € …  Œ † †  } Œ } † … ‹ ‚ ‹ †   € ‹ … € ƒ €  } } „| } } ‹ …   ‹ Œ † Œ } ‚ Œ …  ‚ Œ † } ‹ ‚ ƒ ‚ …  † Œ } Œ € ‚ †  } … ‹ Œ ƒ ƒ †  ‚ } ‹ … ‚   ƒ € ‚  } ƒ …  ‚  } ‹ ‚  ‚ € Œ … ‚ € Œ ƒ ‚ ‹ } „| } € ‹ …  ‚ † ƒ ‚ }  … € €  € ƒ Œ † † † … Œ ‹ † Œ } † ‚  } } … ‹ Œ ‹ € € ‹ † } Œ … † Œ  Œ ‹ ‚ € } …  €   ƒ † € € … € } ƒ ‚ ‹ } „| }   … € € ƒ ‹ Œ † † † Œ ‚ … €  ƒ Œ ‹ ƒ € † } } …  ‹  ‹ ‚  } Œ … ‹ ‹ † †  ƒ  } } † … € Œ †   € Œ … ƒ ƒ  ‚ ƒ } Œ ‹ …  ‚ ‚ ƒ } Œ } | € † … €  ‹ ƒ † ‹ ‹ ‹ } … † † } } ‹ ƒ }  … Œ  } ‚ ‚ ‹  Œ } ƒ … ‹ ‹ ‚ Œ € ƒ € ‹ € ‹ … † € ‚ ƒ € Œ ‹ } … Œ } Œ ‹ € † Œ ‹ ‚ …   € ‹ Œ ‚ „| ‹ } Œ … ƒ  ‹ Œ   ‹ } † … Œ ƒ €   ƒ † € Œ … Œ ‚ ‚  ‚  € ƒ … ‹ ‹  ‹ }  € ‹ Œ … ‚ ƒ ƒ ‚ Œ €  € Œ ‹ … ‚ ‚ € ƒ ‚ } † ‹  … † ƒ € } † } ‹ } „|  € ƒ … ‚  † € ‚ ‹ Œ … ‚ Œ €  }† Œ € … ƒ Œ €† ‹ † } Œ ƒ … ‹ ‹ Œ ƒ ‹ ‚ ‹  … ‹ ‹ ‹  Œ ƒ €  ‚ …  Œ †     ‚ … }  ‹ † ƒ } € 

(23)

Si la entrada en la fila z columna N es La cantidad u sera menor o igual que con probabilidad N , para 4 suficientemente grande.

Criterio 4 grande: 4Nrq 5

Ejemplo: Tiramos 200 veces una moneda y medimos 118 caras y 82 cruces. u , z en la tabla tenemos < para N % y < para N

% . Luego la probabilidad de medir un valor de u menor o igual que el obtenido es casi del

orden del 99%. Demasiado grande. La moneda es sospechosa, no sirve como generador de secuencias binarias.

Si tiramos una moneda 20000 veces y encontramos 10001 caras y 9999 cruces entonces u

miramos en la tabla y vemos que u será menor que

el valor obtenido sólo en menos del 1% de los casos, ˛

ano podemos considerar el resultado aleatorio en ab-soluto!

(24)

El criterio que se adopta es:

Si u es menor del 1% o mayor del 99% se rechaza

el generador Si u está entre el 1% al 5% o del 95%

al 99% se sospecha del generador Si u está entre el

5% al 10% o del 90% al 95% puede sospecharse Ejercicio: Realizar el o test para el generador

L% Y[ 3 ! )Ž + 3 $ 3 D T

-Generar secuencia 20000 números -Obtener o haciendo bines de 2000

-Repetir 4 veces

-Representar la secuencia en un histograma, como puntos en 2D y en 3D.

Ejercicio: Realizar el o test para el generador de

Fibonacci. Realizar varios tests y hacer bloques de tres con los numeros de la secuencia.

(25)

Apartado teórico

Las variables t q son entradas de un histograma,

co-mo vico-mos antes la distribución de probabilidad que siguen es la de Poisson. La probabilidad de que tq

tomen los valores ‘Yq es

’ x qwv ) g R”“d• * 4Nq ,—– • ‘ q k j g Re 4 4lk

Haciendo el cambio de variable ˜™q

* tq 4Nq , j›š 4Nq resulta u œ x qwv ) ˜ q . Las ˜™q no son independien-tes š N ) ˜ ) + H + š N x ˜ x . Sea  el espacio * p , -dimensional de los * ˜ ) 3žHHI3Ÿ˜ x , . Para 4 grande los ˜™q tienen aproximadamente

distri-bución normal, luego puntos en un volumen diferen-cial ¡ 

IH ¡ 

x de

 tienen probabilidad

aproximada-mente proporcional a \¢] 6* *£  ) + HH +   x , j , La probabilidad de que œ x )   n ¤ , donde sólo p son independientes es N g R¥§¦ ¤¨E©ª « R[) B¨w©ª « ¬ * x R[) ,

(26)

La probabilidad de que u " ¤ ¥ % g R j ­ x R[)s®¯¦ R[) x ¦ ¬ *-* p , j ° *§* p , j 3 ¤ j , ¬ *-* p , j ,

Esta es la distribución o con

* p , grados de liber-tad. ¬ * , * , k función gamma ° * 3‘ , ± – % g Re² V´³ R<)

V función incompleta de

(27)

Test Espectral: el generador RANDU Fue introducido en los 60 por IBM

(' ) *Ÿ ,/. 0B1 D )

(28)

Test 1 : generamos una secuencia de 1000 números y hacemos un histograma 0 20 40 60 80 100

(29)

Test 2: representemos la secuencia en 2D 0 5e+08 1e+09 1.5e+09 2e+09

(30)

Test 3: representemos la secuencia en 3D 0 2e+08 4e+08 6e+08 8e+08 1e+09 1.2e+09 1.4e+09 1.6e+09 1.8e+09 2e+09 0 2e+08 4e+08 6e+08 8e+08 1e+09 1.2e+09 1.4e+09 1.6e+09 1.8e+09 2e+09 0 2e+08 4e+08 6e+08 8e+08 1e+09 1.2e+09 1.4e+09 1.6e+09 1.8e+09 2e+09

(31)

Eligiendo apropiadamente el ángulo, los problemas de RANDU aparecen 0 2e+08 6e+08 1e+09 1.4e+09 1.8e+09 0 2e+08 4e+08 6e+08 8e+08 1e+09 1.2e+09 1.4e+09 1.6e+09 1.8e+09 2e+09 0 2e+08 4e+08 6e+08 8e+08 1e+09 1.2e+09 1.4e+09 1.6e+09 1.8e+09 2e+09

(32)
(33)

Simulación de Distribuciones Generales

Técnicas para la generación de secuencias de núme-ros aleatorios distribuidos de manera no uniforme, por ejemplo de acuerdo con la distibución de Poisson. Técnica de Rechazo

Generar una secuencia que sigue una función de dis-tribución µ * , . Algoritmo:

1. Elegir un valor de prueba “ a partir de un número

aleatorio ¶ ) “ b n + * b · ³ b n , ¶ )

2. Decidir si se acepta o no: Si µ

* “ , y ¶ µ¹¸ se acepta µ”¸ 5 µ * , para todo , b n 5 5 b · ³ . Repetir hasta que se acepte.

(34)

Este algoritmo se puede ver como tirar dardos: f f(x) x x M min max

De esta manera se puede estimar la integral de µ

* , º ³§»2¼´½ ³ »¾À¿ µ * , Á 4 · 4 “ * b · ³ b n ,

Problemas: Funciona mal si µ

*

,

se parece a una “delta”. Casi nunca se aceptan las propuestas. Si la función tiene un polo no se puede usar. Si el rango de va desde

f

hasta f

(35)

Técnica de Inversión

1. Normalizar la función de distribución, de modo que sea una función de distribución de probabilidad (PDF).

2. Integrar analíticamente desde el mínimo n hasta

un arbitrario. Esto es la probabilidad de que ocurra

un valor menor o igual que .

3. Igualar el resultado a un número aleatorio uniforme y resolver en .

Es decir, resolver la ecuación

± ³ ³ ¾ µ * V , V ± ³Ã ³ ¾ µ * V , V ¶ Ejemplos

(36)

1) Generar entre 0 y 4 de acuerdo con µ , j * , : ± ³ % V R<)ž¦ V ± F % V R[)G¦ V ¶3 š j ¶

generar de acuerdo con

¶ . 2) Generar entre 0 e f de acuerdo con µ * , g R ³ ± ³ % g Re² V ±ÅÄ % g R² ¶3 g R ³ š ¶

generar de acuerdo con

Æ 0Ç *¹ ¶ , . Ejercicio: Generar ángulos È en el intervalo

"

È

É

de acuerdo con la función de distribución: µ

* È , *CX^9IÊ( È + !Ì˛0 X È , R<) .

Generar 10000 valores usando !

y ! . Dibujar los resultados y sobreponer la función de dis-tribución.

(37)

Técnica de Importance Sampling (Muestreo Repre-sentativo??)

Reemplazar la función de distribución µ

* , por una forma aproximada µ · * ,

a la que se pueda aplicar la técnica de inversión.

Generar de acuerdo distribuidos según µ

· *

,

me-diante la técnica de inversión y aceptarlos de acuerdo con una probabilidad proporcional a J

µ * , j µ · * , . f (x)a f (x)

(38)

La técnica de rechazo es el caso especial en el que µ · * , es constante (µ¹¸ )

Ejemplo: Generar de acuerdo con µ

* , *d + , j š en el rango # # . Intentadlo con la técnica de inversión. La idea es que J µ * , j µ · * ,

sea sencillo. Ele-gimos µ · * , j Zs͹ΠV * , con lo que J + .

Aplicamos la técnica de inversión a

j ZžÍ¹Î V * , : Generamos de prueba: ¶ ) Decidimos si se acepta: si *d + , y ¶ J b · ³ se acepta. En este caso J

b ·

³

, en otros casos puede ser más complicado encontrarlo.

Figure

Actualización...

Referencias

Actualización...

Related subjects :