Sie sind auf Seite 1von 6

1.

1.1.

El mtodo Monte Carlo e


Introduccin o

Mtodo Monte Carlo - en su forma mas amplia es cualquier mtodo matemtico que e e a de una u otra forma utiliza nmeros aleatorios. u Actualmente su aplicacin abarca no solamente las ciencias e ingenier si no tambien o a las ciencias sociales y econmicas. o Existen diversas variantes de Monte Carlo: Monte Carlo de Metropolis MCM Algoritmo de simulacin, que permite determinar si algun proceso va a ocurrir o no. o Originalmente usado para la simulacin sistemas atmicos, pero actualmente se ha o o generalizado a muchos otros problemas. Monte Carlo Cadenas de Markov Versin generalizada de Metropolis, usada para generar un secuancia de puntos con o cierta distribucin conocida. o Enfriamiento simulado Idea de Metropolis generalizado para la optimizacin, es decir, hallar m o nimos y maximos en el sistema. Monte Carlo Reticular MC usado en una ret cula. MC Cintico. e MC usado para simular sistemas activados,es decir que ocurren con probabilidad exponencial (exp(Ea /KT )), por ejemplo fenmenos de deposicin. o o Monte Carlo cuantico.

1.2.

Estimacin simple del n mero o u

Mediante la generacin de puntos aleatorios uniformemente distribuidos en los limites o de un cuadrado de lado 1. Na (1) 4 Nt donde Na nmero de puntos dentro del cuadrante sombreado; Nt nmero total de puntos u u generados.

2.

Generacin de n meros aleatorios o u


No existen generadores de nmeros verdaderamente aleatorios. u Nmeros pseudoaleatorios, generados mediante cierto algoritmo. u Existe un periodo, luego del cual empiezan a repitirse. Cuanto mayor es el periodo es mejor el generador. El periodo tiene que ser mayor que la cantidad de nmeros requeridos. u

2.1.

N meros aleatorios distribuidos uniformemente u

La secuencia de nmeros aleatorios Ri debe tener las siguientes propiedades: uniforu midad e independencia Metodo de congruencia lineal El mtodo de congruencia lineal produce una secuencia de nmeros enteros x1 , x2 , x3 , . . . e u entre cero y m 1 mediante la relacin recursiva o xi+1 = (a xi + c)mod m, i = 0, 1, 2, . . . Se caracteriza mediante 3 parmetros: x0 es la semilla o valor inicial, a es el multia plicador, c es el incremento y m es el mdulo o La secuencia de nmeros aleatorios Ri en el intervalo [0,1] se obtiene mediante u Ri = xi , i = 1, 2, ... m

La eleccin de los valores de x0 , a, c y m afecta drasticamente a las propiedades o estad sticas y a la longitud del periodo. El mximo periodo est limitado por m. a a Ejemplo. Con a=2, c=43, m=20 y x0 =5 se obtiene 9 1 5 13 9 1 5 13 9 1 5 13 9 1 5 13 9 1 5 13 con periodo 4 mientras que con a=5, c=7, m=16 y x0 =6 se obtiene la secuencia con el maximo periodo (16) 5 0 7 10 9 4 11 14 13 8 15 2 1 12 3 6 5 0 7 10 9

2.2.

N meros con distribucin no uniforme u o


En muchos casos los datos se presentan en diferentes formas (por ejemplo los picos del espectro de los rayos gamma tienen la forma Gaussiana o Lorenziana, la actividad de decaemiento de la muestra radioactiva est sujeto a ley exponencial, etc. ) y a para su tratamiento o interpretacin es necesario disponer de nmeros aleatorios o u con distribucin arbitraria p(x). o Nmeros aleatorios de cualquier distribucin siempre se generan a partir de de nmeu o u ros aleatorios con distribucin uniforme. o Existen bsicamente dos formas de generar otras distribuciones ademas del uniforme. a El primero es anal tico y el otro mtodo numrico es de Reyeccin de Von Neumann. e e o

2.2.1.

Aproximacin anal o tica(el mtodo de inversin) e o

Supongamos que se quiere calcular nmeros aleatorios distribuidos como cierta denu sidad de probabilidad P (x). Para tener el caracter de distribucin de probabilidad, la o funcin debe tener la propiedad o P (x) > 0 para todo x y normalizada para que se cumpla

P (x)dx = 1

(2)

La integral (x) =

P (t )dt

(3)

representa la funcin de distribucin cumulativa, es decir la probabilidad de generar un o o valor x. Para obtener la distribucin requerida la probabilidad de genarar un valor menor que o xr , el valor de x en el punto C en la Fig.1 debe ser r = (xr ). Por lo tanto si se genera un nmero aleatorio r de una distribucin uniforme y se halla su correspodiente x tal u o que las probabilidades cumulativas sean iguales, entonces los valores de x asi generados tendran la distribucin requerida P (x). Los valores de xr se hallan a partir de r = (xr ) o o xr = 1 (r). El procedimeinto de obtener la sucesin de valores de x es como sigue: o 1. Generar r, nmero aleatorio de distribucin homogenea en el intervalo (0 1) u o 2. Calcular xr = 1 (r). Ejemplo Se quiere generar una secuencia de nmeros aleatorios distribuidos exponencialu mente mediante la ecuacin, o P (x) = ex , x > 0 (4) La funcin cumulativa o (x) =
0 x

