Está en la página 1de 38

El mtodo de Monte Carlo: generalidades

El mtodo de Monte Carlo en Mecnica Estadstica Percolacin en Percolacin en

El modelo de Ising en

El modelo de Ising en

Nmeros aleatorios Simulacin de Distribuciones de Poisson Simulacin de Distribuciones Generales

Bibliografa

The Art of Computer Programming, D. E. Knuth, Addison-Wesley, vol 2, 1997.

Numerical Recipes in C, W. H. Press, B. P. Flannery, 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, World Scientic, 1992.

Mtodo de Monte Carlo: Cualquier tcnica que use nmeros aleatorios. P:Por qu Monte Carlo? R: Por su casino (Karl Pearson, 1892) P:Para qu pueden servir los nmeros aleatorios? R: Veamos unos ejemplos:

Simulacin: La reproduccin de fenmenos naturales necesita nmeros aleatorios. En Fsica los ejemplos clsicos: Fsica Estadstica, Fsica de Partculas

Muestreo: Muchas veces es poco prctico examinar todos los casos posibles. Un muestreo aleatorio puede revelar un comportamiento tpico.

Anlisis Numrico: Tcnicas numricas necesitan nmeros aleatorios

Programacin de ordenadores: Tests de efectividad de algoritmos

Toma de decisiones: Se rumorea que algunos ejecutivos tiran monedas al aire para tomar decisiones. Algo parecido se dice de cmo calican los exmenes algunos profesores

Esttica: Un toque de aleatoriedad puede resultar agradable

Juegos: De aqu proviene el propio mtodo

P:Qu es un nmero aleatorio?, es 2 un nmero aleatorio? R: Pregunta sin sentido. En su lugar hablaremos de una secuencia de nmeros aleatorios independientes con una distribucin especca. Independientes: cada nmero es obtenido por casualidad y no tiene ninguna relacin con otros nmeros de la serie Distribucin especca: cada nmero tiene una probabilidad especca de pertenecer a un rango de valores determinado. La ms comn es la distribucin uniforme, todos los nmeros son igualmente probables. Veremos otras.

Generacin de Nmeros Aleatorios

Ej:

" " $# &  & ( '!  !    & % !

   & % (' !         

Utilizar mquinas especcas (resistencia generadora de ruido) Ej.: ERNIE (loto inglesa) Inconvenientes: averas difcilmente detectables, imposibilidad de rehacer los clculos con idnticas secuencias

Utilizar tablas Inconvenientes: tablas cortas para clculos, ocupan memoria, tiempos de acceso

Utilizar operaciones aritmticas. Von Neumann (1946) extraer los dgitos centrales

P:Cmo aleatorio (random) si est completamente determinado por el anterior? R : NO es random pero lo parece. Secuencias pseudoaleatorias 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 nmeros de 4 dgitos. Analizar el resultado usando diferentes semillas (nmero inicial). Peligro: los nmeros aleatorios aceptados ciegamente pueden llevarnos a cometer errores. Como hizo IBM en los 60 con su generador RANDU.

Generadores uniformes de nmeros aleatorios En la prctica se generan nmeros enteros comprendidos entre 0 y (mdulo. El mtodo ms extendido es el de las congruencias: Mtodo de las congruencias Se basa en 4 nmeros enteros mgicos : mdulo : multiplicador

: incremento : semilla

La secuencia se obtiene como

0 1)

&

S R

Q 2 PH GE6 C 0 ) 3 I F D B

2 5 3 4 &

2 5 6 4 &

2 5 8) 7 4 &

A @0 ) 9

7 8)

  b  ! b (8 b  e! b b  b     % '  & H F XVT WU

Si la generacin es ms rpida y la secuencia ms corta

&

 b

 B

" " s"rqQ# pViQ ) h ) 8gQ I F  &  & PH GD )gQ F  C  b B A )  & IfH GD 7 8) 3 & 2  6
* Siempre se produce un loop

 b c( b c b ! 

 7 ) & !  & d !   %     & a` Y 3 6 2

 A &

Por ejemplo en MapleV

Eleccin del mdulo tiene que ser grande para tener secuencias largas. Si es el tamao de la palabra ( en un Pentium) se suele tomar . Otra alternativa es el mayor primo menor que . Eleccin del multiplicador

iii)

es mltiplo de 4 si

divisor de

es mltiplo de 4

ii)

es mltiplo de , para todo primo

i)

es primo relativo a

7 v)

Th: Una secuencia denida por riodo de longitud si y slo si

6Q 3Q 2

u t

tiene pe-

Si

Th.: El mximo periodo cuando

Cuando es primo relativo a , el entero ms pequeo para el que se llama orden de mdulo . El que tiene el mximo valor posible de orden mdulo se llama un elemento primitivo mdulo . Otros mtodos:Secuencia de Fibonacci

 

2 I F A PH GD `V0 ) C 0 ) B

