公平骰子的期望是 (1+2+…+6)/6 = 3.5。掷得越多,样本均值越贴近它——这不是巧合,是大数定律。
一群人中至少两人生日相同的概率,远比直觉大。23 人时就已经超过一半。精确概率 = 1 − ∏(1 − i/365)。
地面上画平行线,间距 d;随机扔长度 L 的针,针与线相交的概率 = 2L/(πd)。取 L = d/2,概率恰为 1/π——于是 π ≈ 1/相交频率。这是 18 世纪就有的“蒙特卡洛”。
1940 年代,美国洛斯阿拉莫斯实验室正在研制原子弹。科学家们要计算中子穿过物质时的输运问题——每一步都是随机的散射与吸收。这类问题要写成积分,而在高维情况下,传统的数值积分(网格法)计算量随维数指数爆炸,根本算不动。
方法需要一个代号。尼古拉斯·梅特罗波利斯(Nicholas Metropolis)提议用他叔父在摩纳哥蒙特卡洛(Monte Carlo)赌场的名字——因为赌博的本质就是随机。于是这个项目有了秘密代号“Monte Carlo”。
据梅特罗波利斯 1987 年与 1996 年的回忆文章,命名确有此说;他也被称为“蒙特卡洛方法之父”之一。一个严肃的核物理计算,就这样带上了赌城的名字。
传统网格法要把 d 维空间切成 kd 个小格,维数一高就彻底瘫痪。而蒙特卡洛的误差是 O(1/√n)——与维数 d 无关!在金融定价、统计物理、贝叶斯推断这些动辄几十上百维的领域,这条性质让它成了不可替代的利器。
代价也很诚实:1/√n 收敛很慢——想让误差减半,样本要翻两番。所以真正的蒙特卡洛高手,研究的都是如何减小方差。
早在 1777 年,法国博物学家布丰(Georges-Louis Leclerc, Comte de Buffon)就提出了“投针问题”:把长度为 L 的针随机扔到间距为 d 的平行线上,针与线相交的概率是 2L/(πd)。这既是一个漂亮的概率题,也是一个用随机试验反推 π 的方法——比洛斯阿拉莫斯早了整整一个半世纪。
所以说蒙特卡洛的“思想种子”早在 18 世纪就埋下了;真正让它成为通用工具,靠的是 20 世纪的计算机。
本馆的每一个数字,都是真的跑出来的:撒点的坐标由可复现的伪随机数生成器给出(固定种子),π 的估计值随点数一步步算出,误差随 √n 缩小。换一个种子,数字会变,但规律不变——这正是概率论最美的地方:单次结果不可预测,长期行为却有铁的定律。
「伪随机」看着自相矛盾:计算机是确定的,怎么会随机?但只要生成器足够好,产出的序列在统计上就和真随机几乎无法区分。确定性的机器,也能摇出随机的骰子。
为什么撒点越多越准?因为大数定律(雅各布·伯努利,1713 年《猜度术》)保证了:独立重复试验中,事件发生的频率会依概率收敛到它的概率。所以“落进圆内的比例 → π/4”不是运气,而是必然。
配上中心极限定理,还能进一步算出误差的分布:误差近似服从正态分布,标准差 ∝ 1/√n。于是我们能说清“这次估得准不准、还要撒多少点”——随机实验第一次有了可量化的可信度。
本馆的撒点估 π、生日悖论、Buffon 投针,看似三个游戏,其实是同一件事的三种样子:把“求一个数”变成“做很多次随机试验,再数频率”。
π 是几何常数、生日概率是组合常数、投针比例是几何概率——它们都可以写成积分或概率,而概率就能用频率去估。这就是蒙特卡洛的全部秘密:凡能写成期望的量,都能用随机数去逼近。从赌桌到反应堆、从期权定价到人工智能,这把“随机之尺”至今仍在量着世界上最难算的东西。