【歷史上的今天】圓周率日與蒙地卡羅方法

林彥興

如果今天要你估算圓周率的數值,你會怎麼做呢?

稍微查閱一下維基百科,你會發現歷史上被人們用來估算圓周率近似值的方法可謂琳琅滿目。從兩千多年前的多邊形法、割圓術,到近代的無窮級數、疊代算法等等。其中一種方式(也許也是最直覺的方法之一),稱為「蒙地卡羅 Monte Carlo」算法。

以蒙地卡羅法估算圓周率的過程可以簡單地這樣想像: 今天我們有一個 2x2 的正方形標靶,其中有一個半徑為 1 的圓。如果我們隨機的把 100 個飛鏢射在標靶上,我們可以預期飛鏢落在圓內的機率,應該是圓的面積跟正方形的面積比,也就是 pi/4。於是,我們就可以藉由數數有多少比例飛鏢落在圓內,來估算 pi 的數值。

當然,單就估算圓周率來說,蒙地卡羅並不是一個好方法。不僅算得慢,而且難以估計得到的數值究竟有多精確。不過,在應對複雜非常複雜的問題時,蒙地卡羅法就能夠展現出它的強大威力。

在天文上,蒙地卡羅法常用於處理「輻射轉移 Radiation Transfer」相關的問題。比如計算星系中恆星發出的光線經過塵埃的吸收與散射後,究竟會有多少會進到我們的望遠鏡中;又或者是運用在擬合觀測到的天體光譜(參閱「馬可夫鏈蒙地卡羅 MCMC」)。

等除此之外,蒙地卡羅法也在其他所有的計算物理,以及統計、金融、電腦動畫、機器學習等領域應用廣泛,是一項非常重要的概念呢!

留言