蒙特卡洛:让随机替我们计算
约 10 分钟
算不出,就试出来。有些问题理论上难以下手,但计算机可以模拟成千上万次,用频率逼近答案——这套「用随机模拟做计算」的方法叫蒙特卡洛,名字来自那座著名的赌城。
用随机点算圆周率。在边长 2 的正方形里随机撒点,里面内切一个半径 1 的圆。点落在圆内的概率 = 圆面积 ÷ 正方形面积 = 。撒 100 万个点,约有 78.5 万个落在圆内,于是 ——撒点越多,估得越准,背后正是第一章的大数定律在撑腰。
它解决什么真问题:模拟一个投资组合未来一年的盈亏分布、估算工程项目的延期风险、评估围棋一步棋的胜率(AlphaGo 的搜索里就有蒙特卡洛)——凡是「输入有随机性、答案算不出解析式」的场景,它都能上场。
一次完整的流程:建立模型(明确随机从哪里来)→ 让计算机重复抽样成千上万次 → 统计结果、算平均或比例 → 给出带误差的答案。和做真实实验不同的是,样本想要多少就有多少,代价只是电费。
常见误区:模拟次数太少就下结论。撒 100 个点估 π,可能得到 2.9 也可能得到 3.3,噪声巨大。蒙特卡洛的误差大约按 缩小——精度想提高 10 倍,模拟次数得加 100 倍,算力就是这么花出去的。
练一练:不用任何公式,设计一个「撒米估 π」的家庭实验。(提示:纸上画正方形和内切圆,随机撒一把米,数圆内圆外各几粒)
小纸条
用转盘或骰子自制随机数,模拟抛 3 枚硬币 100 次,统计「恰好两正一反」的频率,和理论值 3/8 对比。
登录 后可看答案