布丰投针计算圆周率的原理

布丰投针(Buffon's Needle)是一种通过概率实验估算圆周率 \(\pi\) 的方法。这种方法基于几何概率模型,属于蒙特卡罗方法的一种应用。


实验设定

  • 平面上画有许多平行线,这些线之间的距离为 \(d\)
  • 针的长度为 \(l\),并且假设 \(l \leq d\)(即针的长度不超过平行线间的距离)。
  • 当针被随机投掷到平面上时,考虑以下变量:
    • \(x\):针的中点到最近一条线的距离,取值范围为 \([0, d/2]\)
    • \(\theta\):针与线的夹角,取值范围为 \([0, \pi]\)

相交条件

针与线相交的条件是:针的一个端点到底边界的垂直距离小于等于 \((l/2)\sin(\theta)\)。换句话说,如果针的中点到最近线的距离满足以下关系,则针会与至少一条线相交:

\[ x \leq \frac{l}{2} \sin(\theta) \]


概率计算

1. 确定相交区域

对于任意给定的 \(\theta\),当 \(x\)\(0\)\((l/2)\sin(\theta)\) 之间时,针与线相交。因此,对于每个固定的 \(\theta\),针与线相交的概率为:

\[ P_{\text{single}} = \frac{\frac{l}{2} \sin(\theta)}{\frac{d}{2}} = \frac{l \sin(\theta)}{d} \]

2. 积分求平均概率

由于 \(\theta\)\([0, \pi]\) 范围内均匀分布,我们需要对所有可能的 \(\theta\) 进行积分,并取平均值得到总的相交概率:

\[ P = \frac{2}{\pi} \int_{0}^{\pi} \frac{l \sin(\theta)}{d} \, d\theta \]

3. 解积分

上述积分可以简化为:

\[ P = \frac{2l}{\pi d} \int_{0}^{\pi} \sin(\theta) \, d\theta \]

该积分的结果为:

\[ \int_{0}^{\pi} \sin(\theta) \, d\theta = [-\cos(\theta)]_{0}^{\pi} = -\cos(\pi) + \cos(0) = 2 \]

4. 代入结果

将积分结果代回原公式,得到针与线相交的概率:

\[ P = \frac{2l}{\pi d} \times 2 = \frac{2l}{\pi d} \]


圆周率估算

通过大量实验,记下针与线相交的次数 \(N_{\text{hit}}\) 和总的投针次数 \(N_{\text{total}}\)。根据大数定律,可以用频率估计概率:

\[ P \approx \frac{N_{\text{hit}}}{N_{\text{total}}} \]

结合概率公式 \(P = \frac{2l}{\pi d}\),我们可以解出 \(\pi\) 的近似值:

\[ \pi \approx \frac{2l N_{\text{total}}}{d N_{\text{hit}}} \]


总结

布丰投针实验通过简单的几何概率模型和随机实验,提供了一种估算圆周率 \(\pi\) 的方法。随着实验次数的增加,估算结果的精度也会提高。