Sei sulla pagina 1di 11

Informe de Lectura: Speed-up of Monte Carlo simulation by Sampling of rejected states

Mamani Velsquez, Deivit Frank a 8 de mayo de 2012


Resumen En el presente informe se hace un estudio del paper Speed-up of Monte Carlo simulation by Sampling of rejected states [1]. En dicho paper se da un algoritmo que tiene como objetivo mejorar el rendimiento de las simulaciones existentes. Para ello el autor resalta el hecho de que los algoritmos Monte Carlo - Cadena de Markov generan un gran nmero de u estados que luego sern desechados (desperdicios) pues solamente uno de a ellos ser aceptado. As se mejora el rendimiento incluyendo las propiea , dades de los estados rechazados a la muestra.

1.

Introduccin o

Uno de los objetivos de la mecnica estad a stica es la estimacin de las proo piedades medias de un sistema como por ejemplo un sistema de muchos cuerpos o el comportamiento de un gas encerrado. Estos sistemas se pueden encontrar en uno de una gran cantidad de estados. Por ejemplo, en un litro de un gas encerrado a temperatura y presin estndar hay cerca de 3x1022 molculas; el o a e solo movimiento de una de ellas hace que se genere un nuevo estado en el sistema por lo que la cantidad de estados en ese sistema es enorme. Por tanto, estos sistemas son muy dif ciles de resolver de manera anal tica por lo que se hace uso de simulaciones por computadora para poder estimar dichas propiedades. Las simulaciones ms usadas son las simulaciones Monte Carlo, en particular a las simulaciones Monte Carlo - Cadenas de Markov.

1.1.

Simulaciones Monte Carlo - Cadenas de Markov

Como un primer intento de estimar las propiedades de un sistema S podemos tomar un subconjunto de los posibles estados del sistema como muestra y darle a cada uno de estos un peso y promediar de manera ponderada la propiedad deseada. El principal problema es cmo tomamos ese subconjunto de estados, o por ejemplo, no podemos tomarlos de manera aleatoria pues es muy probable 1

que slo una muy pequea fraccin de esos estados contribuyan de manera o n o signicativa al promedio (por ejemplo, para un uido de 100 esferas slidas en o su punto de congelamiento, el factor de Boltzmann ser apreciable para 1 de a cada 10260 conguraciones [3]). Por lo tanto el tomar un subconjunto de estados de manera aleatoria no es un mtodo conable. e Un mtodo funcional es generar un conjunto de estados del sistema mediane te los algoritmos Monte Carlo - Cadenas de Markov (MCMC) en la que, en resumen, se inicia con un estado arbitrario del sistema y se genera un nuevo estado dependiendo del estado actual. Estos nuevos estados no son generados de manera arbitraria sino que obedecen a ciertos criterios para poder alcanzar un equilibrio. Asi, la propiedad se podr estimar como un promedio simple. a

1.2.

Equilibrio

