Está en la página 1de 38

El mtodo de Monte Carlo: generalidades

Nmeros aleatorios Simulacin de Distribuciones de Poisson Simulacin de Distribuciones Generales


El mtodo de Monte Carlo en Mecnica Estadstica

Percolacin en Percolacin en

El modelo de Ising en El modelo de Ising en

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

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

   Ej:   !%& '( 

!!

 !%'& ( &  & #"$ "

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 )10 comprendidos entre 0 y 2 (mdulo. El mtodo ms extendido es el de las congruencias: Mtodo de las congruencias Se basa en 4 nmeros enteros mgicos

2 : mdulo 3 : multiplicador & 4 3 5 2 6 : incremento & 4 6 5 2 )87 : semilla & 4 )87 5 2 B3 ) 0 C 6EDGF HPI 2 Q &

La secuencia se obtiene como

) 0@9 A

R S

Por ejemplo en MapleV

& A  6 &

TVUXW F H

 a  b (c b  ' % & % ! b c 3 Y  `   ! d &  ! & b  b b !eb  b 8( b !  ) 7   
* Siempre se produce un loop

&  G D F H f I ) A   C  Qg)  & &  DGF HPI Qg)8h Qi)Vp  Qq"r"s" # b &

)87

6 

& B  b  C

Si 6 la generacin es ms rpida y la secuencia ms corta

Eleccin del mdulo

2 tiene que ser grande para tener secuencias largas. h Si t es el tamao de la palabra (t en un t u . Otra alternativa Pentium) se suele tomar 2 es el mayor primo menor que t .
Eleccin del multiplicador Th: Una secuencia denida por riodo de longitud 2 si y slo si

2 Q 3 Q 6 y )v7 tiene pe-

i)

6 es primo relativo a 2

3 ii) w es mltiplo de x , para todo primo x divisor de 2


iii)

w es mltiplo de 4 si 2 es mltiplo de 4

Si

6 &

se cumple que

6 Th.: El mximo periodo cuando &


i)

se obtiene si

)v7 es primo relativo a 2 3 es elemento primitivo mdulo 2

ii)

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

) @ ) 0 C ) V 0 `A DGF HPI 2 0 9 A B D F HfI 2 Q ) 0 ) 0 p C ) V 0 # S



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

Desde &

hasta , con

Loop sobre los ncleos que hay en Decidir si decae o no: si random# 5 entonces el nmero de ncleos decae en una unidad

Registrar el nmero de ncleos en

Datos:

7 7

&& Q  &&&

` & & A " Q & & ! A " Q

 

Comparar con el resultado terico

B D

7e

TB D

Mostrar el resultado en grcas con escalas lineales y logartmicas

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 R decaimientos en un intervalo de tiempo ?. Suponiendo que el nmero de decays en es mucho menor que . Dividimos en 2 inter valos de duracin , 2
t

Probabilidad 1 decay x Probabilidad

R decays en x f Bd
,

En el lmite

g ' hi'0j RlkmQ i

e 0 D x &

2 R

Distribucin de Poisson

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

7 7

 &&  &&

 b & # s `A b & p ` s A

& &

s s

&& && s
s

#experimentos = 1000

TESTS P: Dada una secuencia cientemente aleatoria? Test Chi-cuadrado

)1n , cmo saber si es su-

Mtodo bsico en estadstica que se usa en relacin con muchos otros temas - Tenemos un experimento que puede producir valores en p clases distintas, cada una de ellas tiene una "s"$p probabilidad asociada xrqsQ - Hacemos R observaciones independientes y conta mos tq el nmero de observaciones en la clase . - Construimos

qwv x t q 1 R xq D R1xq qwv A

Si u y y tendremos fundadas sospechas sobre las medidas efectuadas.

P: Qu valores son razonables para La respuesta en la siguiente tabla ( z de libertad)

u ? p
, grados

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

Si la entrada en la la z columna x es ) La cantidad u sera menor o igual que ) con probabilidad x , para R sucientemente grande. Criterio

R grande: R1xrq S

Ejemplo: Tiramos 200 veces una moneda y medimos   % " ,z en la tabla 118 caras y 82 cruces. u ! % `   % ` " para x %y ) " tenemos )  para x % . 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 slo en menos del 1% de los casos, ano podemos considerar el resultado aleatorio en absoluto!

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

)v7

!  3 Q

test para el generador

A C

6 Q

Q2

-Generar secuencia 20000 nmeros -Obtener

haciendo bines de 2000

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

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

g e 0 R 0 j Rlk B D j R1xq  t q R 1  x q Haciendo el cambio de variable q x resulta u . Las q no son independienq A w q v x & . tes x A A C "r" C x x B D B Sea el espacio p -dimensional de los A Q"r"r"sQ x D . Para R grande los q tienen aproximadamente distribucin normal, luego puntos en un volumen diferen aproximadacial "s"r" x de tienen TB probabilidad B Dj D mente proporcional a A C "r"r" C x La probabilidad de que x A n , donde slo p
son independientes es

g '0d B R xq D 1 x qwv A q k

g ' A i1 fw1 B x A D

u A BB p D j Q j D g ) j ) x As BEB p D j D 7 x BEB p D j ) B D Esta es la distribucin o con p grados de liberLa probabilidad de que tad.

B) D D ) Q
ma

B )

D k funcin gamma g e ` A funcin incompleta de gam7

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

) 0@9 A

B ! 

h A G D F f H I ) 0

Veamos que RANDU tiene serios problemas

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 disB tribucin ) D . Algoritmo: 1. Elegir un valor de prueba aleatorio A

) a partir de un nmero

) n0 C

B D ) ) n0 A B ) D y se ) n0 S ) S ) .

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

Este algoritmo se puede ver como tirar dardos:

f(x)

B D De esta manera se puede estimar la integral de ) P B ) D ) R B ) ) n 0 D R B D 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 f f de ) va desde hasta no se puede usar.

x min

x max

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 ) n 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

B D B D

Ejemplos

B D 1) Generar ) entre 0 y 4 de acuerdo con ) j B D ) : `A j 7 Q p Aq 7  generar ) de acuerdo con ) . B D 2) Generar entre 0 e de acuerdo con ) g e g 7 Q g ' ) 7 H' B D generar ) de acuerdo con ) . f
Ejercicio: Generar ngulos en el intervalo de acuerdo con la funcin de distribucin: BgWs@ C 3H D `A .

& 4  B D &  & & " .

3 Generar 10000 valores usando

&  3 " y

Dibujar los resultados y sobreponer la funcin de distribucin.

Tcnica de Importance Sampling (Muestreo Representativo??)

B D Reemplazar la funcin de distribucin ) por una B D ) a la que se pueda aplicar la forma aproximada
tcnica de inversin.

B D ) meGenerar de acuerdo ) distribuidos segn diante la tcnica de inversin y aceptarlos de acuerdo B B ) Dj ) D. con una probabilidad proporcional a t

f (x) f (x)

La tcnica de rechazo es el caso especial en el que B D ) es constante ( )

C Ejemplo: Generar ) de acuerdo con ) D & ) D j ) en el rango 5 ) 5 . Intentadlo con la tcnica de inversin. B Dj B D La idea es que t ) ) sea sencillo. Ele B D j s B D C ) . gimos ) ) con lo que t j B D Aplicamos la tcnica de inversin a ) :
Generamos

Bd

) de prueba: )

Bd

C ) D y t se Decidimos si se acepta: si acepta. En este caso t , en otros casos puede ser ms complicado encontrarlo.

También podría gustarte