Monte Carlo Simulation¶
Monte Carlo 方法的核心在于:把一个难以直接求解的问题,转化为对随机变量或随机过程的统计估计。它最适合处理这样的对象:
或者连续变量形式
困难通常来自三件事:状态空间太大,权重函数太复杂,归一化常数不可知。Monte Carlo 的威力就在于,它不试图枚举整个空间,而是让样本自动集中到最重要的区域。
从随机过程到高维积分¶
如果我们能产生一组服从分布 \(\pi(x)\) 的样本
那么观测量的期望可以用样本平均估计:
这是 Monte Carlo 的第一层含义:用随机抽样近似积分。它的误差通常按
下降。这个公式可以从中心极限定理理解。若样本近似独立,单个观测量的方差为
那么样本平均
的方差是
所以标准误差就是
这背后也有一个随机行走图像:独立噪声的正负涨落会互相抵消,累计涨落的典型大小只像
那样增长;再除以样本数 \(N\),平均值的误差就变成 \(1/\sqrt N\)。这个收敛速度看起来不快,但它对维度不显式恶化。对于高维积分,传统网格方法会遇到维数灾难;Monte Carlo 虽然有统计噪声,却仍然能在很高维空间中给出可控估计。
物理中的配分函数¶
统计物理里最典型的问题是配分函数
以及平衡态平均
这里 \(s\) 是构型,\(W(s)\) 是构型权重。例如经典 Ising 模型中
真正困难的是 \(Z\):它包含所有构型的求和,系统稍大就不可能直接计算。Monte Carlo 最重要的优势是,不需要知道 \(Z\),只要能构造一个以
为平稳分布的随机过程,就可以从样本中估计物理量。Metropolis 算法正是利用权重比
来决定是否接受新构型,因此归一化常数自动消掉。
从样本到物理¶
在统计物理中,Monte Carlo 的任务可以概括为三步。
第一步,先给定一个模型。这个模型通常由哈密顿量、作用量或概率权重定义,例如
等价地说,我们给定了配分函数
也就给定了目标分布
第二步,构造一个以 \(\pi(s)\) 为平稳分布的随机过程。Metropolis、heat bath、cluster、worm、loop 等算法的核心差别,不在于目标分布不同,而在于它们如何更高效地在构型空间中移动。只要随机过程满足正确的平衡条件和遍历性,长时间产生的构型就可以看作来自目标分布的样本:
第三步,从这些样本中提取物理量。统计物理真正关心的通常不是单个构型,而是样本平均:
这些平均值可以用来研究不同相的性质,例如序参量、能量、刚度、关联函数和结构因子;也可以用来定位临界点,分析临界指数、分形维度、普适类和有限尺寸标度。Monte Carlo 负责产生服从正确权重的样本;相变理论和统计分析负责从样本中读出物理。
量子 Monte Carlo 的思想类似,但构型空间更丰富。量子配分函数
通常不能直接看成普通经典构型求和,需要通过路径积分、SSE、世界线、辅助场等表示,把量子问题改写成一个扩展构型空间上的统计权重。直观地说,\(d\) 维量子统计问题常被映射成带有虚时方向的 \(d+1\) 维经典构型。这样不仅可以研究有限温热力学,也可以研究零温投影、虚时关联函数、谱函数、超流刚度、缠绕数、纠缠熵等更丰富的量子多体信息。
为什么它适合复杂系统¶
Monte Carlo 特别适合下面几类问题:
- 状态空间巨大:自旋模型、量子多体系统、路径积分、组合优化问题都无法枚举全部构型。
- 权重只知道相对值:很多物理模型、贝叶斯后验和能量模型只容易计算未归一化权重。
- 目标量是平均性质:热力学量、关联函数、风险指标、策略价值都可以写成期望。
- 重要区域很稀疏:高维空间中大部分构型贡献很小,重要性抽样可以把计算资源集中到高权重区域。
从这个角度看,Monte Carlo 可以作为一套处理复杂概率分布的通用语言,使用范围远远超出物理问题。
在现代问题中的位置¶
在强化学习中,Monte Carlo 方法用完整 episode 的随机回报估计价值函数:
它不需要显式知道环境的转移矩阵,只要能与环境交互并采样轨迹。Monte Carlo Tree Search 进一步把随机模拟用于决策树搜索,在围棋、游戏 AI 和规划问题中,用有限次数 rollout 估计巨大决策空间中的动作价值。
在神经网络和人工智能中,Monte Carlo 常用于 dropout 不确定性估计、生成模型采样、强化学习策略评估、扩散模型中的随机过程、贝叶斯神经网络的后验近似。很多深度学习问题虽然表面是优化,背后仍然离不开“从复杂分布中采样”和“用样本估计期望”。
在概率论和统计推断中,Markov Chain Monte Carlo 是贝叶斯计算的核心工具。后验分布
通常只知道右边的未归一化形式,但这已经足够构造采样过程。
在量化交易和风险管理中,Monte Carlo 用于情景模拟、期权定价、投资组合风险、极端损失估计。价格路径、利率路径或波动率路径都可以视为随机过程的样本,复杂衍生品的价值则是路径函数的期望。
阅读主线¶
这份笔记采用从简单到复杂的路线:
- 基础:从 Markov chain 的概率归一化与平稳分布出发,推出 detailed balance 和 Metropolis 接受率。
- 相变理论基础:说明 RG、LGW 场论、有限尺寸标度、Mermin-Wagner 定理和 BKT 相变如何组织临界现象的理论语言。
- 常用更新算法:概览 Metropolis、heat bath、cluster、loop、worm 和 lifted 等更新思想。
- 长程体系与 Clock 技巧:讨论长程相互作用下的周期边界、加键过程、累计概率和其他加速策略。
- 世界线更新算法:进入量子 Monte Carlo 中连续时间、连续空间和 Worm 更新的构型语言,并说明常见物理量如何从世界线几何中测量。
- SSE 随机级数展开:把 \(e^{-\beta\hat H}\) 展开成算符串,说明 diagonal update、loop update 和 directed-loop update 的基本结构。
- 辅助场蒙卡:从 Hubbard-Stratonovich 变换出发,说明如何把相互作用费米子问题转化为辅助场上的行列式权重,并区分零温投影算法与有限温 trace 算法。
Monte Carlo 的本质可以压缩为一句话:构造一个正确的随机过程,让它在复杂空间中替我们按照目标权重行走。