跳转至

Monte Carlo Simulation

Monte Carlo 方法的核心不是“随便随机试一试”,而是把一个难以直接求解的问题,转化为对随机变量或随机过程的统计估计。它最适合处理这样的对象:

\[ \langle O\rangle=\sum_s O(s)\pi(s) \]

或者连续变量形式

\[ \langle O\rangle=\int O(x)\pi(x)\,dx. \]

困难通常来自三件事:状态空间太大,权重函数太复杂,归一化常数不可知。Monte Carlo 的威力就在于,它不试图枚举整个空间,而是让样本自动集中到最重要的区域。

从随机过程到高维积分

如果我们能产生一组服从分布 \(\pi(x)\) 的样本

\[ x_1,x_2,\cdots,x_N\sim \pi(x), \]

那么观测量的期望可以用样本平均估计:

\[ \langle O\rangle \simeq \frac{1}{N}\sum_{i=1}^N O(x_i). \]

这是 Monte Carlo 的第一层含义:用随机抽样近似积分。它的误差通常按

\[ {\rm Err}\sim \frac{1}{\sqrt{N}} \]

下降。这个收敛速度看起来不快,但它对维度不显式恶化。对于高维积分,传统网格方法会遇到维数灾难;Monte Carlo 虽然有统计噪声,却仍然能在很高维空间中给出可控估计。

物理中的配分函数

统计物理里最典型的问题是配分函数

\[ Z=\sum_s W(s), \]

以及平衡态平均

\[ \langle O\rangle=\frac{1}{Z}\sum_s O(s)W(s). \]

这里 \(s\) 是构型,\(W(s)\) 是构型权重。例如经典 Ising 模型中

\[ W(s)=e^{-\mathcal H(s)}. \]

真正困难的是 \(Z\):它包含所有构型的求和,系统稍大就不可能直接计算。Monte Carlo 最重要的优势是,不需要知道 \(Z\),只要能构造一个以

\[ \pi(s)=\frac{W(s)}{Z} \]

为平稳分布的随机过程,就可以从样本中估计物理量。Metropolis 算法正是利用权重比

\[ \frac{W(s')}{W(s)} \]

来决定是否接受新构型,因此归一化常数自动消掉。

为什么它适合复杂系统

Monte Carlo 特别适合下面几类问题:

  • 状态空间巨大:自旋模型、量子多体系统、路径积分、组合优化问题都无法枚举全部构型。
  • 权重只知道相对值:很多物理模型、贝叶斯后验和能量模型只容易计算未归一化权重。
  • 目标量是平均性质:热力学量、关联函数、风险指标、策略价值都可以写成期望。
  • 重要区域很稀疏:高维空间中大部分构型贡献很小,重要性抽样可以把计算资源集中到高权重区域。

从这个角度看,Monte Carlo 不是物理专属工具,而是一套处理复杂概率分布的通用语言。

在现代问题中的位置

在强化学习中,Monte Carlo 方法用完整 episode 的随机回报估计价值函数:

\[ V^\pi(s)=\mathbb E_\pi[G_t|S_t=s]. \]

它不需要显式知道环境的转移矩阵,只要能与环境交互并采样轨迹。Monte Carlo Tree Search 进一步把随机模拟用于决策树搜索,在围棋、游戏 AI 和规划问题中,用有限次数 rollout 估计巨大决策空间中的动作价值。

在神经网络和人工智能中,Monte Carlo 常用于 dropout 不确定性估计、生成模型采样、强化学习策略评估、扩散模型中的随机过程、贝叶斯神经网络的后验近似。很多深度学习问题虽然表面是优化,背后仍然离不开“从复杂分布中采样”和“用样本估计期望”。

在概率论和统计推断中,Markov Chain Monte Carlo 是贝叶斯计算的核心工具。后验分布

\[ p(\theta|D)\propto p(D|\theta)p(\theta) \]

通常只知道右边的未归一化形式,但这已经足够构造采样过程。

在量化交易和风险管理中,Monte Carlo 用于情景模拟、期权定价、投资组合风险、极端损失估计。价格路径、利率路径或波动率路径都可以视为随机过程的样本,复杂衍生品的价值则是路径函数的期望。

本笔记的主线

这份笔记采用从简单到复杂的路线:

  1. 基础:从 Markov chain 的概率归一化与平稳分布出发,推出 detailed balance 和 Metropolis 接受率。
  2. 有限尺寸标度:说明 Monte Carlo 数据如何用于研究临界现象,连接 RG、LGW 场论和临界指数。
  3. 常用更新算法:概览 Metropolis、heat bath、cluster、loop、worm 和 lifted 等更新思想。
  4. 长程体系与 Clock 技巧:讨论长程相互作用下的采样和加速策略。
  5. 世界线更新算法:进入量子 Monte Carlo 中连续时间、连续空间和 Worm 更新的构型语言。

Monte Carlo 的本质可以压缩为一句话:构造一个正确的随机过程,让它在复杂空间中替我们按照目标权重行走。