讲解
针的平均压线次数只和长度成正比,与形状无关;直径等于线距的圆环每次恰好压线 2 次,周长却是 π 倍直径,所以比例里出现了 π。随机实验能估出 π,但误差只按 1/√N 缩小:多准一位,要多扔 100 倍。
01压线的概率
设线距为 ,针长 。一根针由两个数决定:针的中点到最近一条线的距离 (在 到 之间均匀)和针与线的夹角 (在 到 之间均匀)。针压线当且仅当
把所有可能的 画成一个长方形,压线的部分是一条正弦曲线下面的面积:
时 。π 来自对角度的平均。
02为什么估得这么慢
扔 根、压线 根,估计 。 是二项分布,相对波动约为 量级。 时,估计值的标准差约为
一万根针时约 0.024,两个标准差约 0.05,所以通常只准到一位小数。想准到 0.001,要扔两千万根以上。这就是蒙特卡罗方法的特点:什么问题都能估,但每多一位都贵 100 倍。
03布丰的面条
把针分成很多小段,每一小段压线的期望次数只和它的长度成正比(方向是随机的),而期望可以相加。所以任何形状的"面条",平均压线次数都是
是同一个常数。直径为 的圆环,不论落在哪里都恰好和线相交 2 次,周长 ,于是 ,。长度为 的直针最多压线一次,压线概率就是 。不用积分,π 从圆的周长里来。
04拉扎里尼的好运气
1901 年,意大利数学家拉扎里尼报告:针长是线距的 5/6,扔 3408 根,压线 1808 根,
只差 0.0000003。按上面的误差,3408 根针的标准差约 0.05,准到这个程度本该几乎不可能。
关键在于:要得到 ,扔的针数必须是 213 的倍数(3408 = 16 × 213),压线数也必须正好对上。扔 3408 根时恰好压线 1808 根的概率约 1.4%;如果边扔边看、在合适的时候停下,或者干脆凑数,就容易得多。统计学家常拿它当"挑选停止时机"的例子。
常见问题
针比线距长怎么办?
那一根针可能同时压两条线,"压线的概率"公式就不再是 $2l/(\pi d)$。但"平均压线次数 = $2l/(\pi d)$"仍然成立(面条的论证不要求 $l\le d$),数压线次数而不是压线根数,照样能估 π。画板上只让针长在线距以内。
画板上的针是真的随机吗?
每根针的位置和角度由"种子 + 编号"的哈希决定。自由模式每次清空换一个种子;故事用固定种子,所以每次播放一模一样,一万根针总是得到 3.1546。在这里,它们和真随机看不出区别。
有没有更快估 π 的随机方法?
往正方形里随机撒点、数落在内切圆里的比例(π/4),误差同样按 $1/\sqrt N$ 缩小,只是常数小一些。所有这类"扔骰子"的方法都受同一个 $1/\sqrt N$ 限制;真要算 π,用的是收敛极快的级数。
课本里的这部分
相关曲线
资料: Buffon’s needle problem — Wikipedia · Buffon’s noodle — Wikipedia