et dt = 1 ex

(5) (6) ex

Finalmente, pertenece al conjunto de valores distribuidos de acuerdo a p(x) = 2.2.2. Metodo de tanteo o de rejeccin o x = ln(1 r)

La idea es simple. Consideremos la funcin normalizada p(x) denido en el intervalo o nito x [a b]. Sea M un nmero que es mayor que p(x) para todo x en el intervalo: u Por lo tanto el algoritmo para generar los nmeros aleatorios con distribucin p(x) es: u o 1. Generar un numero uniformemente distribuido x = Pu(a, b) 2. Generar un numero uniformemente distribuido y = Pu(0, M ) 3. Si y p(x) se descarta: retornar al punto 1 4. En caso contrario se acepta: devuelve el valor de x

3.

Integracin con el mtodo MC o e


Si I es la integral denida de la funcin f (x), o
b

I=
a

f (x)dx

(7)

La integracin numrica de la integral (7) mediante el mtodo MC utilizando nmeros o e e u aleatorios uniformemente distribuidos consiste en: IN (b a) < f (x) >= (b a) 1 N
N

f (xi )
i=1

(8)

donde xi - nmeros aleatorios que cumplen la condicin a <= xi <= b y estan uniformeu o memente distribuidos; N - es el nmero de eventos. u

3.1.

Generalizacin a integrales m ltiples o u

La integracin numrica con el mtodo MC es mas efectiva para el caso de integrales o e e multidimensionales. Caso de 2 dimensiones: calculo del centro de masas y momento de inercia del cuerpo. Sea (x, y) la densidad del cuerpo. La masa total del cuerpo M= La coordenada Xc del centro de masas X= 1 M x(x, y)dxdy (10) (x, y)dxdy (9)

Si el cuerpo puede girar al rededor del eje z, su momento de inercia respecto a este eje Iz = (x2 + y 2 )(x, y)dxdy (11)

El clculo numrico,por ejemplo del momento de inercia, con el mtodo MC, procede como a e e Iz,n 1 = (x2 x1 )(y2 y1 ) n
N 2 (x2 + yi )(xi , yi ) i i=1

(12)

donde Iz,n la aproximacin de la integral bidimensional para N eventos, xi y yi nmeros o u aleatorios independientes uniformemente distribuidos en los intervalos x1 <= x <= x2 y y1 <= y <= y2

3.2.

Anlisis de errores del mtodo MC a e

Considerando ejemplo concreto:


2

I=
0

4x3 dx

(13)

El valor exacto de la integral es 16.0. Una estimacin numrica con el mtodo MC utilizano e e do N= 10000 produce, por ejemplo, 15.9828. Como saber cuantos eventos es sufeciente para la estimacin de la integral con una tolerancia dada?. o Anlogamente como con las mediciones experimentales, lo unico que se puede hacer es a calcular la probabilidad que el valor verdadero se encuentra dentro de cierto intervalo con centro en In Para tal efecto se realizan una serie, por ejemplo, de 10 mediciones con el mismo nmero u de eventos. Listado del cdigo que realiza la estimacin de la integral considerada, o o ! Integracion con el metodo Monte Carlo simple ! usando numeros aleatorios uniformemente distribuidos program mc1 implicit none integer::iseed,n,i,j real::x,suma,b,a,sump,err open(unit=8,file=mc1.dat,action=write) PRINT *,semilla

read*,iseed read*,n a=0;b=2.0;err=0.0 write(8,fmt=*)# n=,n,b=,b print*,ran(iseed) sump=0.0 do i=1,n x=(b-a)*ran() ! numero aleatorio en el intervalo [0-2] sump=sump+f1(x) end do suma=(b-a)*sump/n err=abs(suma-16.0) print*,j,suma,err write(8,(i6,2f12.5)) j,suma,err close(8) !*************************** contains real function f1(x) real::x f1=4*x**3 end function end program Las estimaciones numricas con el mtodo MC de media selectiva de la integral (13) e e N= 10000 serie M sigma ------------------------------1 15.87527 9.12473 2 15.87110 9.01125 3 15.90099 9.04871 4 15.98288 9.04160 5 15.94184 9.02389 6 15.91763 9.03214 7 16.06231 9.06719 8 16.28940 9.14648 9 16.22020 9.07092 10 16.00054 9.11803 ============================== Observamos que el error promedio es del orden 0.10 Una medida de la dispersin de los resultados es la desviacin estandar medio m , o o
2 m =< M 2 > < M >2

(14)

donde < M >=


2

1 m

Mi
i=1 m

(15)

1 < M >= m

Mi2
i=1

(16)

La aplicacin de la frmula (14) a los datos obtenidos produce: In = 16.0138, m =0.13 o o Por lo tanto el valor de la integral se encuentra en el intervalo [15.98-16.14] con una probabilidad de 68 %. Por otra parte los clculos con n=2500 y 40000 producen m =0.39 a y 0.09 respectivamente.Es decir m disminuye aproximadamente en 4 veces cuando el nmero de eventos aumenta en 16 veces. u Generalizando, en los clculos numricos con el mtodo MC el error disminuye como: a e e 1 m n (17)

Y lo mas importante, el error no depende de la dimensionalidad de la integral, a exclusivamente del nmero de eventos. u

Das könnte Ihnen auch gefallen