蒙特卡洛方法是一种随机技术,使用随机数对构象空间进行采样。在这种方法中,首先生成一个随机构象,然后确定是否拒绝或接受它。
蒙特卡洛模拟从给定的构象开始,然后随机数将生成一个新的试验构象。这个试验构象将被确定是否被接受或拒绝。如果被接受,则此构象将成为当前构象,并且下一轮迭代将从此构象开始。
计算定积分是使用蒙特卡洛方法的一个简单的说明性例子。考虑简单函数及其从 0 到 1 的定积分
在这种情况下,构象空间是二维的,将生成随机的 x 和 y 值以构成新的试验构象。只有低于图形的试验点(x 和 y 值的一对)才能被接受。接受的构象数除以样本总数表示样本被接受的概率。将此概率乘以采样空间的体积()是积分正确值的近似值。
大量样本将导致更接近期望值的值。
此方法通常用于更高维度的积分。
在分子模拟中,Metropolis 蒙特卡洛算法通常用于接受或拒绝试验构象。如果试验构象的能量低于或等于当前能量,则它将始终被接受。如果试验构象的能量高于当前能量,则它将以玻尔兹曼分布确定的概率被接受。
这意味着,如果,一个随机数 () 将决定是否接受或拒绝此构象。
Metropolis 算法满足微观可逆性,这意味着处于一个状态并转移到下一个状态的概率与处于新状态并返回到先前状态的概率相同。
构型积分需要对所有空间变量上的玻尔兹曼分布进行积分。为了采用蒙特卡罗积分来估计构型积分 (Z),需要随机生成大量的构型,并且仅在这些点上评估玻尔兹曼权重。有了足够的样本,就可以近似构型积分。
但是直接的蒙特卡罗采样效率极低,因为必须采样大量的状态。此外,采样高能量状态和低能量状态的概率是相等的,但根据玻尔兹曼分布,系统更有可能处于低能量状态。
Metropolis 算法改变了接受概率,以便系统优先采样低能量状态。
使用蒙特卡罗模拟,只能采样状态的平衡分布。移动是随机且非物理的,因此轨迹仅对应于蒙特卡罗移动的序列,并且没有时间信息,因此无法从蒙特卡罗轨迹计算扩散系数等动力学性质。
Metropolis 蒙特卡罗循环有利于向更低能量的过渡并达到更可能的结构。多次迭代 Metropolis 蒙特卡罗将使系统进入平衡状态。可以绘制多个属性图以确定何时平衡完成。
向平衡的移动可以看作是缓慢的漂移,直到漂移停止并且属性围绕平均值波动时,平衡才完成。
在平衡状态下,系统没有经历系统性变化。物质的物理性质没有大规模梯度。如果对系统进行小的扰动,系统将返回到其平衡状态。在平衡状态下,系统中没有动量梯度、浓度梯度和温度梯度。