概述:
蒙特卡羅方法,也稱統(tǒng)計(jì)模擬方法,是二十世紀(jì)四十年代中期由于科學(xué)技術(shù)的發(fā)展和電子計(jì)算機(jī)的發(fā)明,而被提出的一種以概率統(tǒng)計(jì)理論為指導(dǎo)的一類非常重要的數(shù)值計(jì)算方法。是指使用隨機(jī)數(shù)(或更常見(jiàn)的偽隨機(jī)數(shù))來(lái)解決很多計(jì)算問(wèn)題的方法。與它對(duì)應(yīng)的是確定性算法。蒙特卡羅方法在金融工程學(xué),宏觀經(jīng)濟(jì)學(xué),計(jì)算物理學(xué)(如粒子輸運(yùn)計(jì)算、量子熱力學(xué)計(jì)算、空氣動(dòng)力學(xué)計(jì)算)等領(lǐng)域應(yīng)用廣泛。
基本思想:
當(dāng)所求解問(wèn)題是某種隨機(jī)事件出現(xiàn)的概率,或者是某個(gè)隨機(jī)變量的期望值時(shí),通過(guò)某種“實(shí)驗(yàn)”的方法,以這種事件出現(xiàn)的頻率估計(jì)這一隨機(jī)事件的概率,或者得到這個(gè)隨機(jī)變量的某些數(shù)字特征,并將其作為問(wèn)題的解。
工作過(guò)程
蒙特卡羅方法的解題過(guò)程可以歸結(jié)為三個(gè)主要步驟:構(gòu)造或描述概率過(guò)程;實(shí)現(xiàn)從已知概率分布抽樣;建立各種估計(jì)量。
蒙特卡羅方法解題過(guò)程的三個(gè)主要步驟:
(1)構(gòu)造或描述概率過(guò)程
對(duì)于本身就具有隨機(jī)性質(zhì)的問(wèn)題,如粒子輸運(yùn)問(wèn)題,主要是正確描述和模擬這個(gè)概率過(guò) 程,對(duì)于本來(lái)不是隨機(jī)性質(zhì)的確定性問(wèn)題,比如計(jì)算定積分,就必須事先構(gòu)造一個(gè)人為的概率過(guò)程,它的某些參量正好是所要求問(wèn)題的解。即要將不具有隨機(jī)性質(zhì)的問(wèn)題轉(zhuǎn)化為隨機(jī)性質(zhì)的問(wèn)題。
?。?)實(shí)現(xiàn)從已知概率分布抽樣
構(gòu)造了概率模型以后,由于各種概率模型都可以看作是由各種各樣的概率分布構(gòu)成的,因此產(chǎn)生已知概率分布的隨機(jī)變量(或隨機(jī)向量),就成為實(shí)現(xiàn)蒙特卡羅方法模擬實(shí)驗(yàn)的基本手段,這也是蒙特卡羅方法被稱為隨機(jī)抽樣的原因。最簡(jiǎn)單、最基本、最重要的一個(gè)概率分布是(0,1)上的均勻分布(或稱矩形分布)。隨機(jī)數(shù)就是具有這種均勻分布的隨機(jī)變量。隨機(jī)數(shù)序列就是具有這種分布的總體的一個(gè)簡(jiǎn)單子樣,也就是一個(gè)具有這種分布的相互獨(dú)立的隨機(jī)變數(shù)序列。產(chǎn)生隨機(jī)數(shù)的問(wèn)題,就是從這個(gè)分布的抽樣問(wèn)題。在計(jì)算機(jī)上,可以用物理方法產(chǎn)生隨機(jī)數(shù),但價(jià)格昂貴,不能重復(fù),使用不便。另一種方法是用數(shù)學(xué)遞推公式產(chǎn)生。這樣產(chǎn)生的序列,與真正的隨機(jī)數(shù)序列不同,所以稱為偽隨機(jī)數(shù),或偽隨機(jī)數(shù)序列。不過(guò),經(jīng)過(guò)多種統(tǒng)計(jì)檢驗(yàn)表明,它與真正的隨機(jī)數(shù),或隨機(jī)數(shù)序列具有相近的性質(zhì),因此可把它作為真正的隨機(jī)數(shù)來(lái)使用。由已知分布隨機(jī)抽樣有各種方法,與從(0,1)上均勻分布抽樣不同,這些方法都是借助于隨機(jī)序列來(lái)實(shí)現(xiàn)的,也就是說(shuō),都是以產(chǎn)生隨機(jī)數(shù)為前提的。由此可見(jiàn),隨機(jī)數(shù)是我們實(shí)現(xiàn)蒙特卡羅模擬的基本工具。
?。?)建立各種估計(jì)量
一般說(shuō)來(lái),構(gòu)造了概率模型并能從中抽樣后,即實(shí)現(xiàn)模擬實(shí)驗(yàn)后,我們就要確定一個(gè)隨機(jī)變量,作為所要求的問(wèn)題的解,我們稱它為無(wú)偏估計(jì)。建立各種估計(jì)量,相當(dāng)于對(duì)模擬實(shí)驗(yàn)的結(jié)果進(jìn)行考察和登記,從中得到問(wèn)題的解。
數(shù)學(xué)應(yīng)用:
通常蒙特卡羅方法通過(guò)構(gòu)造符合一定規(guī)則的隨機(jī)數(shù)來(lái)解決數(shù)學(xué)上的各種問(wèn)題。對(duì)于那些由于計(jì)算過(guò)于復(fù)雜而難以得到解析解或者根本沒(méi)有解析解的問(wèn)題,蒙特·卡羅方法是一種有效的求出數(shù)值解的方法。一般蒙特·卡羅方法在數(shù)學(xué)中最常見(jiàn)的應(yīng)用就是蒙特·卡羅積分。
應(yīng)用領(lǐng)域:
蒙特卡羅方法在金融工程學(xué),宏觀經(jīng)濟(jì)學(xué),生物醫(yī)學(xué),計(jì)算物理學(xué)(如粒子輸運(yùn)計(jì)算、量子熱力學(xué)計(jì)算、空氣動(dòng)力學(xué)計(jì)算、核工程)等領(lǐng)域應(yīng)用廣泛。
工作過(guò)程:
在解決實(shí)際問(wèn)題的時(shí)候應(yīng)用蒙特·卡羅方法主要有兩部分工作:
1. 用蒙特·卡羅方法模擬某一過(guò)程時(shí),需要產(chǎn)生某一概率分布的隨機(jī)變量。
2. 用統(tǒng)計(jì)方法把模型的數(shù)字特征估計(jì)出來(lái),從而得到實(shí)際問(wèn)題的數(shù)值解。
分子模擬計(jì)算
使用蒙特·卡羅方法進(jìn)行分子模擬計(jì)算是按照以下步驟進(jìn)行的:
1. 使用隨機(jī)數(shù)發(fā)生器產(chǎn)生一個(gè)隨機(jī)的分子構(gòu)型。
2. 對(duì)此分子構(gòu)型的其中粒子坐標(biāo)做無(wú)規(guī)則的改變,產(chǎn)生一個(gè)新的分子構(gòu)型。
3. 計(jì)算新的分子構(gòu)型的能量。
4. 比較新的分子構(gòu)型于改變前的分子構(gòu)型的能量變化,判斷是否接受該構(gòu)型。
若新的分子構(gòu)型能量低于原分子構(gòu)型的能量,則接受新的構(gòu)型,使用這個(gè)構(gòu)型重復(fù)再做下一次迭代。 若新的分子構(gòu)型能量高于原分子構(gòu)型的能量,則計(jì)算玻爾茲曼因子,并產(chǎn)生一個(gè)隨機(jī)數(shù)。若這個(gè)隨機(jī)數(shù)大于所計(jì)算出的玻爾茲曼因子,則放棄這個(gè)構(gòu)型,重新計(jì)算。 若這個(gè)隨機(jī)數(shù)小于所計(jì)算出的玻爾茲曼因子,則接受這個(gè)構(gòu)型,使用這個(gè)構(gòu)型重復(fù)再做下一次迭代。
5. 如此進(jìn)行迭代計(jì)算,直至最后搜索出低于所給能量條件的分子構(gòu)型結(jié)束。
項(xiàng)目管理
項(xiàng)目管理中蒙特·卡羅模擬方法的一般步驟是:
1.對(duì)每一項(xiàng)活動(dòng),輸入最小、最大和最可能估計(jì)數(shù)據(jù),并為其選擇一種合適的先驗(yàn)分布模型;
2.計(jì)算機(jī)根據(jù)上述輸入,利用給定的某種規(guī)則,快速實(shí)施充分大量的隨機(jī)抽樣
3.對(duì)隨機(jī)抽樣的數(shù)據(jù)進(jìn)行必要的數(shù)學(xué)計(jì)算,求出結(jié)果
4.對(duì)求出的結(jié)果進(jìn)行統(tǒng)計(jì)學(xué)處理,求出最小值、最大值以及數(shù)學(xué)期望值和單位標(biāo)準(zhǔn)偏差
5.根據(jù)求出的統(tǒng)計(jì)學(xué)處理數(shù)據(jù),讓計(jì)算機(jī)自動(dòng)生成概率分布曲線和累積概率曲線(通常是基于正態(tài)分布的概率累積S曲線)
6.依據(jù)累積概率曲線進(jìn)行項(xiàng)目風(fēng)險(xiǎn)分析。
力學(xué)
在力學(xué)中,蒙特卡羅方法多被用來(lái)求解稀薄氣體動(dòng)力學(xué)問(wèn)題,其中最為成功的是澳大利亞G.A.伯德等人發(fā)展的直接模擬統(tǒng)計(jì)試驗(yàn)法。此法通過(guò)在計(jì)算機(jī)上追蹤幾千個(gè)或更多的模擬分子的運(yùn)動(dòng)、碰撞及其與壁面的相互作用,以模擬真實(shí)氣體的流動(dòng)。它的基本假設(shè)與玻耳茲曼方程一致,但它是通過(guò)追蹤有限個(gè)分子的空間位置和速度來(lái)代替計(jì)算真實(shí)氣體中分布函數(shù)。模擬的相似條件是流動(dòng)的克努曾數(shù)(Kn)相等,即數(shù)密度與碰撞截面之積保持常數(shù)。對(duì)每個(gè)分子分配以記錄其位置和速度的單元。在模擬過(guò)程中分別考慮分子的運(yùn)動(dòng)和碰撞,在此平均碰撞時(shí)間間隔內(nèi),分別計(jì)算分子無(wú)碰撞的運(yùn)動(dòng)和典型碰撞。若空間網(wǎng)格取得足夠小,其中任意兩個(gè)分子都可以互相碰撞。具體決定哪兩個(gè)剛體分子相撞,是隨機(jī)取一對(duì)分子,計(jì)算它們的相對(duì)速度,根據(jù)此值與最大相對(duì)速度的比值和隨機(jī)取樣比較的結(jié)果,來(lái)決定該對(duì)分子是否入選。碰撞后分子的速度根據(jù)特定分子模型的碰撞力學(xué)和隨機(jī)取樣決定。分子與壁面碰撞后的速度,則根據(jù)特定的反射模型和隨機(jī)取樣決定。對(duì)于運(yùn)動(dòng)分子的位置和速度的追蹤和求矩可以得出氣體的密度、溫度、速度等一些感興趣的宏觀參量。而對(duì)于分子與壁面間的動(dòng)量和能量交換的記錄則給出阻力、舉力和熱交換系數(shù)等的數(shù)學(xué)期望值。
發(fā)展運(yùn)用:
從理論上來(lái)說(shuō),蒙特卡羅方法需要大量的實(shí)驗(yàn)。實(shí)驗(yàn)次數(shù)越多,所得到的結(jié)果才越精確。
從表中數(shù)據(jù)可以看到,一直到公元20世紀(jì)初期,盡管實(shí)驗(yàn)次數(shù)數(shù)以千計(jì),利用蒙特卡羅方法所得到的圓周率π值,還是達(dá)不到公元5世紀(jì)祖沖之的推算精度。這可能是傳統(tǒng)蒙特卡羅方法長(zhǎng)期得不到推廣的主要原因。
計(jì)算機(jī)技術(shù)的發(fā)展,使得蒙特卡羅方法在最近10年得到快速的普及?,F(xiàn)代的蒙特卡羅方法,已經(jīng)不必親自動(dòng)手做實(shí)驗(yàn),而是借助計(jì)算機(jī)的高速運(yùn)轉(zhuǎn)能力,使得原本費(fèi)時(shí)費(fèi)力的實(shí)驗(yàn)過(guò)程,變成了快速和輕而易舉的事情。它不但用于解決許多復(fù)雜的科學(xué)方面的問(wèn)題,也被項(xiàng)目管理人員經(jīng)常使用。
借助計(jì)算機(jī)技術(shù),蒙特卡羅方法實(shí)現(xiàn)了兩大優(yōu)點(diǎn):
一是簡(jiǎn)單,省卻了繁復(fù)的數(shù)學(xué)推導(dǎo)和演算過(guò)程,使得一般人也能夠理解和掌握
二是快速。簡(jiǎn)單和快速,是蒙特卡羅方法在現(xiàn)代項(xiàng)目管理中獲得應(yīng)用的技術(shù)基礎(chǔ)。
蒙特卡羅方法有很強(qiáng)的適應(yīng)性,問(wèn)題的幾何形狀的復(fù)雜性對(duì)它的影響不大。該方法的收斂性是指概率意義下的收斂,因此問(wèn)題維數(shù)的增加不會(huì)影響它的收斂速度,而且存貯單元也很省,這些是用該方法處理大型復(fù)雜問(wèn)題時(shí)的優(yōu)勢(shì)。因此,隨著電子計(jì)算機(jī)的發(fā)展和科學(xué)技術(shù)問(wèn)題的日趨復(fù)雜,蒙特卡羅方法的應(yīng)用也越來(lái)越廣泛。它不僅較好地解決了多重積分計(jì)算、微分方程求解、積分方程求解、特征值計(jì)算和非線性方程組求解等高難度和復(fù)雜的數(shù)學(xué)計(jì)算問(wèn)題,而且在統(tǒng)計(jì)物理、核物理、真空技術(shù)、系統(tǒng)科學(xué) 、信息科學(xué)、公用事業(yè)、地質(zhì)、醫(yī)學(xué),可靠性及計(jì)算機(jī)科學(xué)等廣泛的領(lǐng)域都得到成功的應(yīng)用。
內(nèi)容來(lái)自百科網(wǎng)