Articulo de referencia

Algoritmo de Wang y Landau

El algoritmo de Wang y Landau , propuesto por Fugao Wang y David P. Landau , [ 1 ] [ 2 ] [ 3 ] es un método de Monte Carlo diseñado para estimar la densidad de estados de un sis...

El algoritmo de Wang y Landau , propuesto por Fugao Wang y David P. Landau , [ 1 ] [ 2 ] [ 3 ] es un método de Monte Carlo diseñado para estimar la densidad de estados de un sistema. El método realiza un paseo aleatorio no markoviano para construir la densidad de estados recorriendo rápidamente todo el espectro de energía disponible. El algoritmo de Wang y Landau es un método importante para obtener la densidad de estados necesaria para realizar una simulación multicanónica .

El algoritmo de Wang-Landau puede aplicarse a cualquier sistema caracterizado por una función de coste (o energía). Por ejemplo, se ha aplicado a la solución de integrales numéricas [ 4 ] y al plegamiento de proteínas. [ 5 ] [ 6 ] El muestreo de Wang-Landau está relacionado con el algoritmo de metadinámica . [ 7 ]

Descripción general

El algoritmo de Wang y Landau se utiliza para obtener una estimación de la densidad de estados de un sistema caracterizado por una función de coste. Emplea un proceso estocástico no markoviano que converge asintóticamente a un conjunto multicanónico [ 1 ] (es decir, a un algoritmo de Metropolis-Hastings con una distribución de muestreo inversa a la densidad de estados). La principal consecuencia es que esta distribución de muestreo conduce a una simulación donde las barreras de energía son invisibles. Esto significa que el algoritmo visita todos los estados accesibles (favorables y menos favorables) mucho más rápido que un algoritmo de Metropolis [ 8 ] .

Algoritmo

Consideremos un sistema definido en un espacio de fases.Ω{\displaystyle \Omega }y una función de coste,mi{\displaystyle E}(la energía), limitada en un espectromiΓ=[mimin,mimáximo]{\displaystyle E\in \Gamma =[E_{\min },E_{\max }]}.mi{\displaystyle E}tiene una densidad de estados asociada,ρ(mi){\displaystyle \rho (E)}, que debe ser estimado. El estimador esρ^(mi)exp(S(mi)){\displaystyle {\hat {\rho }}(E)\equiv \exp(S(E))}. Debido a que el algoritmo de Wang y Landau funciona en espectros discretos, [ 1 ] el espectroΓ{\displaystyle \Gamma }está dividido ennorte{\displaystyle N}valores discretos con una diferencia entre ellos deΔ{\displaystyle \Delta }, de tal manera que

Δ=mimáximomiminnorte{\displaystyle \Delta ={\frac {E_{\max }-E_{\min }}{N}}}.

Dado este espectro discreto, el algoritmo se inicializa de la siguiente manera:

  • estableciendo a cero todas las entradas de la entropía microcanónica,S(mii)=0  i=1,2,...,norte{\displaystyle S(E_{i})=0\ \ i=1,2,...,N}
  • inicializandoF=1{\displaystyle f=1}y
  • inicializando el sistema aleatoriamente, introduciendo una configuración aleatoria.rΩ{\displaystyle {\boldsymbol {r}}\in \Omega }.

El algoritmo realiza entonces una simulación de conjunto multicanónico : [ 1 ] un paseo aleatorio de Metropolis-Hastings en el espacio de fases del sistema con una distribución de probabilidad dada porPAG(r)=1/ρ^(mi(r))=exp(S(mi(r))){\displaystyle P({\boldsymbol {r}})=1/{\hat {\rho }}(E({\boldsymbol {r}}))=\exp(-S(E({\boldsymbol {r}})))}y una probabilidad de proponer un nuevo estado dada por una distribución de probabilidadgramo(rr){\displaystyle g({\boldsymbol {r}}\rightarrow {\boldsymbol {r}}')}Un histogramaH(mi){\displaystyle H(E)}Se almacena la información sobre las energías visitadas. Al igual que en el algoritmo de Metropolis-Hastings, se realiza un paso de aceptación de propuestas, que consiste en (véase la descripción general del algoritmo de Metropolis-Hastings ):

  1. proponiendo un estadorΩ{\displaystyle {\boldsymbol {r}}'\in \Omega }según la distribución de propuestas arbitrariasgramo(rr){\displaystyle g({\boldsymbol {r}}\rightarrow {\boldsymbol {r}}')}
  2. aceptar/rechazar el estado propuesto según
A(rr)=min(1,miSSgramo(rr)gramo(rr)){\displaystyle A({\boldsymbol {r}}\rightarrow {\boldsymbol {r}}')=\min \left(1,e^{SS'}{\frac {g({\boldsymbol {r}}'\rightarrow {\boldsymbol {r}})}{g({\boldsymbol {r}}\rightarrow {\boldsymbol {r}}')}}\right)}
dóndeS=S(mi(r)){\displaystyle S=S(E({\boldsymbol {r}}))}yS=S(mi(r)){\displaystyle S'=S(E({\boldsymbol {r}}'))}.