Se dice que una simulacin o un sistema ha llegado a un equilibrio cuando o cada estado de dicho sistema ocurre con una frecuencia que es proporcional a su peso. Por ejemplo, fue Gibbs quien mostr que para que un sistema se encuentre o en equilibrio trmico a una temperatura T , la probabilidad de encontrar al e sistema en un estado debe ser [4]: exppE {kT q w exppE {kT q (1)

donde la sumatoria se efecta sobre todos los estados del sistema, E es la u energ del estado , k es la constante de Boltzmann y T es la temperatua ra del sistema. En este ejemplo el peso de un estado debe ser proporcional a exppE {kT q. Para asegurar que la simulacin llegar al equilibrio es necesario o a cumplir con dos condiciones [7]: La ergodicidad y el balance detallado. 1.2.1. Condicin de ergodicidad o

La condicin de ergodicidad es el requerimiento que har que nuestra simuo a lacin MCMC llegue a cualquier estado del sistema desde cualquier otro para o una simulacin sucientemente grande. Esto es necesario para lograr nuestro o objetivo de generar estados con sus probabilidades correctas. Por ejemplo, en el algoritmo de Metropolis cada estado aparece con alguna probabilidad no nula p en la distribucin de Boltzmann, y si ese estado fuera inaccesible desde otro o estado no importa que tanto continuemos nuestra simulacin pues nuestro obo jetivo se desbaratado si empezamos en el estado : la probabilidad de encontrar el estado en nuestra simulacin MCMC ser cero, y no p como requerimos o a que sea. 1.2.2. Balance detallado

Esta condicin es la que nos asegura que es la distribucin de probabilidad o o de Boltzman (Metropolis) la que generamos despus de que nuestro sistema e ha logrado el equilibrio. Para ocupar un estado con la frecuencia correcta los

Figura 1: Proceso de Markov: a partir de un estado o que tiene una probabilidad de encontrarse en el sistema PB poq (l nea continua) se puede(n) generar movimiento(s) de prueba n (l nea punteada) con probabilidad condicional po nq y aceptar a uno de estos estados de prueba con probabilidad Pacc po nq desechando a los otros.

algoritmos MCMC generan de forma aleatoria un movimiento de prueba (trial move) desde el estado actual (o) al nuevo estado (n). En el caso de sistemas moleculares, por ejemplo, tal movimiento puede ser el desplazamiento de una sola part cula. Si PB poq es la probabilidad de encontrar al sistema en el estado o y po nq es la probabilidad condicional de generar un movimiento de prueba (lo cual lleva al sistema a un nuevo estado n) dado que el estado actual del sistema es o, entonces la probabilidad Pacc po nq de aceptar el movimiento de prueba desde o a n esta relacionado con Pacc pn oq mediante la relacin: o

PB poqpo nqPacc po nq PB pnqpn oqPacc pn oq. (2) As ahora existen diversos algoritmos MCMC que dieren en la forma en la , que los movimientos de prueba son generados (es decir, que usan una diferente eleccin de po nq). Un ejemplo de este tipo de algoritmos (MCMC) es el o algoritmo de Metropolis. La gura 1 ilustra un proceso de Markov que es la agregacin de un nuevo estado a la muestra. o

1.3.

El algoritmo de Metropolis

El algoritmo de Metropolis [6] es un algoritmo MCMC que genera un movimiento de prueba n a partir de un estado o de manera uniformemente aleatoria por lo que po nq pn oq, por consiguiente de la ecuacin 2 tenemos o que Pacc po nq PB pnq . (3) Pacc pn oq PB poq En [6] se trabaja con PB pq exppE {kT q, que reemplazando en 3 tenemos
En

[7] se da una justicacin detallada sobre la ecuacin 2. o o

Pacc po nq exppE{kT q Pacc pn oq la eleccin hecha en [6] para jar Pacc po nq es: o Pacc po nq m nt1, exppE{kT qu

(4)

(5)

As el algoritmo de Metropolis funciona de la siguiente manera: a partir de , un estado o se genera un movimiento de prueba n y si la diferencia de energ a es menor a cero (E 0); es decir, si el sistema pasa a un estado de menor energ entonces el movimiento de prueba se acepta. Si E 0 entonces el a movimiento de prueba se aceptar o rechazar con probabilidad exppE{kT q; a a para eso, generamos un nmero aleatorio uniformemente entre cero y uno, y u si exppE{kT q entonces aceptamos el movimiento de prueba y movemos el sistema al nuevo estado. Si exppE{kT q regresamos a la posicin o original. Entonces, ya sea que el movimiento haya sucedido o no, es decir, ya sea que nos encontremos en una conguracin diferente o en la conguracin o o original, consideraremos que estamos en una nueva conguracin para tomar el o promedio. As s F p1{M q
M j1

Fj ,

(6)

donde Fj es el valor de la propiedad F del sistema despus de que el j-simo e e movimiento se lleve a cabo acorde a lo descrito en el algoritmo. Habiendo movido una part cula procedemos de manera similar con la prxima teniendo a este o nuevo estado como estado inicial del proximo movimiento de prueba.

1.4.

Deciencia en los algoritmos MCMC

Para visitar estados con la frecuencia correcta, los algoritmos MCMC generan un movimiento de prueba desde el actual estado (o) a un nuevo estado (n). Esos movimientos de prueba pueden ser aceptados o rechazados. El criterio de aceptacin es escogido tal que la probabilidad de encontrar el sistema en el estao do i es proporcional a PB piq. El dogma estndar de las simulaciones MCMC es a que los estados rechazados no son incluidos en la muestra. Como consecuencia, los algoritmos Monte Carlo convencionales son ms bien bastante derrochadores a debido a que ellos tienden a generar muchos estados de prueba (usualmente una mayor que no son usados en el promedio. En [1] se argumenta que se puede a) mejorar; las propiedades de los estados rechazados pueden ser incluidos en la muestra.

Figura 2: Como primer paso del algoritmo WR propuesto se elige un algoritmo MCMC vlido y se genera un movimiento de prueba, por lo tanto se a generan tambin estados de prueba con una probablidad po nq. A modo e de ilustracin diremos que en esta gura se han generado estados de prueba o (l nea punteada) con mayor probabilidad a la derecha.

2.

Mejorando el rendimiento de los algoritmos MCMC (Waste - recycling algorithm)

En [1] se propone un algoritmo que tiene como esencia el reciclaje de los estados rechazados en los algoritmos MCMC convencionales incluyendo las propiedades de estos en la muestra, este algoritmo lo llamaremos waste - recycling y lo denotaremos como (WR). Como un punto de partida, el algoritmo propuesto usa cualquier MCMC vlido. Tal como un algoritmo que genera movimientos de prueba con probabia lidad po nq que satisfagan la condicin de balance detallado. Consideremos o que partimos de un estado o con peso PB poq y que generamos o ` tnu estados de prueba; es decir, se genera un conjunto de estados de prueba tnu o incluso el mismo estado original o. Consideremos un movimiento de prueba que comience del estado o y que puede terminar en cualquiera de los estados o ` tnu (para un algoritmo de Metropolis hay un solo estado o y un solo estado n, pero en otros algoritmos pueden existir ms). Para facilitar la comprensin del algoritmo, se a o ilustrarn los pasos de una manera simple, por ejemplo en la gura 2 se genea ra un movimiento de prueba que puede nalizar en cualquiera de los estados representados por l neas discontinuas. Ahora supongamos que reemplazamos un movimiento de prueba por un gran nmero de movimientos que pueden visitar el mismo conjunto de estados (o ` u tnu) usando alguna forma de muestreo de importancia que satisfaga el balance detallado (por ejemplo, el muestreo en el algoritmo de Metropolis es PB pq exppE {kT q). En la gura 3 estos movimientos son representados como una l nea recta discontinua visitando cada estado con una frecuencia proporcional al peso de cada estado visitado. Sea L el nmero de movimientos realizados dentro del conjunto de estados u o ` tnu. Para cualquier valor nito de L tenemos que la estimacin de la proo piedad A se puede calcular como un promedio no ponderado sobre todos los 5

Figura 3: Se reemplaza el movimiento de prueba por un gran n mero de u movimientos dentro del mismo conjunto de estados. Este muestreo debe obedecer alguna forma de importancia dada por en algoritmo MCMC elegido en el primer paso. Observe que el estado tiene una mayor frecuencia de aparicin en el muestreo. o

estados visitados durante los L submovimientos. Sin embargo, no ser necesario a hacer dicho clculo pues si realizamos un nmero enorme de movimientos, es a u decir, L 8, podemos saber de antemano la probabilidad con la que cada es tado ni ser visitado, la cual es simplemente PB pni q{ PB pi1 q donde i1 incluye a todos los estados de prueba (incluyendo o). Al nal de los L submovimientos, el sistema estar en un estado particular f , con probabilidad PB pnf q{ PB pi1 q. a La propiedad A de cada estado de prueba se contabiliza y es tomado en cuenta en la estimacin media de A en el sistema. Ahora podemos prescindir de los L o submovimientos completamente y los reemplazamos por un unico movimiento llamado de grano grueso que va del estado o al estado f . El estado f ser el a estado inicial para el siguiente movimiento de grano grueso, y as sucesivamente (g. 4). En resumen, el algoritmo sigue los siguientes pasos: 1. Seleccionar un algoritmo MCMC vlido que genere estados de prueba a de manera que satisfaga la condicin de balance detallado. En el caso de o que el algoritmo MCMC genere varios estados de prueba simultneamente a entonces este deber cumplir con la condicin de balance superdetallado a o [3]. 2. Preparar el sistema en algn estado inicial o y establecer a cero el acuu mulador SA que necesitaremos para estimar el promedio de la propiedad A. 3. Generar un conjunto de estados de prueba (o ` tnu) usando el algoritmo seleccionado en el paso 1. 4. Calcular los pesos wi (ipo ` tnuq que determina la probabilidad de aceptacin de un movimiento o i) en el algoritmo MCMC seleccionado en o el paso 1.

n3

n9 n1
PB(n1)/PB(i)

PB()/PB(i)

n4 n2 n5 n6 n7 n8

Figura 4: En el l mite cuando L 8 la probabilidad de visitar un estado ni de o`tnu ser PB pni q{ PB pi1 q donde i1 incluye todos los estados de prueba a (incluyendo o). Si bien los estados de prueba sern rechazados (menos uno), a la propiedad A de cada uno de los estados (rechazado o no) son tomados en cuenta en el promedio. En este caso, el estado fue aceptado y ser el estado a origen del siguiente movimiento de grano grueso.

5. Actualizar el acumulador SA mediante la siguiente ecuacin: o i wi Ai SA SA ` i wi 6. Si el nmero total de movimientos de prueba es menor que M (nmero u u predeterminado de iteraciones), seleccionar un estado nal f po ` tnuq con probabilidad Pf wf { i wi . El estado f es ahora el estado inicial para el proximo movimiento de grano grueso para el paso 3. De otra manera, ir al paso 7. 7. Calcular el estimado de los promedios de todas las cantidades A usando la siguiente ecuacin: o SA A est . M

2.1.

Validez del algoritmo WR

Un sistema que sea simulado con este algoritmo llegar a un estado de equia librio cumpliendo as un balance [5] (no el balance detallado). La razn de esto o (de no cumplir con el balance detallado) es que la generacin de los estados de o prueba se generan de acuerdo al algoritmo MCMC elegido en el algoritmo, es decir, los po nq son del MCMC escogidos. Sin embargo la probabilidad de aceptacin de un estado f po ` tnuq se cambia por PB pnf q{ PB pi1 q, lo cual o no cumplir necesariamente con la ecuacin 2. Sin embargo, en [5] se demuestra a o que no es necesario cumplir con el balance detallado para que la simulacin lleo gue a un estado de equilibrio, es decir, el balance detallado es suciente pero no necesario. Una condicin menos restricta (balance) si es necesario y suciente o para lograr el equilibrio.

En [5] la condicion de balance est escrito con una matriz de transicin a o de Markov mediante la siguiente relacin: Sea A una matriz de transicin de o o Markov y x* la distribucin de Boltzman, entonces o Ax x . En la condicin de Balance detallado se ten que o a Aij xj Aji xi . La ec. 7 nos dice que slo es necesario que se cumpla las transiciones de un eso tado hacia otro, con la condicin de que la distribucin se mantenga inalterable. o o Podemos poner la ec. 7 de la siguiente manera: PB pmqmn PB pnq, (8)
m

(7)

donde los valores mn representan las transiciones de un estado m a otro n. Estas transiciones (mn ) son representadas en una matriz llamada de transicin o de Markov. Estas transiciones se pueden separar en dos probabilidades de la siguiente manera: mn pm nqPacc pm nq (9)

En [1] slo se da alcances de la validez del algoritmo. En [2] se da una o explicacin ms formal del algoritmo. A continuacin, se hace la explicacin o a o o que se da en [2]. La caracter stica principal del algoritmo de Metropolis es que (en promedio) todos los estados del sistema son visitados con una frecuencia que es proporcional a su peso (Boltzmann). Esta es la caracter stica por la que el promedio ponderado sobre todos los estados i i PB piqAi A (10) i PB piq puede ser estimado por un promedio no ponderado sobre todos los estados visitado: n An A . (11)
n

donde un estado n es incluido en la suma cada vez que es visitado. La probabilidad de que un estado que est inicialmente en el estado m realia ce una transicin al estado n es denotado por pm nq. Esta probabilidad o est normalizada puesto que el sistema debe terminar en algn estado (posia u blemente el mismo estado original m). La condicin de normalizacin o o
Esta expresin se interpreta como el promedio de todos los valores A una vez hecho la o n simulacin. El valor de n es la cantidad de iteraciones que se realizan en la simulacin. o o

pm nq 1

(12)

ser usada ms adelante. Cualquier MCMC vlido deber mantener la distribua a a a cin de equilibrio (balance, ec 8): o PB pmqpm nq PB pnq. (13)
m

Si insertamos la ecuacin de arriba en la expresin 10, obtenemos o o PB A i i j PB pjqpj iqAi A i . i PB piq i j PB pjqpj iq

(14)

Ahora cambiemos el orden de la sumatoria. Usando la ec. 12 podemos escribir PB pjqpj iq PB pjq (15)
j i j

y por eso, A
j

PB pjq

i j

pj iqAi

PB pjq

(16)

Por eso A puede ser reescrito como unpromedio sobre todos los estados j de las cantidades i pj iqAi . Como antes podemos usar un algoritmo MCMC normal para estimar este promedio n r m pn mqAm s A . (17)
n

Usando la ec. 9 tenemos que nuestro estimado para A viene a ser pn mqPacc pn mqAm s r A n m . (18)
n

Esta expresin no es an muy util, pues requerir o u amos calcular Am para todos los estados m que pueden ser alcanzados en un solo movimiento de prueba desde n. Usando el hecho de que mq es una probabilidad normalizada. Popn demos por lo tanto estimar m pn mqPacc pn mqAm haciendo, con probabilidad pn mq, movimientos de prueba sobre un subconjunto tm1 u del conjunto total de todos los movimientos posibles desde n. Nuestro estimado A es entonces realizado haciendo el promedio 1 r 1 Pacc pn m qAm1 s A n m (19)
n

que ahora la sumatoria no sea hace sobre sino que se ha logrado cambiar por j en donde el papel de la propiedad a estimar la hace i pj iqAi

Observe

Figura 5: La densidad de probabilidad P(S) de la magnetizacin total S o de un sistema bidimensional de espines del modelo de Ising encerrados de 32 32 espines. Como un ejemplo, se muestra el resultado para J{kB T 0,3 (es decir, una temperatura supercr tica). La longitud total de ambas ejecuciones fue muy corta (50 000 movimiento de grupos o cl steres). Los u c rculos abiertos indican el resultado obtenido con el mtodo de Swendsene Wang. Los resultados obtenidos con el mtodo propuesto en [1] son indicados e con barras de errores. Claramente las dos tcnicas estn de acuerdo en donde e a pueden ser comparados. Sin embargo, el algoritmo WR hace posible extender 1 los clculos a valores de P(S) que son 10 0 veces ms peque os que aquellos a a n que pueden ser muestreados con promedios convencionales. Eventualmente 16 (para P pSq 10 ), la precisin de la mquina limita la precisin del o a o mtodo. e

donde m1 es el conjunto de estados (posiblemente un unico estado) generado con la probabilidad pn mq .

3.

Resultados

En [1] se muestran resultados de la simulacin del algoritmo WR para el o modelo de Ising en donde el algoritmo seleccionado es el de Swendsen-Wang . Esos resultados demuestran que el algoritmo WR realiza la misma estimacion de la propiedad A con mayor precisin en un mismo tiempo de ejecucin (g. o o 5).
estados m1 ser los estados generados en el paso 3 del algoritmo WR. an modelo de Ising es un modelo ideal en 1, 2 o 3 dimensiones de un material ferromagntie co que tiene espines en dos unicas posibles posiciones +1 o -1. En [7] se da una explicacin o ms detallada del modelo. a Este algoritmo trabaja reuniendo espines con la misma orientacin en un grupo (el grupo o va creciendo con espines paralelos con cierta probabilidad) [3] y [7]
El Los

10

Referencias
[1] D. Frenkel. Speed-up of monte carlo simulations by sampling of rejected states. In PNAS, volume 101, pages 1757117575, December 2004. [2] D. Frenkel. Waste-recycling monte carlo. In Lect. Notes Phys., volume 703, pages 127137, 2006. [3] D. Frenkel and B. Smit. Understanding Molecular Simulation: From Algorithms to Applications. Computational Science. Academic Press, 2002. [4] J.W. Gibbs. Elementary Principles in Statistical Mechanics. C. Scribner, 1902. [5] V. I. Manousiouthakis and M. W. Deem. Strict detailed balance is unnecessary in monte carlo simulation. In J. Chem. Phys., volume 110, page 2753, 1999. [6] N. Metropolis, A. Rosenbluth, N. Rosenbluth, E. Teller, and E. Teller. Equation of state calculations by fast computing machines. In J. Chem. Phys., volume 21, pages 10871092, March 1953. [7] M.E.J. Newman and G.T. Barkema. Monte Carlo Methods in Statistical Physics. Clarendon Press, 1999.

11

Potrebbero piacerti anche