蒙特卡洛方法簡(jiǎn)介
蒙特卡洛(蒙特卡羅)是一個(gè)地名,位于賭城摩納哥,象征概率。蒙特卡洛(Monte Carlo)方法是由大名鼎鼎的數學(xué)家馮·諾伊曼提出的,誕生于上世紀40年代美國的“曼哈頓計劃”。
原理是通過(guò)大量隨機樣本,去了解一個(gè)系統,進(jìn)而得到所要計算的值。
估算圓周率的原理
一個(gè)正方形內部相切一個(gè)圓,圓和正方形的面積之比是π/4(具體可以自行根據面積關(guān)系推導)。

在這個(gè)正方形內部,隨機產(chǎn)生n個(gè)點(diǎn)(這些點(diǎn)服從均勻分布),計算它們與中心點(diǎn)的距離是否大于圓的半徑,以此判斷是否落在圓的內部。統計圓內的點(diǎn)數,與n的比值乘以4,就是π的值。理論上,n越大,計算的π值越準。
我們隨機生成N個(gè)隨機分布的點(diǎn),判斷其是否在圓內,從而根據公式估算出圓周率的近似值。
本工具可以用于概率實(shí)驗證明,只要產(chǎn)生的隨機點(diǎn)足夠平均隨機,隨機點(diǎn)數足夠多,最終的估算結果就越精確。
當然,蒙特卡洛方法還可以用于其它很多領(lǐng)域的用途,估算PI的值只是其中一個(gè)非常有意思的小應用場(chǎng)景。
本工具隨機數發(fā)生器為JS自帶的偽隨機數發(fā)生器(一般會(huì )均勻隨機),如果多次測試結果任然無(wú)法接近PI的真實(shí)值,也可能是隨機數發(fā)生器不隨機所致,結果僅供娛樂(lè )參考。