Monte Carlo Simulation¶
Monte Carlo 方法的核心不是“随便随机试一试”,而是把一个难以直接求解的问题,转化为对随机变量或随机过程的统计估计。它最适合处理这样的对象:
或者连续变量形式
困难通常来自三件事:状态空间太大,权重函数太复杂,归一化常数不可知。Monte Carlo 的威力就在于,它不试图枚举整个空间,而是让样本自动集中到最重要的区域。
从随机过程到高维积分¶
如果我们能产生一组服从分布 \(\pi(x)\) 的样本
那么观测量的期望可以用样本平均估计:
这是 Monte Carlo 的第一层含义:用随机抽样近似积分。它的误差通常按
下降。这个收敛速度看起来不快,但它对维度不显式恶化。对于高维积分,传统网格方法会遇到维数灾难;Monte Carlo 虽然有统计噪声,却仍然能在很高维空间中给出可控估计。
物理中的配分函数¶
统计物理里最典型的问题是配分函数
以及平衡态平均
这里 \(s\) 是构型,\(W(s)\) 是构型权重。例如经典 Ising 模型中
真正困难的是 \(Z\):它包含所有构型的求和,系统稍大就不可能直接计算。Monte Carlo 最重要的优势是,不需要知道 \(Z\),只要能构造一个以
为平稳分布的随机过程,就可以从样本中估计物理量。Metropolis 算法正是利用权重比
来决定是否接受新构型,因此归一化常数自动消掉。
为什么它适合复杂系统¶
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 接受率。
- 有限尺寸标度:说明 Monte Carlo 数据如何用于研究临界现象,连接 RG、LGW 场论和临界指数。
- 常用更新算法:概览 Metropolis、heat bath、cluster、loop、worm 和 lifted 等更新思想。
- 长程体系与 Clock 技巧:讨论长程相互作用下的采样和加速策略。
- 世界线更新算法:进入量子 Monte Carlo 中连续时间、连续空间和 Worm 更新的构型语言。
Monte Carlo 的本质可以压缩为一句话:构造一个正确的随机过程,让它在复杂空间中替我们按照目标权重行走。