ii)

es elemento primitivo mdulo

2 IfH D #V0 ) C p 0 ) 0 ) F B A @0 ) 9

2 3 2 fH a3 I F D y B

7 v)

i)

es primo relativo a

&

&

6 3

se cumple que se obtiene si

Ejercicio: Utilizar los nmeros aleatorios para simular el decaimiento radiactivo de una muestra de ncleos. La probabilidad de que un ncleo decaiga en un tiempo es: donde . ncleos radiactivos. Considerad una muestra de Cmo cambia con el tiempo el nmero de ncleos?. . Haced una grca de Algoritmo:

Decidir si decae o no: si random# entonces el nmero de ncleos decae en una unidad

Registrar el nmero de ncleos en

Loop sobre los ncleos que hay en

Desde

hasta , con

5 5

DB

&

Datos:

Comparar con el resultado terico

Mostrar el resultado en grcas con escalas lineales y logartmicas

D T e7 B

Q A & " & !

Q A ` & " &

D B

& & & 

& &

7 7

100

80

60

40

20

20

40

60

80

100

120

140

160

180

200

220

240

260

280

.1e3

.5e2

.1e2

5. 0 20 40 60 80 100 120 140 160 180 200 220 240 260 280

4000

3000

2000

1000

0 20 40 60 80 100 120 140 x 160 180 200 220 240 260 280 300

.1e4

.1e3

.1e2

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

Complicando la pregunta anterior: cul es la probabilidad de observar decaimientos en un intervalo de tiempo ?. Suponiendo que el nmero de decays en es mucho menor que . Dividimos en intervalos de duracin ,
t

En el lmite

Distribucin de Poisson

Qk mlR j 0 i h '' g i 2 & f R 0 e D x dB x

Probabilidad

decays en

Probabilidad 1 decay

Ejercicio Modicar el ejercicio anterior para simular un experimento en el que contamos el nmero de decays observados en un intervalo . Repetir el experimento varias veces y hacer histograma de la distribucin de decays. Datos

#experimentos = 1000

&

s s

s s

&& & &

&

A` A `

p & b # & b 

&&  & & 

7 7

s s

TESTS

Mtodo bsico en estadstica que se usa en relacin con muchos otros temas - Tenemos un experimento que puede producir valores en clases distintas, cada una de ellas tiene una probabilidad asociada - Hacemos observaciones independientes y contamos el nmero de observaciones en la clase . - Construimos

Si tendremos fundadas sospechas sobre las medidas efectuadas.

v A wq q x 1R q x 1R t x wq q v D

p" $s"

Qq srx

Test Chi-cuadrado

n 1)

P: Dada una secuencia cientemente aleatoria?

, cmo saber si es su-

y y u

q t

La respuesta en la siguiente tabla ( de libertad)

P: Qu valores son razonables para

? , grados

| | | | | | | |  } } }} } }       }  } } } } }    } } }} } } } } }}   } }   }  }  } } }} } } }  }  }} } } } }  }     } } } } }  } } }  } }  } }     } }   } } }   } }} } } } }}

| | | |  | | | | } } } }  }} } | { } } }  } ~  } } } } } } } } } } } | {     } }  ~  } }   }  }} | { }    } }  ~    }  | { } } } }   } }} } ~ } }} }  } } | { } }       }  ~ } } }} }    } } | { } } } }  }  ~  } } } } } }} } } | {  }  } } } ~

Si la entrada en la la columna es La cantidad sera menor o igual que con probabilidad , para sucientemente grande.

Ejemplo: Tiramos 200 veces una moneda y medimos , en la tabla 118 caras y 82 cruces. para %y tenemos para % . Luego la probabilidad de medir un valor de 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 miramos en la tabla y vemos que ser menor que el valor obtenido slo en menos del 1% de los casos, ano podemos considerar el resultado aleatorio en ab soluto!

" ` % 

" & & & &

 z " %  

S r1R q x

" ` % !

 )

Criterio

grande:

El criterio que se adopta es: Si es menor del 1% o mayor del 99% se rechaza el generador Si est entre el 1% al 5% o del 95% al 99% se sospecha del generador Si est entre el 5% al 10% o del 90% al 95% puede sospecharse

-Generar secuencia 20000 nmeros

-Repetir 4 veces -Representar la secuencia en un histograma, como puntos en 2D y en 3D. test para el generador de Ejercicio: Realizar el Fibonacci. Realizar varios tests y hacer bloques de tres con los numeros de la secuencia.

-Obtener

haciendo bines de 2000

2 Q

Q 6

C A

Q 3  !     

Ejercicio: Realizar el

test para el generador

7 v)

Apartado terico Las variables son entradas de un histograma, como vimos antes la distribucin de probabilidad que siguen es la de Poisson. La probabilidad de que tomen los valores es

