乍一聽(tīng)“蒙特卡羅”這個(gè)詞,完全不知所云,我感到很奇怪,一個(gè)搜索算法Monte Carlo Tree Search為什么叫蒙特卡羅。
于是,就有了下面的文字。
本篇文章主要介紹MonteCarlo方法的由來(lái),及簡(jiǎn)單的一個(gè)應(yīng)用-求π的值。
下篇將會(huì)介紹:什么是Monte Carlo Tree Search算法。
蒙特卡羅方法概述
蒙特卡羅方法又稱統(tǒng)計(jì)模擬法、隨機(jī)抽樣技術(shù),是一種隨機(jī)模擬方法,以概率和統(tǒng)計(jì)理論方法為基礎(chǔ)的一種計(jì)算方法,是使用隨機(jī)數(shù)(或更常見(jiàn)的偽隨機(jī)數(shù))來(lái)解決很多計(jì)算問(wèn)題的方法。將所求解的問(wèn)題同一定的概率模型相聯(lián)系,用電子計(jì)算機(jī)實(shí)現(xiàn)統(tǒng)計(jì)模擬或抽樣,以獲得問(wèn)題的近似解。為象征性地表明這一方法的概率統(tǒng)計(jì)特征,故借用賭城蒙特卡羅命名。
讓我們看看蒙特卡羅賭城。
賭城的標(biāo)志。
賭城內(nèi)部非常豪華,金碧輝煌。
蒙特卡羅方法的提出
蒙特卡羅方法于20世紀(jì)40年代美國(guó)在第二次世界大戰(zhàn)中研制原子彈的“曼哈頓計(jì)劃”計(jì)劃的成員S.M.烏拉姆和J.馮·諾伊曼首先提出。數(shù)學(xué)家馮·諾伊曼用馳名世界的賭城—摩納哥的Monte Carlo—來(lái)命名這種方法,為它蒙上了一層神秘色彩。在這之前,蒙特卡羅方法就已經(jīng)存在。1777年,法國(guó)Buffon提出用投針實(shí)驗(yàn)的方法求圓周率∏。這被認(rèn)為是蒙特卡羅方法的起源。
例子:π的計(jì)算
如何用蒙特卡羅方法計(jì)算圓周率π。正方形內(nèi)部有一個(gè)相切的圓,它們的面積之比是π/4。現(xiàn)在,在這個(gè)正方形內(nèi)部,隨機(jī)產(chǎn)生10000個(gè)點(diǎn)(即10000個(gè)坐標(biāo)對(duì) (x, y)),計(jì)算它們與中心點(diǎn)的距離,從而判斷是否落在圓的內(nèi)部。如果這些點(diǎn)均勻分布,那么圓內(nèi)的點(diǎn)應(yīng)該占到所有點(diǎn)的 π/4,因此將這個(gè)比值乘以4,就是π的值。
使用R語(yǔ)言模擬抽樣10000次的結(jié)果,估計(jì)π結(jié)果如下:
從上圖我們可以看出,隨著抽樣次數(shù)的增加,估計(jì)的π值和真實(shí)值越來(lái)越接近。
關(guān)于什么是蒙特卡羅就介紹到這里。抽樣的思想已在各個(gè)領(lǐng)域產(chǎn)生深刻的影響。
參考資料
將部分參考資料列出如下,感謝前人的工作!