基于蒙特卡羅模擬的概率求解問題研究_第1頁
基于蒙特卡羅模擬的概率求解問題研究_第2頁
基于蒙特卡羅模擬的概率求解問題研究_第3頁
基于蒙特卡羅模擬的概率求解問題研究_第4頁
基于蒙特卡羅模擬的概率求解問題研究_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、    基于蒙特卡羅模擬的概率求解問題研究    袁佳婧摘 要:蒙特卡羅模擬是通過計算機(jī)模擬實(shí)際發(fā)生的事情。通過蒙特卡羅模擬能計算出相應(yīng)事件發(fā)生的概率,模擬與計算過程有效、可行、易理解。其基本思想是,將各種隨機(jī)事件的概率特征與模擬聯(lián)系起來,用試驗(yàn)的方法確定事件的相應(yīng)概率與數(shù)學(xué)期望。應(yīng)用蒙特卡羅模擬方法解決了實(shí)際概率問題,為解決用傳統(tǒng)方法不能解決的問題,提供了有意義的參考。主要介紹蒙特卡羅方法及基本原理,并通過實(shí)例說明蒙特卡羅方法在數(shù)學(xué)建模中的應(yīng)用。關(guān)鍵詞:蒙特卡羅模擬;隨機(jī)試驗(yàn);正態(tài)分布;數(shù)學(xué)建模:tb :adoi:10.19311/ki.1672-31

2、98.2019.11.1061 蒙特卡羅方法與基本原理蒙特卡羅方法又稱為計算機(jī)模擬方法,它是以概率統(tǒng)計理論為基礎(chǔ)的一種方法。該方法與一般數(shù)值計算方法有本質(zhì)區(qū)別,蒙特卡羅模擬采用的是頻率近似概率的數(shù)學(xué)思想,來解決物理、數(shù)學(xué)、生產(chǎn)管理或工程技術(shù)等方面的問題。蒙特卡羅方法的起源,最早可以追溯到18世紀(jì)下半葉時,由buffon提出的用試驗(yàn)的方法求值,即:蒲豐投針問題。蒲豐投針問題的解決方法就是蒙特卡羅模擬的典型運(yùn)用。當(dāng)時的投針試驗(yàn)是利用人工進(jìn)行實(shí)際操作,然后統(tǒng)計試驗(yàn)結(jié)果,最后得出結(jié)論。但是人工進(jìn)行大量實(shí)際的隨機(jī)試驗(yàn),一方面成本較高;另一方面統(tǒng)計結(jié)果的準(zhǔn)確率較低,因此只能稱buffon試驗(yàn)只能稱為近代統(tǒng)

3、計模擬的雛形。隨著現(xiàn)今計算機(jī)技術(shù)的高速發(fā)展,蒙特卡羅模擬實(shí)驗(yàn)已不再需要人工實(shí)際操作,通過計算機(jī)隨機(jī)模擬更加方便快捷,所得的估計值也更精確。蒙特卡羅模擬方法求解概率問題的基本思想是:當(dāng)所求問題的解是某個隨機(jī)變量的數(shù)學(xué)期望或者某個事件的概率,或者是與數(shù)學(xué)期望、概率有關(guān)的量時,通過試驗(yàn)的方法模擬事件的發(fā)生,求出該事件發(fā)生的頻率,計算所求參數(shù)的統(tǒng)計特征,最后給出近似值作為問題的解。2 實(shí)際問題校車在每個工作日,都會在a校區(qū)與b校區(qū)之間擺渡。李華家住b校區(qū)附近。校車從a校區(qū)到b校區(qū)的運(yùn)行時間服從均值為30分鐘,標(biāo)準(zhǔn)差為2分鐘的正態(tài)隨機(jī)分布。校車大約中午13:00從a校區(qū)出發(fā),李華大約13:30步行到達(dá)b

4、校區(qū),校車從a校區(qū)出發(fā)的時刻及概率如表1所示。3 問題分析記t1為校車從a校區(qū)出發(fā)的時刻,t2為校車從a校區(qū)到b校區(qū)運(yùn)行的時間,t3為李華到達(dá)b校區(qū)的時刻。t1、t2、t3均是隨機(jī)變量,且t2n(30,22),t1、t3的分布律如表所示:其中記中午13時為時刻t=0。通過分析可知,此人能及時趕上校車的充分必要條件是:t1+t2>t3。由此得到,此人趕上校車的概率是pt1+t2>t3。4 建立模型利用蒙特卡羅方法隨機(jī)模擬校車出發(fā)時刻,校車車運(yùn)行時間,李華到達(dá)b校區(qū)的時刻。然后判斷多次試驗(yàn)中滿足上述充要條件的試驗(yàn)有多少次。若在n次試驗(yàn)中,有k次成功,則用頻率k/n作為李華能趕上校車的概

5、率。當(dāng)n很大時,頻率值與概率值近似相等。設(shè)r1,r2 是(0,1)區(qū)間上均勻分布的隨機(jī)數(shù)。則t1,t3的分布律的模擬公式為:t1=0,0< p>令 t2 是服從正態(tài)分布n(30,22) 的隨機(jī)數(shù),則將t2 看成火車運(yùn)行時間t2的觀察值。在每次試驗(yàn)中,產(chǎn)生兩個u(0,1) 的隨機(jī)數(shù)r1,r2,來構(gòu)造 t1,t3。產(chǎn)生一個n(30,22) 的隨機(jī)數(shù)r3,來構(gòu)造 t2。當(dāng) t1+t2>t3,認(rèn)為試驗(yàn)成功(能夠趕上校車)。若在n次試驗(yàn)中,有k次成功,則用頻率k/n 作為此人趕上火車的概率。當(dāng)n很大時,頻率值與概率值近似相等。5 模型求解下面是利用python語言進(jìn)行蒙特卡羅模擬的程序