Después de cada paso de aceptación de la propuesta, el sistema transita a algún valor.mii{\displaystyle E_{i}},H(mii){\displaystyle H(E_{i})}se incrementa en uno y se realiza la siguiente actualización:

S(mii)S(mii)+F{\displaystyle S(E_{i})\leftarrow S(E_{i})+f}.

Este es el paso crucial del algoritmo, y es lo que hace que el algoritmo de Wang y Landau no sea markoviano: el proceso estocástico ahora depende de la historia del proceso. Por lo tanto, la próxima vez que haya una propuesta a un estado con esa energía en particularmii{\displaystyle E_{i}}, ahora es más probable que se rechace esa propuesta; en este sentido, el algoritmo obliga al sistema a visitar todo el espectro por igual. [ 1 ] La consecuencia es que el histogramaH(mi){\displaystyle H(E)}es cada vez más plano. Sin embargo, esta planitud depende de cuán bien se aproxime la entropía calculada a la entropía exacta, que naturalmente depende del valor de f. [ 9 ] Para aproximar cada vez mejor la entropía exacta (y por lo tanto la planitud del histograma ), f se disminuye después de M pasos de propuesta-aceptación:

FF/2{\displaystyle f\leftarrow f/2}.

Posteriormente se demostró que actualizar f dividiendo constantemente por dos puede conducir a errores de saturación. [ 9 ] Una pequeña modificación al método de Wang y Landau para evitar este problema es utilizar el factor f proporcional a1/t{\displaystyle 1/t}, dóndet{\displaystyle t}es proporcional al número de pasos de la simulación. [ 9 ]

Sistema de prueba

Queremos obtener la densidad de estados (DOS) para el potencial del oscilador armónico .

mi(incógnita)=incógnita2,{\displaystyle E(x)=x^{2},\,}

La DOS analítica viene dada por,

ρ(mi)=δ(mi(incógnita)mi)dincógnita=δ(incógnita2mi)dincógnita,{\displaystyle \rho (E)=\int \delta (E(x)-E)\,dx=\int \delta (x^{2}-E)\,dx,}

Al realizar la última integral obtenemos

