導(dǎo)讀:蒙特卡羅方法MCM(Monte Carlo Method),也稱隨機(jī)抽樣或統(tǒng)計模擬方法,是二十世紀(jì)四十年代中期由于科學(xué)技術(shù)的發(fā)展和電子計算機(jī)的發(fā)明,而被提出的一種以概率統(tǒng)計理論為指導(dǎo)的一類非常重要的數(shù)值計算方法。
提到蒙特卡羅(也有翻譯成“蒙特卡洛”)一詞,人們不禁想到摩納哥的賭城。這兩者之間有必然聯(lián)系么?答案是:Exactly!
大家想想,賭博跟什么有關(guān)?首先想到的是隨機(jī)性和概率性。對,那蒙特卡羅方法就是與概率論和數(shù)理統(tǒng)計有關(guān)。
MCM提出:
蒙特卡羅方法MCM于20世紀(jì)40年代美國在第二次世界大戰(zhàn)中研制原子彈的“曼哈頓計劃”計劃的成員S.M.烏拉姆和J.馮·諾伊曼(計算機(jī)之父)首先提出。數(shù)學(xué)家馮·諾伊曼用馳名世界的賭城—摩納哥的MonteCarlo—來命名這種方法,為它蒙上了一層神秘色彩。在這之前,蒙特卡羅方法就已經(jīng)存在。1777年,法國數(shù)學(xué)家布豐(Georges Louis Leclere de Buffon)提出用投針實驗的方法求圓周率π。這被認(rèn)為是蒙特卡羅方法的起源。
傳統(tǒng)的經(jīng)驗方法由于不能逼近真實的物理過程,很難得到滿意的結(jié)果,而蒙特卡羅方法MCM由于能夠真實地模擬實際物理過程,故解決問題與實際非常符合,可以得到很圓滿的結(jié)果。這也是以概率論和數(shù)理統(tǒng)計理論方法為基礎(chǔ)的一種計算方法,是使用隨機(jī)數(shù)(或更常見的偽隨機(jī)數(shù))來解決很多計算問題的方法。將所求解的問題同一定的概率模型相聯(lián)系,用電子計算機(jī)實現(xiàn)統(tǒng)計模擬或抽樣,以獲得問題的近似解。為象征性地表明這一方法的概率統(tǒng)計特征,故借用賭城-蒙特卡羅命名。該命名既反映了該方法的部分內(nèi)涵,又便于記憶,因此得到人們的普遍接受。
BTW:MonteCarlo一詞來源于意大利語,是為了紀(jì)念王子摩納哥查理三世。蒙特卡羅(MonteCarlo)雖然是個賭城,但很小,估計跟北京的一條街差不多大。
MCM概述:
蒙特卡羅方法MCM(Monte Carlo Method),也稱隨機(jī)抽樣或統(tǒng)計模擬方法,是二十世紀(jì)四十年代中期由于科學(xué)技術(shù)的發(fā)展和電子計算機(jī)的發(fā)明,而被提出的一種以概率統(tǒng)計理論為指導(dǎo)的一類非常重要的數(shù)值計算方法。是指使用隨機(jī)數(shù)(或偽隨機(jī)數(shù))來解決很多計算問題的方法。與它對應(yīng)的是確定性算法。蒙特卡羅方法在金融工程學(xué),宏觀經(jīng)濟(jì)學(xué),計算物理學(xué)(如粒子輸運(yùn)計算、量子熱力學(xué)計算、空氣動力學(xué)計算)以及人工智能之機(jī)器學(xué)習(xí)等領(lǐng)域應(yīng)用廣泛。
MCM基本思想:
當(dāng)所求解問題是某種隨機(jī)事件出現(xiàn)的概率,或者是某個隨機(jī)變量的期望值時,通過某種“實驗”的方法,以這種事件出現(xiàn)的頻率估計這一隨機(jī)事件的概率,或者得到這個隨機(jī)變量的某些數(shù)字特征,并將其作為問題的解。
有一類問題的維數(shù)(變量個數(shù))可能高達(dá)數(shù)百甚至數(shù)千,解題難度隨維數(shù)的增加呈指數(shù)增長,這就是所謂的維數(shù)的災(zāi)難(Curse of Dimensionality)。即使使用速度最快的計算機(jī),傳統(tǒng)的數(shù)值計算方法也難以對付,但蒙特卡羅方法MCM的計算復(fù)雜性不再依賴于維數(shù),MCM能很好地用來對付維數(shù)的災(zāi)難。為提高方法的效率,科學(xué)家們提出了許多所謂的“方差縮減”技巧。
另一類形式與蒙特卡羅方法MCM相似,但理論基礎(chǔ)不同的方法—“擬蒙特卡羅方法”(Quasi-Monte Carlo方法)—近年來也獲得迅速發(fā)展。我國數(shù)學(xué)家華羅庚、王元提出的“華—王”方法即是其中的一例。這種方法的基本思想是“用確定性的超均勻分布序列(Low DiscrepancySequences)代替蒙特卡羅方法MCM中的隨機(jī)數(shù)序列。該方法對某些問題的求解比蒙特卡羅方法MCM計算速度上提高數(shù)百倍,計算精度上也有很大提高。
MCM基本原理