
1 简单抽样
1.1 掷石法
考虑函数 𝑓 (𝑥) 在区间 [𝑎, 𝑏] 上的定积分
𝐼 =
∫
𝑏
𝑎
𝑓 (𝑥)𝑑𝑥
可以取一个 [ 𝑎, 𝑏] × [0, 𝑓
max
] 的矩形, 在其中以均匀分布采样 𝑁 个点, 对落入积分区域的点计数. 设计数
为 𝑛, 则积分值为
∫
𝑏
𝑎
𝑓 (𝑥)𝑑𝑥 =
𝑛
𝑁
𝑓
max
(𝑏 − 𝑎)
这是因为
𝑛
𝑁
是积分区域面积与大矩形面积 𝑓
𝑚𝑎 𝑥
(𝑏 − 𝑎) 的比值
1.2 平均值法
定积分有平均值定理
∫
𝑏
𝑎
𝑓
(
𝑥
)
𝑑𝑥
=
(
𝑏
−
𝑎
)
⟨
𝑓
(
𝑥
)
⟩
其中
⟨
𝑓 (𝑥)
⟩
是 𝑓 (𝑥) 在 [𝑎, 𝑏] 上的平均值, 而平均值可以用蒙特卡罗方法估计
⟨
𝑓 (𝑥)
⟩
=
1
𝑁
𝑁
∑
𝑖=1
𝑓 (𝑥
𝑖
)
其中 𝑥
𝑖
是在 [𝑎, 𝑏] 上均匀抽样的 𝑁 个点
1.3 提取法
对于一个不能直接解析积分的函数 𝑓 (𝑥), 可以找一个与其相近的可解析积分的函数 𝑔(𝑥), 设有
𝐼 =
∫
𝑏
𝑎
𝑔(𝑥)𝑑𝑥
只需要计算 𝑔(𝑥) 与 𝑓 (𝑥) 的差值即可. 由于 𝑓 (𝑥) 与 𝑔(𝑥) 相近, 差值应是比较均匀的, 使用蒙特卡罗方法
估计误差会比直接估计 𝑓 (𝑥) 小很多
∫
𝑏
𝑎
𝑓 (𝑥)𝑑𝑥 = 𝐼 + (𝑏 − 𝑎)
⟨
𝑓 (𝑥) − 𝑔(𝑥)
⟩
1.4 奇异积分
蒙特卡罗方法抽样抽到奇异点的概率很小, 还可以排除奇异点附近的一个小区域