蒙特 卡罗方法matlab,蒙特·卡罗方法中的数学之美,你一定不想错过
原標(biāo)題:蒙特·卡羅方法中的數(shù)學(xué)之美,你一定不想錯(cuò)過(guò)
有方教育——我們致力于為中學(xué)生提供學(xué)界和業(yè)界前沿的學(xué)術(shù)科研教育內(nèi)容,幫助學(xué)生參加海外科研項(xiàng)目,在提升申請(qǐng)競(jìng)爭(zhēng)力的同時(shí),獲得領(lǐng)跑優(yōu)勢(shì)。
一、概述
蒙特·卡羅方法(Monte Carlo method),也稱統(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)用廣泛。
它誕生于上個(gè)世紀(jì)40年代美國(guó)的”曼哈頓計(jì)劃”,名字來(lái)源于賭城蒙特卡羅,象征概率。
當(dāng)所求解問(wèn)題是某種隨機(jī)事件出現(xiàn)的概率,或者是某個(gè)隨機(jī)變量的期望值時(shí),通過(guò)某種“實(shí)驗(yàn)”的方法,以這種事件出現(xiàn)的頻率估計(jì)這一隨機(jī)事件的概率,或者得到這個(gè)隨機(jī)變量的某些數(shù)字特征,并將其作為問(wèn)題的解。、
蒙特卡羅方法的解題過(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)題。
(2)實(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)蒙特卡羅模擬的基本工具。
(3)建立各種估計(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)用就是蒙特·卡羅積分。
從理論上來(lái)說(shuō),蒙特卡羅方法需要大量的實(shí)驗(yàn)。實(shí)驗(yàn)次數(shù)越多,所得到的結(jié)果才越精確。
計(jì)算機(jī)技術(shù)的發(fā)展,使得蒙特卡羅方法在最近10年得到快速的普及。現(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)用。
接下來(lái)列舉幾個(gè)蒙特·卡羅方法的應(yīng)用實(shí)例。
二、π的計(jì)算
第一個(gè)例子是,如何用蒙特卡羅方法計(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,就是π的值。通過(guò)R語(yǔ)言腳本隨機(jī)模擬30000個(gè)點(diǎn),π的估算值與真實(shí)值相差0.07%。
一直到公元20世紀(jì)初期,盡管實(shí)驗(yàn)次數(shù)數(shù)以千計(jì),利用蒙特卡羅方法所得到的圓周率π值,還是達(dá)不到公元5世紀(jì)祖沖之的推算精度。這可能是傳統(tǒng)蒙特卡羅方法長(zhǎng)期得不到推廣的主要原因。
三、積分的計(jì)算
上面的方法加以推廣,就可以計(jì)算任意一個(gè)積分的值。
比如,計(jì)算函數(shù) y = x2 在 [0, 1] 區(qū)間的積分,就是求出下圖紅色部分的面積。
這個(gè)函數(shù)在 (1,1) 點(diǎn)的取值為1,所以整個(gè)紅色區(qū)域在一個(gè)面積為1的正方形里面。在該正方形內(nèi)部,產(chǎn)生大量隨機(jī)點(diǎn),可以計(jì)算出有多少點(diǎn)落在紅色區(qū)域(判斷條件 y < x2)。這個(gè)比重就是所要求的積分值。
用Matlab模擬100萬(wàn)個(gè)隨機(jī)點(diǎn),結(jié)果為0.3328。
四、交通堵塞
蒙特卡羅方法不僅可以用于計(jì)算,還可以用于模擬系統(tǒng)內(nèi)部的隨機(jī)運(yùn)動(dòng)。下面的例子模擬單車道的交通堵塞。
根據(jù) Nagel-Schreckenberg 模型,車輛的運(yùn)動(dòng)滿足以下規(guī)則。
當(dāng)前速度是 v 。
如果前面沒(méi)車,它在下一秒的速度會(huì)提高到 v + 1 ,直到達(dá)到規(guī)定的最高限速。
如果前面有車,距離為d,且 d < v,那么它在下一秒的速度會(huì)降低到 d – 1 。
此外,司機(jī)還會(huì)以概率 p 隨機(jī)減速, 將下一秒的速度降低到 v – 1 。
在一條直線上,隨機(jī)產(chǎn)生100個(gè)點(diǎn),代表道路上的100輛車,另取概率 p 為 0.3 。
上圖中,橫軸代表距離(從左到右),縱軸代表時(shí)間(從上到下),因此每一行就表示下一秒的道路情況。
可以看到,該模型會(huì)隨機(jī)產(chǎn)生交通擁堵(圖形上黑色聚集的部分)。這就證明了,單車道即使沒(méi)有任何原因,也會(huì)產(chǎn)生交通堵塞。
五、產(chǎn)品厚度
某產(chǎn)品由八個(gè)零件堆疊組成。也就是說(shuō),這八個(gè)零件的厚度總和,等于該產(chǎn)品的厚度。
已知該產(chǎn)品的厚度,必須控制在27mm以內(nèi),但是每個(gè)零件有一定的概率,厚度會(huì)超出誤差。請(qǐng)問(wèn)有多大的概率,產(chǎn)品的厚度會(huì)超出27mm?
取100000個(gè)隨機(jī)樣本,每個(gè)樣本有8個(gè)值,對(duì)應(yīng)8個(gè)零件各自的厚度。計(jì)算發(fā)現(xiàn),產(chǎn)品的合格率為99.9979%,即百萬(wàn)分之21的概率,厚度會(huì)超出27mm。
六、證券市場(chǎng)
證券市場(chǎng)有時(shí)交易活躍,有時(shí)交易冷清。下面是你對(duì)市場(chǎng)的預(yù)測(cè)。
如果交易冷清,你會(huì)以平均價(jià)11元,賣出5萬(wàn)股。
如果交易活躍,你會(huì)以平均價(jià)8元,賣出10萬(wàn)股。
如果交易溫和,你會(huì)以平均價(jià)10元,賣出7.5萬(wàn)股。
已知你的成本在每股5.5元到7.5元之間,平均是6.5元。請(qǐng)問(wèn)接下來(lái)的交易,你的凈利潤(rùn)會(huì)是多少?
取1000個(gè)隨機(jī)樣本,每個(gè)樣本有兩個(gè)數(shù)值:一個(gè)是證券的成本(5.5元到7.5元之間的均勻分布),另一個(gè)是當(dāng)前市場(chǎng)狀態(tài)(冷清、活躍、溫和,各有三分之一可能)。
模擬計(jì)算得到,平均凈利潤(rùn)為92, 427美元。
資料來(lái)源:妙思數(shù)學(xué)、百度百科
有方教育——我們的導(dǎo)師來(lái)自耶魯大學(xué)、麻省理工學(xué)院、斯坦福大學(xué)等世界頂尖名校,致力為讓中學(xué)生提供來(lái)自學(xué)界業(yè)界前沿的學(xué)術(shù)科研教育內(nèi)容,旨在讓學(xué)生在親身實(shí)踐的過(guò)程中深入淺出地理解前沿科技。
項(xiàng)目主題——我們聚集頂尖學(xué)府導(dǎo)師資源,補(bǔ)足中美教育差距,力求為中國(guó)學(xué)生搭建連接世界科技的平臺(tái)。我們引領(lǐng)學(xué)生在世界前沿課題研究中參與科研教育,全面提升學(xué)生的自主思考、觀察分析、邏輯思維能力。我們?yōu)閷W(xué)生提供參加海外科研項(xiàng)目,幫助學(xué)生斬獲國(guó)際知名學(xué)術(shù)驚呆大獎(jiǎng)、發(fā)表英語(yǔ)敘述論文,讓學(xué)生在提升申請(qǐng)競(jìng)爭(zhēng)力的同事,獲得領(lǐng)跑優(yōu)勢(shì)
責(zé)任編輯:
總結(jié)
以上是生活随笔為你收集整理的蒙特 卡罗方法matlab,蒙特·卡罗方法中的数学之美,你一定不想错过的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: cad卸载_CAD卸载不干净,如何清理C
- 下一篇: 高级字符驱动程序操作之休眠(理论篇)