6、。其中montefun()是自定義的蒙特卡羅模擬函數(shù)。import numpy as npdef montefun():t1 = np.random.rand()t2 = np.random.normal(30,2)t3 = np.random.rand()arrtime1=0arrtime2=t2arrtime3=0if t1<0.7:arrtime1=0elif 0.7<=t1<0.9:arrtime1=5else:arrtime1 = 10if t3 < 0.3:arrtime3 = 28elif 0.3<= t3 <0.7:arrtime3 = 30

7、elif 0.7<= t3 < 0.9:arrtime3 = 32else:arrtime3 = 34return arrtime1,arrtime2,arrtime3if _name_ = "_main_":t=0f=0for i in range(10000):t1,t2,t3 = montefun()if (t1 +t2) > t3:t+=1else:f += 1print (float(t)/10000)程序運(yùn)行的最后結(jié)果為:0.6317,故李華可以趕上校車的概率是0.6317。6 模型推廣眾所周知,在實(shí)際生活中有很多概率事件,這些事件可能沒有明確

8、的概率分布。這種情況下,蒙特卡羅模擬是最有效且直接的方法。我們都玩過套圈圈的游戲:游戲者拿著圈,去套擺放在地上的玩具,如果套中即可拿走。這個游戲貌似很誘人,但事實(shí)上投圈游戲攤的老板是穩(wěn)賺不賠的?,F(xiàn)在我們用蒙特卡羅模擬計算能套中的概率,證明這個事實(shí)。假設(shè)目標(biāo)物品中心點(diǎn)的坐標(biāo)為(0,0),目標(biāo)物品的半徑為5cm。下面用python代碼畫出目標(biāo)物品坐標(biāo)圖。import matplotlib.pyplot as plotimport numpy as npimport matplotlib.patches as mptstarget_circle = mpts.circle(0,0,radius=5,

9、edgecolor='r',fill=false)plot.ylim(-80,80)plot.xlim(-80,80)plot.axes().add_patch(circle_target)plot.show()代碼運(yùn)行后得到目標(biāo)物品,如圖1所示。對此我們假設(shè)投圈的半徑為8cm。投圈中心點(diǎn)圍繞目標(biāo)物品中心點(diǎn)呈二維正態(tài)分布,且假設(shè)其均值和標(biāo)準(zhǔn)差分別為:=0cm,=20cm。模擬1000個參與游戲者每人投圈1 次,即模擬投圈過程1000次。用python代碼完成模擬的程序如下。n=1000u,beta = 0,20points = u + beta * np.random.rand

10、n(n,2)plot.scatter ( x0 for x in points,x1 for x in points,c=np.random.rand(n),alpha=0.5)運(yùn)行代碼之后,得到的投圈中心點(diǎn)的分布圖如圖2所示。計算1000次投圈的過程中,投圈能夠套住目標(biāo)物品的概率。用python代碼完成計算:print(len(xy for xy in points if xy0 * 2 + xy1 * 2 < (8-5) * 2)/n)。代碼執(zhí)行后輸出的結(jié)果值為0.012。可以解釋為投圈1000次,其中只有12次能夠套住物品。這是個小概率事件,所以不難理解投圈游戲的老板幾乎時穩(wěn)賺不賠

11、了。7 總結(jié)蒙特卡羅方法的發(fā)明,無疑是人類思維史上的重大突破。通過一個隨機(jī)性的構(gòu)想,它打破了過去的思考空白區(qū),開啟了人類新的思維空間。蒙特卡羅方法的使用過程可以歸納為以下三個主要步驟:(1)構(gòu)造概率過程:對于本身具有隨機(jī)性質(zhì)的問題,需要正確地描述和模擬這個概率過程;對于本來不是隨機(jī)性質(zhì)的確定性問題,需要事先人為地構(gòu)造概率過程,將不具有隨機(jī)性質(zhì)的問題轉(zhuǎn)化為隨機(jī)性質(zhì)的問題。(2)利用概率分布抽樣:各種概率模型可以看作是由各種各樣的概率分布構(gòu)成的,所以實(shí)現(xiàn)蒙特卡羅方法模擬實(shí)驗(yàn)的基本手段是產(chǎn)生已知概率分布的隨機(jī)變量。然后依據(jù)概率分布進(jìn)行隨機(jī)抽樣模擬概率過程。(3)建立估計量:實(shí)現(xiàn)模擬實(shí)驗(yàn)后確定一個隨機(jī)變量,作為所要求的問題的解。蒙特卡羅方法通過構(gòu)造符合一定規(guī)則的隨機(jī)數(shù)來解決各種實(shí)際問題。對于那些由于計算過于復(fù)雜而難以得到解析解或者根本沒有解析解的問題,蒙特卡羅方法是一種有效的求出數(shù)值解的方法。蒙特卡羅模擬方法的優(yōu)點(diǎn)是能夠比較逼真地描述具有隨機(jī)性質(zhì)的事物的特點(diǎn)及物理實(shí)驗(yàn)過程。受幾何條件限制小。程序結(jié)構(gòu)簡單,易于實(shí)現(xiàn)。是中學(xué)生入門數(shù)學(xué)建模與實(shí)驗(yàn)的不二選

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論