Pasos de Monte Carlo en el algoritmo Metropolis del modelo Ising

En el libro de K.Binder Monte Carlo Simulation in Statistical Physics 4th ed., un paso de Monte Carlo se define como "un barrido a través de la red". Sin embargo, en muchos otros libros y artículos, el paso de Monte Carlo se usa para referirse al barrido en un solo giro. ¿Son equivalentes estos dos métodos: seleccionar el giro en la red al azar uno por uno o atravesar la red (por ejemplo, usando un forbucle)?

En realidad, estos dos métodos darán resultados similares en mi simulación, pero ¿hay alguna prueba (matemática) para eso?

Sí, estos son equivalentes y la prueba es una fácil aplicación de la teoría de las cadenas de Markov de estado finito.
Equivalente en expresividad es una cosa. Equivalente en velocidad de convergencia es otro. ¿no es así? Tengo que confesar que nunca he investigado la teoría. Ciertamente puedo argumentar que uno es el límite bajo de probabilidad de cambio de giro del otro.
@dmckee: Sí, los tiempos de relajación serán diferentes, aunque dudo que haya grandes diferencias en términos de eficiencia (esto probablemente se haya estudiado, pero no conozco la literatura). De hecho, ambos son algoritmos bastante ineficientes para simular el modelo de Ising. (Por supuesto, son al menos esencialmente triviales de implementar).

Respuestas (1)

En términos generales, en una Cadena de Markov Monte-Carlo (MCMC), el paso térmico se puede usar para indicar cualquier movimiento de un estado (o configuración) en la cadena al siguiente. Claramente, este paso (o actualización , otro término más) debe estar de acuerdo con todas las propiedades requeridas en el contexto de las simulaciones de Monte-Carlo, por ejemplo, irreductibilidad y ergodicidad, para asegurar la convergencia a la distribución de equilibrio, etc. Además, en la definición de la Cadena de Markov de las simulaciones MCMC se suele exigir el paso de verificar el balance detallado , condición que garantiza que la cadena posea las propiedades deseadas (en realidad es un requisito suficiente pero no necesario, pero sí lo es). usado porque es muy simple de manejar cuando se define un algoritmo de actualización).

Ahora, en su caso, un barrido a través de la red debe ser solo una secuencia de pasos de MC individuales, cada uno de los cuales verifica los requisitos necesarios para seguir la Cadena de Markov. En otras palabras, solo consideramos una secuencia de actualizaciones individuales como un solo paso. Este "nuevo" tipo de actualización es un paso lícito porque es solo la suma de muchos pasos individuales, cada uno de los cuales verifica el balance detallado, es decir, solo estamos aplicando muchas veces la matriz de transición de la Cadena de Markov. Dentro del ejemplo del modelo de Ising, un posible paso es el lanzamiento de un solo giro realizado en un giro aleatorio elegido al azar. Aquí, sin embargo, puede elegir barrer todo el enrejado tratando de voltear todos los giros uno tras otro, definiendo esto como su actualización o paso.

Permítanme concluir con unas pocas palabras sobre por qué hacerlo . La razón es que las configuraciones generadas en las simulaciones MCMC están autocorrelacionadas , es decir, no son independientes como queremos. Esta correlación disminuye cuando la "distancia" entre dos configuraciones de la cadena crece (y también se correlacionan los observables que uno puede querer calcular del sistema). Por lo tanto, en lugar de recopilar todas las configuraciones generadas en la cadena, optamos por realizar muchos pasos únicos antes de recopilar datos para que dos configuraciones separadas por esta "nueva" actualización resulten menos autocorrelacionadas.

¿"Un barrido a través de la red" conducirá a algún tipo de correlación y afectará el resultado de la simulación?
@ndrearu: tenga en cuenta que uno puede deshacerse de estos problemas de autocorrelación utilizando esquemas de simulación perfectos. Véase, por ejemplo, esta página de wikipedia .
Las configuraciones de @Stone-Zeng obtenidas con una simulación MCMC están correlacionadas en cualquier caso, y uno solo intenta redure int y "mejora" la convergencia. Por lo tanto, existe la necesidad de manejar la autocorrelación en el análisis estadístico de los datos extraídos de las configuraciones. Claro, al final, los resultados de la simulación no pueden depender de los detalles del algoritmo actualizado, es decir, los resultados deben ser los mismos (estadísticamente).
@YvanVelenik Parece un tema interesante, ¡gracias!