1. Métodos de Monte Carlo
Una breve introducción a métodos de integración por Monte
Carlo y Monte Carlo por cadenas de Markov.
Lic. Alejandro Claro Mosqueda
<aclaro@fisica.ciens.ucv.ve>
2. Definición y clasificación
– Monte Carlo directo.
– Integración por Monte Carlo.
• Muestreo “crudo”.
• Muestreo por importancia.
• Muestreo adaptativo.
– Monte Carlo por cadenas de Markov (MCMC).
• Metropolis.
• Barker.
• Baño térmico.
3. Integración numérica
Las formulas de Newton-Cotes son el tipo de integración
numérica mas común. Se basan en la estrategia de remplazar
una función complicada (o datos tabulados) por un polinomio
que es fácil de integrar:
donde fn(x) es la serie de Taylor truncada en el termino
n-simo de la función f(x):
4. Integración numérica
En la figura se muestra un ejemplo donde se utiliza un
polinomio de primer grado.
Ancho
Alto promedio
El resultado de esta integración es conocida como regla del
trapecio.
5. Integración numérica
La siguiente regla de Newton-Cotes recibe el nombre de regla
de Simpson 1/3.
Ancho
Alto promedio
Si hay un punto adicional entre f(a) y f(b), los tres puntos se
puede unir por una parabola.
6. Integración numérica
La integración también se puede aproximar usando un
conjunto de polinomios aplicados por pedazos, sobre
segmentos de longitud constante (reglas de aplicación
multiple).
Una regla de aplicación multiple muy conocida es la suma de
Riemann donde se usa un polinomio de grado cero.
8. Integración numérica
En general tenemos que las formulas de Newton-Cotes de
aplicación multiple tienen la forma:
que por simplicidad se le llama formula de Newton-Cotes de
orden k.
No hay una única formula de orden k. Por ejemplo las formulas
que se obtiene por la regla de Simpson 1/3 y por la regla de
Simpson 3/8 son de orden k=4.
9. Integración numérica
Otros métodos, como el de cuadratura Gaussiana, pueden en
ocasiones ser mejores pero también presentan formulas de la
forma:
Por oto lado, estos métodos pueden extenderse para resolver
integrales multiples. Si por simplicidad se considera que la
integración es el volumen de un hyper-cubo de lado L, se tiene
que se deben evaluar
puntos, y por lo tanto el
error es del orden
10. Integración por Monte Carlo
¿La única forma de determinar la “altura promedio” es sobre
un conjunto de puntos equi-espaciados (Newton-Cotes) o
según los ceros de una función especial (Cuadratura
Gaussiana)?
También es posible tomarlos
¡aleatoriamente!
La integración por Monte Carlo consiste justamente en tomar
los N puntos, donde se valuara la función, aleatoriamente
dentro de intervalo de integración.
11. Integración por Monte Carlo
Debe se claro que si los puntos están distribuidos
homogéneamente en el intervalo de integración (muestreo
“crudo”), y N los suficientemente grande, la suma anterior de
dar aproximadamente el resultado de la integración.
Si se calcula la desviación estándar en el resultado:
Que luego de un poco de manipulación algebraica se obtiene:
12. Integración por Monte Carlo
A primera vista parece ser que este método es menos
favorable que el de Newton-Cotes:
Sin embargo, el orden del error en el método de integración
por Monte Carlo es independiente del numero de variables
sobre las cuales se integra.
Entonces, al comparar de nuevo con el método de
Newton-Cotes se observa que integración por Monte Carlo es
mas eficiente si:
13. Integración por Monte Carlo
Este resultado es realmente
¡contra-intuitivo!
Lo mas natural es pensar que una arreglo regular de puntos
fuese siempre superior a una distribución aleatoria de puntos.
La razón por la cual IMC es superior en integrales multiples es
que en cierto sentido la distribución aleatoria es mas
“uniforme” que el arreglo regular.
14. Muestreo por importancia
En muchos casos prácticos, la contribución de la integral en
diferentes regiones del volumen varia drásticamente.
El muestro “crudo” sufre de un error grande en estos casos
debido a que pocos puntos son tomados en el volumen que
mas contribuye a la integral.
Con la idea de reducir tal error, se deben concentrar los puntos
a tomar en la region de mayor contribución. La implementación
de esta idea, cuando se conocen a priori las regiones de
mayor contribución, se le conoce como muestreo por
importancia.
15. Muestreo por importancia
De forma mas rigurosa: sea ρ(x) una distribución normalizada
en el intervalo [a, b], que tiene un perfil similar al de la función
f(x) en el sentido que f /ρ es aproximadamente constante.
Entonces el termino encerrado entre corchetes es aprox.
“plano” y la distribución ρ(x) (PDF) puede ser incluida en la
integración por Monte Carlo de la función f /ρ al escoger
numero aleatorios que sigan dicha distribución.
16. Muestreo por importancia
Esto significa que el estimador de la integral sigue siendo:
pero los puntos xi siguen la distribución ρ, en lugar de estar
uniformemente distribuidos en el intervalo de integración.
La generación de numero (pseudo-)aleatorios no uniformes es
un tema extenso.
En general es mas simple generar números aleatorios
uniformemente distribuidos en un cierto intervalo, que por
simplicidad se acostumbra tomar el intervalo [0, 1].
17. Distribuciones no uniformes
Una método muy útil de evaluar una integral pesada sobre una
distribución no uniforme utilizando una uniforme es a través de
un cambio de variables (método de la transformación):
Sin embargo no siempre la transformación
es una función analítica o analíticamente invertible.
18. Distribuciones no uniformes
Otro método que siempre es posible aplicar fue ideado por
John von Neumann y es conocido como el método del
rechazo (o ensayo y error).
Un gran problema de este método se observa cuando el area
de rechazo es mucho mayor que la de aceptación. En tal caso
se pierde mucho tiempo generando puntos que serán
rechazados.
19. El método del rechazo
Sea [a, b] el intervalo de valores de la variable x, y ρmax el
máximo de la densidad de probabilidad ρ(x).
1. Se generan dos números aleatorios, x ∈ [a,b] y y ∈ [0, ρmax].
2. Si y < ρ(x), acepta a x como próximo numero aleatorio, de lo
contrario repite el paso 1.
20. Otros métodos de IMC
Muchos otros métodos de integración por Monte Carlo han
sido ideados para reducir el error. Entre los que vale la pena
nombrar se encuentran:
Muestreo estratificado.
Muestreo adaptativo.
Quasi-Monte Carlo.
21. Mecánica estadística en una ecuación
La conexión del método con los problemas físicos se
encuentra a través de los promedios de ensamble:
Promedio
Distribución del ensamble
Resulta también
temporales :
conveniente
Punto en el espacio de fase
definir
los
promedios
(temporal no necesariamente indica tiempo “físico”)
22. Mecánica estadística en una ecuación
Si el tamaño del sistema es los suficientemente grande (limite
termodinámico) y el tiempo de simulación los suficientemente
largos (hipótesis ergódica) el promedio de ensamble y el
promedio temporal serán aproximadamente iguales.
(postulado)
Pero al intentar determinar los promedios con el método de
integración por Monte Carlo surgen algunos problemas:
1. Tenemos justamente el problema del que padece el método
de rechazo.
2. Desconocemos la normalización de la distribución (la
función de partición).
23. Monte Carlo por cadenas de Markov
Con la finalidad solucionar estos problemas, en 1953 se
desarrollo el método de Metropolis, el cual abandona la idea
de generar configuraciones estadísticamente independientes.
En una secuencia de eventos aleatorios (cadena aleatoria) la
probabilidad de ocurrencia de N objetos {Xn} es
estadísticamente independiente:
Pero la idea de Metropolis fue usar cadenas de Markov en
lugar de cadenas aleatorias. En las cadenas de Markov la
probabilidad de una configuración depende de la anterior.
24. Monte Carlo por cadenas de Markov
Una cadena de Markov esta definida en términos de
probabilidades de transición de un objeto Xi al siguiente
objeto en la secuencia Xj. La probabilidad de tener una
secuencia de objectos {Xn} es entonces:
donde las probabilidades de transición están normalizadas:
Los métodos de Monte Carlo por cadenas de Markov
consisten en la generación de una cadena de Markov de
configuraciones cuya distribución corresponde con una cierta
distribución invariante deseada.
25. Monte Carlo por cadenas de Markov
Entonces el problema es determinar cual es la “matrix” de
probabilidad de transición T(Xi → Xj) que corresponde con la
distribución ρ(X).
Para resolver este problema se introduce una dependencia
temporal (paso Markoviano) en la distribución ρ(X, t).
El cambio de la distribución de un paso Markoviano a otro
esta gobernado por dos (2) procesos:
1. Ir de la configuración X en el instante t a X' en instante
t+1, conllevando a una disminución de ρ(X).
2. Ir de la configuración X' en el instante t a X en instante
t+1, conllevando a un aumento de ρ(X).
26. Monte Carlo por cadenas de Markov
Lo que se puede representar con la formula:
conocida como ecuación maestra.
Pero estamos interesados en distribuciones invariantes,
y por lo tanto:
En general es difícil encontrar soluciones de esta ecuación,
pero una de ellas se reconoce de inmediato.
27. Monte Carlo por cadenas de Markov
Esta solución es:
conocida como condición de balance detallado.
Es conveniente reformular el balance detallado al escribir la
probabilidad de transición como:
donde ω es una matrix simétrica y satisface:
28. Monte Carlo por cadenas de Markov
Entonces, la condición de balance detallado se reduce a:
Con la finalidad de construir un algoritmo, se usa ωij como la
probabilidad en un paso de ensayo y Aij como la probabilidad
de aceptación del ensayo.
Esto significa que el algoritmo consiste de dos (2) etapas.
29. Metropolis
En el algoritmo ideado por Metropolis, estas dos (2) etapas
consistente en:
1. Dada una configuración Xi, se propone un nuevo estado Xj
con una probabilidad ωij.
2. Se comparan los “pesos” de la vieja [ρ(Xi)] y la nueva
[ρ(Xj)] configuración:
(regla asimétrica)
y se acepta la nueva configuración Xj con probabilidad Aij.
Si la configuración Xj es aceptado, esta remplaza a Xi. De lo
contrario el sistema permanece en la configuración Xi.
30. Metropolis
La pregunta que queda pendiente es entonces ¿como se
aceptan la configuraciones con probabilidad Aij?
Esto se lleva acabo generando un numero aleatorio r
uniformemente distribuido en [0, 1]. si r < Aij entonces la
configuración es aceptada.
Finalmente los promedios de ensamble de cantidades físicas
son determinadas durante la simulación como promedios
temporales:
donde n0 es el tiempo (pasos Markovianos) antes de alcanzar
el equilibrio.
31. Monte Carlo por cadenas de Markov
¿Como es que este método soluciona los problemas de la
integración por Monte Carlo?
En los métodos de Monte Carlo por cadenas de Markov se
consideran la transición entre estados causando que no sea
necesario conocer la función de partición.
32. Monte Carlo por cadenas de Markov
Ademas de Metropolis, existen otros algoritmos que entran
dentro de la clasificación de Métodos de Monte Carlo por
cadenas de Markov. Entre ellos se encuentran:
El Algoritmo de Barker.
Metropolis generalizado.
33. Monte Carlo por cadenas de Markov
El Algoritmo de baño térmico.
En este algoritmo se asume que en el paso de ensayo se
considera uno o pocos grados de libertad del sistema,
dejando el resto fijos.
Si estos pocos grados de libertad son simbólicamente
representados por x y los que permanecen fijos por X – x
se tiene:
El proceder de esta manera es equivalente a aplicar un
numero infinitos de pasos de Metropolis a x
sucesivamente con X – x grados de libertad fijos.
34. Monte Carlo en el ensamble (NVT)
No es difinir notar que si la energía potencial (UN) depende
únicamente de la configuración del sistema {rN}, los promedios
de ensamble son integrales sobre el espacio de configuración.
En el ensamble canónico tenemos:
y en el paso de aceptación en Metropolis:
35. Monte Carlo en el ensamble (NPT)
En el ensamble isobárico-isotérmico tenemos:
Como el volumen puede variar se debe extender la noción de
configuración de manera de incluir tanto al volumen como a las
posiciones.
Una manera de construir una cadena de Markov en la que se
permita la variación del volume, es considerando un cubo de
volumen L×L×L y re-escalando las posiciones de acuerdo con:
de forma que los vectores si están dentro de un cubo de lado
de longitud 1.
36. Monte Carlo en el ensamble (NPT)
Al sustituir en el promedio de ensamble se tiene:
Asi, cuando se cambia el volumen, los vectores si permanecen
iguales; y el cambio en las posiciones reales ri es tomado en
cuenta tanto en VN como en L.
Entonces en el paso de ensayo de MCMC consiste en escocer
entre mover una partícula o cambiar el volumen, y el paso de
aceptación en Metropolis consiste en:
37. Monte Carlo en el ensamble (µVT)
En el ensamble gran-canónico tenemos:
En este ensamble es claro que la configuración esta definida
por el numero de partículas N y sus posiciones R.
Entonces en el paso de ensayo de MCMC consiste en escocer
entre mover una partícula, permitir la creación de una partícula
en una posición aleatoria o la destrucción de una partícula
seleccionada al azar. (Algoritmo de Norman-Filinov)
38. Monte Carlo en el ensamble (µVT)
En detalle:
1.En la etapa de ensayo, se selecciona al azar si se va a
mover una partícula, crear una partícula o destruir una
partícula.
En caso de crear una partícula, se selecciona una
posición al azar dentro del volumen y su creación es
aceptada en la etapa de aceptación por:
En caso de aniquilar una partícula, se selecciona una
partícula al azar y su aniquilación es aceptada en la
etapa de aceptación por:
39. Monte Carlo en el ensamble (µVT)
En caso de mover una partícula, se propone una
nueva posición dentro del volumen y se acepta según:
40. Monte Carlo en el ensamble (EVT)
Simulaciones con métodos de Monte Carlo en el ensamble
micro-canónico son poco frecuentes.
En el ensamble micro-canónico tenemos:
Inicialmente se coloca el sistema de tal forma que E > U(R). Y se
agrega un grado de libertad ficticio adicional ED = E – U(R) que se
puede ver como el “resto” de energía.
En la etapa de aceptación, si ΔU < 0 entonces se acepta la nueva
configuración y se aumenta el “resto” en una cantidad |ΔU|.
En caso que ΔU > 0, si el resto tiene suficiente energía, entonces
es aceptada la nueva configuración y el “resto” disminuido en una
cantidad |ΔU|.
41. Problemas en el calculo de la energía libre
La energía libres, el potencial químico y la entropía son
cantidades que no pueden medidas “físicamente”. Por el
contrario solo pueden ser calculados como promedios de
ensamble.
Como ejemplo, consideremos la energía libre de Helmholtz, que
esta relacionada con la función de partición del ensamble
canónico por:
De donde es fácil ver:
42. Problemas en el calculo de la energía libre
Esto es un resultado
¡CATASTRÓFICO!
La idea de muestro por importancia resulta muy mala en este
caso. Se le da mas importancia a las configuraciones que
menos contribuyen a la integral.
¡El efecto es opuesto al deseado!
Si se intenta calcular la energía libre u otra cantidad que sufra
de esto, como el potencial químico, se observa que el método
converge muy lentamente al resultado correcto.
43. Problemas en el calculo de la energía libre
Hasta la fecha no se conoce un método general que permita
calcular eficientemente la energía libre de Helmholtz.
En caso de tener un sistema sobre un arreglo (lattice) es
posible proceder al calculo de las energías libres y el potencial
químico a través un método conocido como matriz de
transferencia.
Cuando el sistema no es adecuado para utilizar el método de
matriz de transferencia, es posible aliviar el problema del
calculo si basta con calcular diferencia de energía libre entre
sistemas similares.
Supóngase dos sistemas con interacciones descritas por los
potenciales U0 y U1 respectivamente.
44. Problemas en el calculo de la energía libre
Al escribir la funciones de partición respectivas se tiene:
y la variación de energía libre de Helmholtz esta dada por la
ecuación de Zwanzig (1954):
La aplicación de esta formula esta restringida a sistema en los
cuales las regiones que tienden a ocupar en el espacio de fase
se superponen.
45. Pros y contras de los métodos de Monte Carlo
Ventajas.
– Conceptualmente simple.
– Fácil de implementar.
– Produce resultados certeros estadísticamente.
Desventajas.
– No proporciona información sobre la dinámica.
– Requiere muchas evaluaciones de la energía.
– No es fácil calcular la energía libre, el potencial
químico y la entropía.
46. Métodos de Monte Carlo cuánticos
La mayoría de los problemas de gran interés en mecánica
cuántica (atómicos, moleculares, física del estado solido)
consisten en un gran numero de electrones, iones y/o
nucleones que interactuan.
El numero de partículas N involucradas en el problema es por
lo general lo suficientemente grande que una solución exacta
del problema no sea posible.
Los métodos de Monte Carlo cuántico (QMC) consisten en la
aplicación de la idea detrás de los métodos de Monte Carlo a
sistemas cuánticos de mucho cuerpos.
47. Promedios cuánticos y Monte Carlo
Los promedios de cantidades físicas (observables) en el
sistema están dados por:
Pero es posible re-acomodar la expresión como:
Distribución
Operador local
48. Monte Carlo variacional
Siguiendo la filosofía de los métodos de Monte Carlo los
promedios pueden ser estimados por promedios temporales:
Uno de los primeros, y el mas simple, de los métodos de
Monte Carlo cuántico es conocido como Monte Carlo
variacional (VMC).
Este método es una forma estocástica de determinar los
valores de expectación de observable dada una función de
prueba.
49. Monte Carlo variacional
Con VMC solo es posible obtener las propiedades exactas del
sistema si la función de onda de prueba es exactamente la
función de onda del problema.
Para el estado base este método es simplemente el método
varicional.
Para recordar en que consiste el método variacional,
considérese un sistema físico con Hamiltoniano independiente
del tiempo H. Si por simplicidad se asume que todo el espectro
de H es discreto y no degenerado, tenemos que:
50. Monte Carlo variacional
Un estado arbitrario se puede representar en la base de
auto-estados del Hamiltoniano:
Entonces,
Con lo que se concluye que:
51. Monte Carlo variacional
Bajo la filosofía de Monte Carlo, se necesita calcular la energía
local del sistema:
para determinar el valor de expectación:
Mientras mas cerca esta ψT de ser una auto-función del
Hamiltoniano, menos varia EL con respecto a R.
Sabiendo esto, el problema ya puede ser tratado con algoritmo
de Metropolis.
52. Monte Carlo variacional
Un ejemplo en el cual resulta útil VMC, es en la estimación de
energía de estado base de sistemas atómicos y moleculares.
Para átomos es muy común tomar una función de prueba de la
forma:
donde las D's son determinantes de Slater de los electrones
con spin hacia arriba y hacia abajo respectivamente, y los
parámetros α y β son determinados por un algoritmo de
minimizarción de la energía (calculada a través de Metropolis).
El termino exponencial recibe el nombre de Padé-Jastrow y es
donde se toma en cuenta interacción electron-electron.
53. Monte Carlo variacional
En general para llevar a cabo un calculo relativamente bueno a
través de VMC es necesario un buen conocimiento del
sistema.
Esto no es siempre el caso, por ello es común que VMC sirva
solo como punto de partida para métodos mas elaborados
como Monte Carlo difusivo.
En el método de Monte Carlo difusivo no es necesaria una
función de prueba, sin embargo es necesario tener un perfil de
partida de esta bastante bueno.
Pero DMC sufre de un problema grave, para que el método
funcione es necesario que la función de onda sea positiva, y
eso no es verdad en general para los sistemas de fermiones.