ρ(mi){mi1/2,para incógnitaR1constante,para incógnitaR2mi1/2,para incógnitaR3{\displaystyle \rho (E)\propto {\begin{cases}E^{-1/2},{\text{para }}x\in \mathbb {R} ^{1}\\{\text{const}},{\text{para }}x\in \mathbb {R} ^{2}\\E^{1/2},{\text{para }}x\in \mathbb {R} ^{3}\\\end{cases}}}

En general, la densidad de estados (DOS) para un oscilador armónico multidimensional vendrá dada por alguna potencia de E , cuyo exponente será una función de la dimensión del sistema.

Por lo tanto, podemos usar un potencial de oscilador armónico simple para probar la precisión del algoritmo de Wang-Landau porque ya conocemos la forma analítica de la densidad de estados. Por consiguiente, comparamos la densidad de estados estimada.ρ^(mi){\displaystyle {\hat {\rho }}(E)}obtenido mediante el algoritmo de Wang-Landau conρ(mi){\displaystyle \rho (E)}.

Código de ejemplo

A continuación se muestra un código de ejemplo del algoritmo de Wang-Landau en Python , donde asumimos que se utiliza una distribución de propuesta simétrica g:

gramo(incógnitaincógnita)=gramo(incógnitaincógnita){\displaystyle g({\boldsymbol {x}}'\rightarrow {\boldsymbol {x}})=g({\boldsymbol {x}}\rightarrow {\boldsymbol {x}}')}

El código considera un "sistema", que es el sistema subyacente que se está estudiando.

energía_actual = sistema.configuración_aleatoria ( ) # Una configuración inicial aleatoriaMientras f > épsilon : system.propos_configuration () # Se propone una configuración propuesta proposed_energy = system.proposed_energy ( ) # Se calcula la energía de la configuración propuestaif random () < exp ( entropy [ current_energy ] - entropy [ proposed_energy ]): # Si se acepta, actualiza la energía y el sistema: current_energy = proposed_energy system.accept_proposed_configuration () else : # Si se rechaza system.reject_proposed_configuration ( )H [ energía_actual ] += 1 entropía [ energía_actual ] += fif is_flat ( H ): # is_flat comprueba si el histograma es plano (por ejemplo, 95% de planitud) H [:] = 0 f *= 0.5 # Refinar el parámetro f

Implementaciones paralelas

El algoritmo de Wang-Landau se presta a la paralelización (utilizando múltiples núcleos de CPU y/o GPU para mejorar el rendimiento de la simulación) de tres maneras clave. Primero, el dominio de energía puede dividirse en varios subdominios de energía más pequeños, con un caminante de Wang-Landau independiente que recopila estadísticas en cada subdominio. [ 2 ] (En este caso, la DOS global se recupera periódicamente a partir de la DOS local). Estos subdominios de energía pueden elegirse para que sean no uniformes en tamaño, para asegurar una mayor concentración de caminantes en regiones donde la densidad de estados es más difícil de converger. [ 10 ] Segundo, en un dominio de energía dado, múltiples caminantes de Wang-Landau independientes pueden recopilar estadísticas que luego se combinan. [ 2 ] [ 11 ] Tercero, en el caso de que se utilicen múltiples subdominios de energía, una superposición entre subdominios de energía facilita el intercambio de réplicas , es decir , el intercambio de caminantes de un subdominio de energía a otro, lo que puede mejorar la exploración del espacio de configuración. [ 12 ] [ 13 ] [ 14 ]

Dinámica molecular de Wang y Landau: Dinámica molecular de temperatura estadística (STMD)

La dinámica molecular (DM) suele ser preferible a la de Monte Carlo (MC), por lo que es deseable contar con un algoritmo de DM que incorpore la idea básica de WL para el muestreo de energía plana. Dicho algoritmo es la Dinámica Molecular de Temperatura Estadística (STMD), desarrollada [ 15 ] por Jaegil Kim et al. en la Universidad de Boston.

Se dio un primer paso esencial con el algoritmo de Monte Carlo de temperatura estadística (STMC). WLMC requiere un aumento extenso en el número de intervalos de energía con el tamaño del sistema, causado por trabajar directamente con la densidad de estados. STMC se centra en una cantidad intensiva, la temperatura estadística,T(mi)=1/(dS(mi)/dmi){\displaystyle T(E)=1/(dS(E)/dE)}, donde E es la energía potencial. Cuando se combina con la relación,Ω(mi)=miS(mi){\displaystyle \Omega (E)=e^{S(E)}}, donde nos instalamoskB=1{\displaystyle k_{B}=1}, la regla WL para actualizar la densidad de estados proporciona la regla para actualizar la temperatura estadística discretizada,

T~j±1=αj±1T~j±1,{\displaystyle {\tilde {T}}_{j\pm 1}^{\prime }=\alpha _{j\pm 1}{\tilde {T}}_{j\pm 1},}

dóndeαj±1=1/(1δFT~j±1),δF=(lnF/2Δmi),Δmi{\displaystyle \alpha _{j\pm 1}=1/(1\mp \delta f{\tilde {T}}_{j\pm 1}),\delta f=(\ln f/2\Delta E),\Delta E}es el tamaño del contenedor de energía, yT~{\displaystyle {\tilde {T}}}denota la estimación móvil. Definimos f como en, [ 1 ] un factor >1 que multiplica la estimación de la DOS para el i-ésimo intervalo de energía cuando el sistema visita una energía en ese intervalo.

Los detalles se dan en la Ref. [ 15 ] Con una suposición inicial paraT(mi){\displaystyle T(E)}y el rango restringido a estar entreTL{\displaystyle T_{L}}yTU{\displaystyle T_{U}}, la simulación procede como en WLMC, con diferencias numéricas significativas. Una interpolación deT~(mi){\displaystyle {\tilde {T}}(E)}proporciona una expresión continua de la estimaciónS(mi){\displaystyle S(E)}al integrar su inversa, lo que permite el uso de intervalos de energía más grandes que en WL. Diferentes valores deS(mi){\displaystyle S(E)}están disponibles dentro del mismo intervalo de energía al evaluar la probabilidad de aceptación. Cuando las fluctuaciones del histograma son menores al 20% de la media,F{\displaystyle f} se reduce segúnFF{\displaystyle f\rightarrow {\sqrt {f}}}.

STMC se comparó con WL para el modelo de Ising y el líquido de Lennard-Jones. Al aumentar el tamaño del intervalo de energía, STMC obtiene los mismos resultados en un rango considerable, mientras que el rendimiento de WL se deteriora rápidamente. STMD puede utilizar valores iniciales más pequeños deFd=F1{\displaystyle f_{d}=f-1}para una convergencia más rápida. En resumen, STMC necesita menos pasos para obtener la misma calidad de resultados.

Ahora consideremos el resultado principal, STMD. Se basa en la observación de que en una simulación MD estándar a temperaturaT0{\displaystyle T_{0}}con fuerzas derivadas de la energía potencialmi([incógnita]){\displaystyle E([x])}, dónde[incógnita]{\displaystyle [x]}denota todas las posiciones, el peso de muestreo para una configuración esmimi([incógnita])/T0{\displaystyle e^{-E([x])/T_{0}}}Además, si las fuerzas se derivan de una funciónW(mi){\displaystyle W(E)}, el peso del muestreo esmiW(mi([incógnita]))/T0{\displaystyle e^{-W(E([x]))/T_{0}}}.

Para el muestreo de energía plana, sea el potencial efectivoT0S(mi){\displaystyle T_{0}S(E)}- dinámica molecular entrópica. Entonces el peso esmiS(mi){\displaystyle e^{-S(E)}}. Dado que la densidad de estados esmi+S(mi){\displaystyle e^{+S(E)}}Su producto ofrece un muestreo de energía plano.

Las fuerzas se calculan como

F=(d/dincógnita)T0S(mi)=T0(dS/dmi)(d/dincógnita)mi([incógnita])=(T0/T(mi))F0{\displaystyle F=(-d/dx)T_{0}S(E)=T_{0}(dS/dE)(-d/dx)E([x])=(T_{0}/T(E))F^{0}}

dóndeF0{\displaystyle F^{0}}denota la fuerza usual derivada de la energía potencial. Escalando las fuerzas usuales por el factor(T0/T(mi)){\displaystyle (T_{0}/T(E))}produce un muestreo de energía plano.

STMD comienza con un algoritmo MD ordinario a velocidad constante.T0{\displaystyle T_{0}}y V. Las fuerzas se escalan como se indica, y la temperatura estadística se actualiza en cada paso de tiempo, utilizando el mismo procedimiento que en STMC. A medida que la simulación converge al muestreo de energía plano, la estimación en cursoT~(mi){\displaystyle {\tilde {T}}(E)}converge a la verdaderaT(mi){\displaystyle T(E)}Los detalles técnicos, incluidos los pasos para acelerar la convergencia, se describen en [ 15 ] y [ 16 ] .

En STMDT0{\displaystyle T_{0}}se denomina temperatura cinética ya que controla las velocidades como de costumbre, pero no entra en el muestreo configuracional, lo cual es inusual. Por lo tanto, STMD puede sondear bajas energías con partículas rápidas. Cualquier promedio canónico se puede calcular con reponderación, pero la temperatura estadística,T(mi){\displaystyle T(E)}, está disponible de inmediato sin análisis adicional. Es extremadamente valioso para estudiar transiciones de fase. En nanosistemas finitosT(mi){\displaystyle T(E)}tiene una característica correspondiente a cada "transición de subfase". Para una transición suficientemente fuerte, una construcción de área igual en un bucle S en1/T(mi){\displaystyle 1/T(E)}da la temperatura de transición.

STMD ha sido perfeccionado por el grupo BU, [ 16 ] y aplicado a varios sistemas por ellos y otros. D. Stelter reconoció que, a pesar de nuestro énfasis en trabajar con cantidades intensivas,ln(F){\displaystyle \ln(f)}es extenso. Sin embargoδF=(ln(F)/2Δmi){\displaystyle \delta f=(\ln(f)/2\Delta E)}es intensivo y el procedimientoFF{\displaystyle f\rightarrow {\sqrt {f}}}basado en la planitud del histograma se reemplaza por corteδF{\displaystyle \delta f}a la mitad cada número fijo de pasos de tiempo. Este simple cambio hace que STMD sea totalmente intensivo y mejora sustancialmente el rendimiento para sistemas grandes. [ 16 ] Además, el valor final del intensivoδF{\displaystyle \delta f}es una constante que determina la magnitud del error en la convergenciaT(mi){\displaystyle T(E)}y es independiente del tamaño del sistema. STMD se implementa en LAMMPS como fix stmd.

La simulación STMD es particularmente útil para las transiciones de fase. Es imposible obtener información de equilibrio con una simulación canónica, ya que se requiere sobreenfriamiento o sobrecalentamiento para que se produzca la transición. Sin embargo, una simulación STMD obtiene un muestreo de energía uniforme con una progresión natural de calentamiento y enfriamiento, sin quedar atrapado en el estado de baja o alta energía. Más recientemente, se ha aplicado a la transición fluido/gel [ 16 ] en nanopartículas recubiertas de lípidos.

El intercambio de réplicas STMD [ 17 ] también ha sido presentado por el grupo BU.

Referencias

  1. 1 2 3 4 5 6 Wang, Fugao y Landau, DP (marzo de 2001). "Algoritmo eficiente de caminata aleatoria de rango múltiple para calcular la densidad de estados". Phys . Rev. Lett . 86 (10): 2050–2053 . arXiv : cond-mat/0011174 . Bibcode : 2001PhRvL..86.2050W . doi : 10.1103/PhysRevLett.86.2050 . PMID 11289852. S2CID 2941153 .  
  2. 1 2 3 Wang, Fugao; Landau, DP (2001-10-17). "Determinación de la densidad de estados para modelos estadísticos clásicos: un algoritmo de paseo aleatorio para producir un histograma plano" . Physical Review E. 64 ( 5). arXiv : cond-mat/0107006 . doi : 10.1103/PhysRevE.64.056101 . ISSN 1063-651X . 
  3. Landau, DP; Tsai, Shan-Ho; Exler, M. (2004-10-01). "Un nuevo enfoque para las simulaciones de Monte Carlo en física estadística: muestreo de Wang-Landau" . American Journal of Physics . 72 (10): 1294– 1302. doi : 10.1119/1.1707017 . ISSN 0002-9505 . 
  4. RE Belardinelli y S. Manzi y VD Pereyra (dic. 2008). "Análisis de la convergencia de los algoritmos 1/t y Wang-Landau en el cálculo de integrales multidimensionales". Phys. Rev. E . 78 (6) 067701. arXiv : 0806.0268 . Bibcode : 2008PhRvE..78f7701B . doi : 10.1103/PhysRevE.78.067701 . PMID 19256982 . S2CID 8645288 .  
  5. P. Ojeda y M. Garcia y A. Londono y NY Chen (feb. 2009). "Simulaciones de Monte Carlo de proteínas en jaulas: influencia del confinamiento en la estabilidad de los estados intermedios" . Biophys. J. 96 ( 3): 1076– 1082. arXiv : 0711.0916 . Bibcode : 2009BpJ....96.1076O . doi : 10.1529 / biophysj.107.125369 . PMC 2716574. PMID 18849410 .  
  6. P. Ojeda y M. Garcia (julio de 2010). "Interrupción inducida por campo eléctrico de la conformación de una proteína de lámina beta nativa y generación de una estructura de hélice alfa" . Biophys . J. 99 ( 2): 595–599 . Bibcode : 2010BpJ....99..595O . doi : 10.1016/j.bpj.2010.04.040 . PMC 2905109. PMID 20643079 .  
  7. Christoph Junghans, Danny Perez y Thomas Vogel. «Dinámica molecular en el conjunto multicanónico: equivalencia del muestreo de Wang-Landau, la dinámica molecular de temperatura estadística y la metadinámica». Journal of Chemical Theory and Computation 10.5 (2014): 1843-1847. doi : 10.1021/ct500077d
  8. Berg, B.; Neuhaus, T. (1992). "Ensamble multicanónico: Un nuevo enfoque para simular transiciones de fase de primer orden". Physical Review Letters . 68 (1): 9– 12. arXiv : hep-lat/9202004 . Bibcode : 1992PhRvL..68....9B . doi : 10.1103/PhysRevLett.68.9 . PMID 10045099 . S2CID 19478641 .  
  9. 1 2 3 Belardinelli, RE y Pereyra, VD (2007). "Algoritmo de Wang-Landau: Un análisis teórico de la saturación del error". The Journal of Chemical Physics . 127 (18): 184105. arXiv : cond-mat/0702414 . Bibcode : 2007JChPh.127r4105B . doi : 10.1063/1.2803061 . PMID 18020628 . S2CID 25162388 .  
  10. Naguszewski, Hubert J.; Woodgate, Christopher D.; Quigley, David (2026-07-01). "Estrategias óptimas de paralelización para el muestreo Monte Carlo de histograma plano" . Computer Physics Communications . 324 110125. doi : 10.1016/j.cpc.2026.110125 . hdl : 1983/0be4a5d6-c077-4aee-b055-6146332c0fa1 . ISSN 0010-4655 . 
  11. Yin, Junqi; Landau, DP (1 de agosto de 2012). "Muestreo de Wang-Landau masivamente paralelo en múltiples GPU" . Computer Physics Communications . 183 (8): 1568–1573 . doi : 10.1016/j.cpc.2012.02.023 . ISSN 0010-4655 . 
  12. Valentim, Alexandra; Rocha, Julio CS; Tsai, Shan-Ho; Li, Ying Wai; Eisenbach, Markus; Fiore, Carlos E; Landau, David P (2015-09-28). "Explorando el muestreo de Wang-Landau de intercambio de réplicas en un espacio de parámetros de dimensión superior" . Journal of Physics: Conference Series . 640 012006. arXiv : 1508.02748 . doi : 10.1088/1742-6596/640/1/012006 . ISSN 1742-6588 . 
  13. Vogel, Thomas; Li, Ying Wai; Wüst, Thomas; Landau, David P. (2014-08-05). "Marco de intercambio de réplicas escalable para el muestreo de Wang-Landau" . Physical Review E. 90 ( 2). arXiv : 1407.5140 . doi : 10.1103/PhysRevE.90.023302 . ISSN 1539-3755 . 
  14. Vogel, Thomas; Li, Ying Wai; Wüst, Thomas; Landau, David P. (22 de mayo de 2013). "Marco genérico y jerárquico para el muestreo de Wang-Landau masivamente paralelo" . Physical Review Letters . 110 (21). arXiv : 1305.5615 . doi : 10.1103/PhysRevLett.110.210603 . ISSN 0031-9007 . 
  15. 1 2 3 Kim, Jaegil; Straub, John y Keyes, Tom (agosto de 2006). "Algoritmos de Monte Carlo y dinámica molecular de temperatura estadística". Phys. Rev. Lett . 97 (5): 50601– 50604. doi : 10.1103/PhysRevLett.97.050601 .
  16. 1 2 3 4 Stelter, David y Keyes, Tom (2019). "Simulación del equilibrio de fase fluido/gel en vesículas lipídicas". Soft Matter . 15 : 8102–8112 . doi : 10.1039/c9sm00854c .
  17. Kim, Jaegil; Straub, John y Keyes, Tom (abril de 2012). "Algoritmo de dinámica molecular de temperatura estadística de intercambio de réplicas" . Journal of Physical Chemistry B. 116 : 8646–8653 . doi : 10.1021 /jp300366j . PMC 11240102 .