团簇更新
在系统的临界温度 附近,系统表现出长程关联,由于临界慢化,局域更新方法变得低效。在模拟过程中,局域更新的提议总是被拒绝,系统似乎被困在某个特定的状态构型中。团簇更新算法通过在一步之内翻转大的自旋团簇来解决这一问题,使系统能够更有效地探索构型空间。
Wolff 算法
Wolff 算法是一种团簇更新方法,旨在克服伊辛模型中的临界慢化。它根据自旋的取向构建自旋团簇,并将其整体翻转,从而保证在临界温度附近的高效采样。
Wolff 算法的关键步骤:
选择种子自旋:
- 从晶格中随机选择一个种子自旋 。
构建团簇:
- 对种子自旋的每个近邻 ,若 ,则以如下概率将其加入团簇: 该概率依赖于温度和相互作用强度 。
翻转团簇:
- 团簇构建完成后,翻转团簇中的所有自旋(即对团簇中所有自旋执行 )。
重复:
- 将该过程重复许多个蒙特卡洛步,以保证对构型空间的充分采样。
Wolff 算法的优点:
- 高效:Wolff 算法通过同时翻转大的自旋团簇,显著减轻了临界慢化。
- 细致平衡:该算法满足细致平衡,保证系统向正确的平衡分布演化。
- 无需调参:与 Metropolis-Hastings 算法不同,Wolff 算法不需要调节步长之类的参数。
Wang-Landau 算法
Wang-Landau 算法是一种直接估计系统态密度 的蒙特卡洛方法,从而可以在很宽的能量和温度范围内计算热力学量。它对于具有复杂能量景观的系统特别有用。
Wang-Landau 算法的关键步骤:
初始化态密度:
- 从态密度 的一个粗略估计开始,通常对所有能量都设为 。
在能量空间中进行随机游走:
- 使用蒙特卡洛过程(例如 Metropolis 或 Wolff 更新)探索能量空间。以如下概率接受移动:
更新态密度:
- 每次移动之后,更新态密度: 其中 是修正因子(初始时 )。
改进估计:
- 重复该过程,并逐步减小修正因子 (例如 ),直到 收敛到真实的态密度。
计算热力学量:
- 一旦得到 ,就可以计算配分函数、自由能和比热等热力学量。
Wang-Landau 算法的优点:
- 直接估计 :该算法提供了一种直接计算态密度的方法,从而可以在很宽的温度范围内研究热力学性质。
- 高效:Wang-Landau 算法对于具有复杂能量景观的系统特别有效,而传统方法在这类系统上可能会遇到困难。
- 无需先验知识:该算法不需要事先了解系统的能量分布。