Sea el espacio -dimensional de los . Para grande los tienen aproximadamente distribucin normal, luego puntos en un volumen diferende tienen probabilidad aproximadacial mente proporcional a La probabilidad de que son independientes es

n A p x x C r"r" C A " D B BT jD x rs" "" q """ D x QsrrQ A B D pB x x x " C r" C A A q v A wxq u

Haciendo el cambio de variable resulta . Las no son independientes .

qx1R j D qx1R t q q B k lR j 0 R e g 0
, donde slo

q t

D x B 1 wf A A 1 i ' g

q &

k q v A wq x x D q1R B d' g 0 q x

q t

7 A ` e g k D ) B

Q ) D B ) D B

La probabilidad de que

o D pB D j D p EB B ) j D j Q j D p B A B u
con

Esta es la distribucin tad.

D A s

p x B EB 7 x ) j ) g

ma

funcin gamma grados de liber-

funcin incompleta de gam-

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

Veamos que RANDU tiene serios problemas

I F A h fH GD 0 )  ! B   

A @0 ) 9

Test 1 : generamos una secuencia de 1000 nmeros y hacemos un histograma

100

80

60

40

20

5e+08

1e+09

1.5e+09

2e+09

Test 2: representemos la secuencia en 2D

2e+09

1.5e+09

1e+09

5e+08

0 0 5e+08 1e+09 1.5e+09 2e+09

Test 3: representemos la secuencia en 3D

2e+09 1.8e+09 1.6e+09 1.4e+09 1.2e+09 1e+09 8e+08 6e+08 4e+08 2e+08 0 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

Eligiendo apropiadamente el ngulo, los problemas de RANDU aparecen

2e+09 1.8e+09 1.6e+09 1.4e+09 1.2e+09 1e+09 8e+08 6e+08 4e+08 2e+08 0 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

2e+08 6e+08 1e+09 1.4e+09 1.8e+09

Este fenmeno se conoce como Efecto Marsaglia

Otros tests

Simulacin de Distribuciones Generales Tcnicas para la generacin de secuencias de nmeros aleatorios distribuidos de manera no uniforme, por ejemplo de acuerdo con la distibucin de Poisson. Tcnica de Rechazo Generar una secuencia que sigue una funcin de dis. tribucin Algoritmo:

2. Decidir si se acepta o no: Si acepta para todo , Repetir hasta que se acepte.

) S ) S 0n ) ) y D ) B

A D 0n ) ) B

1. Elegir un valor de prueba aleatorio

C 0n ) )

D )B S

D )B A

a partir de un nmero

se .

Este algoritmo se puede ver como tirar dardos:

f(x)

x min

x max

De esta manera se puede estimar la integral de

Problemas: Funciona mal si se parece a una delta. Casi nunca se aceptan las propuestas. Si la funcin tiene un polo no se puede usar. Si el rango de va desde hasta no se puede usar.

D )B

D ) B R D 0 n ) ) B R ) D ) B P f f

Tcnica de Inversin 1. Normalizar la funcin de distribucin, de modo que sea una funcin de distribucin de probabilidad (PDF). 2. Integrar analticamente desde el mnimo hasta un arbitrario. Esto es la probabilidad de que ocurra un valor menor o igual que . 3. Igualar el resultado a un nmero aleatorio uniforme y resolver en . Es decir, resolver la ecuacin

Ejemplos

n )

D B D B

2) Generar entre 0 e

de acuerdo con

Ejercicio: Generar ngulos en el intervalo de acuerdo con la funcin de distribucin: .

y . Generar 10000 valores usando Dibujar los resultados y sobreponer la funcin de distribucin.

D B  4 &

" & & &

"  &

H A ` D 3 C @sgB W

generar

de acuerdo con

) D B

D B 'H ) Q g

7 ) ' g 7 e g

generar

de acuerdo con

Q j 

A 7 q p ` 7 A

1) Generar :

entre 0 y 4 de acuerdo con

) D B

D )B

Tcnica de Importance Sampling (Muestreo Representativo??) por una Reemplazar la funcin de distribucin a la que se pueda aplicar la forma aproximada tcnica de inversin. Generar de acuerdo distribuidos segn mediante la tcnica de inversin y aceptarlos de acuerdo . con una probabilidad proporcional a

f (x) f (x)

D )B jD )B D )B

D )B

D )B )

La tcnica de rechazo es el caso especial en el que es constante ( ) Ejemplo: Generar de acuerdo con en el rango . Intentadlo con la tcnica de inversin. La idea es que sea sencillo. Elegimos con lo que . Aplicamos la tcnica de inversin a :

Decidimos si se acepta: si se acepta. En este caso , en otros casos puede ser ms complicado encontrarlo.

y D )

dB

Generamos

de prueba:

) C

dB

D ) B j t

) D B

D ) B s j D ) B D )B jD )B t

5 )

5 &

D )B

) jD

También podría gustarte