什麼是布豐投針?
數學世界中存在著許多違反直覺的驚人事實,以及將看似毫不相關的現象巧妙聯繫在一起的美麗定理。其中最為著名且迷人的問題之一就是 「布豐投針」(Buffon’s needle problem)。
這個問題由18世紀法國博物學家兼數學家喬治-路易·勒克萊爾·布豐伯爵(Georges-Louis Leclerc, Comte de Buffon)於1733年提出,並於1777年首次被解決。
令人驚嘆的是,這個問題表明,透過「將針隨機投到地板上」這一極其物理化且隨機的行為,就可以求出數學中最重要的常數之一—— 圓周率 $\pi$。它被認為是幾何機率論(Geometric probability)中最早的問題之一,也是蒙地卡羅方法(Monte Carlo method)的先驅性發現。
本文將從 布豐投針 的問題設定出發,詳細且淺顯地解說其數學證明,以及使用現代電腦進行模擬來估算圓周率的方法。
問題的基本設定
布豐投針的問題設定非常簡單。
- 在平坦的地板上,以等間距 $d$ 畫有大量平行直線。
- 準備一根長度為 $l$ 的針。
- 將這根針隨機地投向地板。
布豐提出的問題是:「所投的針與地板上畫的任一平行線相交的機率是多少?」
下面的圖表展示了這個實驗的概念流程。
graph TD
A["隨機投針"] -->|"重力和空氣阻力"| B["落在地板上"]
B --> C{"是否與線相交?"}
C -->|"是"| D["計入交叉次數 (+1)"]
C -->|"否"| E["未交叉"]
D --> F["計算機率 P"]
E --> F
F -->|"P = 2l / (πd)"| G["反推圓周率 π"]
在這裡,為了簡化問題,我們考慮針的長度 $l$ 小於或等於平行線間距 $d$($l \le d$)的 短針 情況。在此條件下,針不可能同時與兩條以上的直線相交。
數學建模與機率推導
要從數學上解決這個問題,需要對針的狀態進行數值化(參數化)。我們假設針落到地板上時,其位置和方向是完全隨機的。
為了確定針的位置,我們定義以下兩個變數。
- $x$:針的中心到最近的平行線的垂直距離。
- $\theta$:針與平行線所成的銳角(或直角)。
變數的取值範圍
首先,讓我們思考每個變數可以取哪些值。
- 距離 $x$: 針的中心落在相鄰兩條平行線之間的某個位置。由於考慮的是到最近線的距離,$x$ 的最小值為 $0$(針的中心在線上時),最大值為 $\frac{d}{2}$(針的中心恰好在兩條線的中間位置時)。即 $0 \le x \le \frac{d}{2}$。由於針是隨機投下的,$x$ 在此範圍內服從 均勻分佈。機率密度函數為 $\frac{2}{d}$。
- 角度 $\theta$: 針與平行線所成的角度,從針與直線平行時的 $0$ 到垂直時的 $\frac{\pi}{2}$(90度)。由於對稱性,無需考慮更大的角度。因此,$0 \le \theta \le \frac{\pi}{2}$。針的朝向也是隨機的,所以 $\theta$ 在此範圍內也服從 均勻分佈。機率密度函數為 $\frac{2}{\pi}$。
由於變數 $x$ 和 $\theta$ 相互獨立,取特定組合 $(x, \theta)$ 的聯合機率密度函數 $f(x, \theta)$ 可以表示為各自機率密度函數的乘積。
$$ f(x, \theta) = \frac{2}{d} \times \frac{2}{\pi} = \frac{4}{d\pi} $$相交條件
接下來,考慮針與直線相交的條件。 當針的中心到端點的垂直方向長度大於或等於到最近線的距離 $x$ 時,針與直線相交。
由於針的長度為 $l$,從中心到端點的長度為 $\frac{l}{2}$。 當角度為 $\theta$ 時,這半根針在垂直方向上佔據的距離(投影長度)為 $\frac{l}{2} \sin \theta$。
因此,針與直線相交的條件可用以下不等式表示。
$$ x \le \frac{l}{2} \sin \theta $$機率的計算
針與線相交的機率 $P$ 透過在滿足相交條件的區域上對聯合機率密度函數 $f(x, \theta)$ 進行積分來求得。
$$ P = \iint_{\text{相交區域}} f(x, \theta) \, dx \, d\theta $$具體的積分範圍是:$\theta$ 從 $0$ 變化到 $\frac{\pi}{2}$,$x$ 從 $0$ 變化到交叉臨界值 $\frac{l}{2} \sin \theta$。
$$ P = \int_{0}^{\frac{\pi}{2}} \int_{0}^{\frac{l}{2} \sin \theta} \frac{4}{d\pi} \, dx \, d\theta $$首先,計算關於 $x$ 的內層積分。
$$ \int_{0}^{\frac{l}{2} \sin \theta} \frac{4}{d\pi} \, dx = \frac{4}{d\pi} \left[ x \right]_{0}^{\frac{l}{2} \sin \theta} = \frac{4}{d\pi} \left( \frac{l}{2} \sin \theta - 0 \right) = \frac{2l}{d\pi} \sin \theta $$然後,計算關於 $\theta$ 的外層積分。
$$ P = \int_{0}^{\frac{\pi}{2}} \frac{2l}{d\pi} \sin \theta \, d\theta = \frac{2l}{d\pi} \int_{0}^{\frac{\pi}{2}} \sin \theta \, d\theta $$由於 $\sin \theta$ 的積分為 $-\cos \theta$,
$$ \int_{0}^{\frac{\pi}{2}} \sin \theta \, d\theta = \left[ -\cos \theta \right]_{0}^{\frac{\pi}{2}} = (-\cos \frac{\pi}{2}) - (-\cos 0) = -0 - (-1) = 1 $$因此,所求機率 $P$ 為:
$$ P = \frac{2l}{d\pi} \times 1 = \frac{2l}{\pi d} $$這就是 布豐投針 的基本公式。針與線相交的機率等於針長 $l$ 的2倍除以圓周率 $\pi$ 與線間距 $d$ 的乘積。
圓周率 π 的估算(蒙地卡羅方法)
推導出的公式 $P = \frac{2l}{\pi d}$ 中巧妙地包含了 $\pi$。將其關於 $\pi$ 求解,可得:
$$ \pi = \frac{2l}{P d} $$這個等式意味著,只要知道機率 $P$,就可以計算圓周率 $\pi$。當然,真實機率 $P$ 需要進行無限次試驗才能得到,但透過在實際實驗中多次投針,可以獲得 $P$ 的近似值。
設投針總次數為 $N$,其中針與線相交的次數為 $C$。 當試驗次數 $N$ 足夠大時,根據大數法則,經驗機率 $\frac{C}{N}$ 會趨近於理論機率 $P$。
$$ P \approx \frac{C}{N} $$將其代入之前的公式,即可得到圓周率 $\pi$ 的近似公式。
$$ \pi \approx \frac{2l \cdot N}{C \cdot d} $$當針的長度 $l$ 與線的間距 $d$ 相等($l = d$)時,計算最為簡單。此時公式進一步簡化為:
$$ \pi \approx \frac{2N}{C} $$也就是說,只需將投針次數的2倍除以交叉次數,就能求出圓周率!
Python 模擬
用手投針數千次是一項非常辛苦的工作(歷史上確實有數學家進行過數千次這樣的實驗)。在現代,我們可以輕鬆地用電腦來模擬這個實驗。
以下是使用 Python 模擬布豐投針實驗並估算圓周率的簡單程式碼範例。
| |
執行這段程式碼後,大量虛擬的針將透過隨機數被投下,可以驗證能夠獲得非常高精度的 $3.1415...$ 即圓周率的近似值。這種使用隨機數求解機率問題近似解的方法被稱為 蒙地卡羅方法。
總結
布豐投針乍看之下似乎只是一種物理上的偶然遊戲,但其背後存在著堅實的數學理論。隨機事件(機率)、幾何形狀(直線和線段)以及終極無理數 $\pi$ 在一個簡單公式中的融合,可以說是數學之美的完美體現。
此外,這個問題作為對現代科學技術不可或缺的蒙地卡羅方法的源頭,也具有重要的歷史意義。從複雜系統的模擬到難以解析求解的積分計算,布豐的思想至今仍以各種形式支撐著我們的世界。
不妨準備好紙筆和幾根牙籤,在家中親身體驗這段偉大數學歷史的一部分吧。
