第3講蒙特卡洛方法基本思想課件_第1頁
第3講蒙特卡洛方法基本思想課件_第2頁
第3講蒙特卡洛方法基本思想課件_第3頁
第3講蒙特卡洛方法基本思想課件_第4頁
第3講蒙特卡洛方法基本思想課件_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、實驗目的實驗目的實驗內容實驗內容學習計算機模擬的基本過程與方法。學習計算機模擬的基本過程與方法。1 1、模擬的概念。、模擬的概念。4 4、實驗作業(yè)。、實驗作業(yè)。3 3、計算機模擬實例。、計算機模擬實例。2 2、產生隨機數的計算機命令。、產生隨機數的計算機命令。模擬的概念模擬的概念 模擬就是利用物理的、數學的模型來類比、模仿現實系統(tǒng)及其演變過程,以尋求過程規(guī)律的一種方法。 模擬的基本思想是建立一個試驗模型,這個模型包含所研究系統(tǒng)的主要特點通過對這個實驗模型的運行,獲得所要研究系統(tǒng)的必要信息模擬的方法模擬的方法1、物理模擬物理模擬: 對實際系統(tǒng)及其過程用功能相似的實物系統(tǒng)去模仿。例如,軍事演習、船

2、艇實驗、沙盤作業(yè)等。 物理模擬通?;ㄙM較大、周期較長,且在物理模型上改變系統(tǒng)結構和系數都較困難。而且,許多系統(tǒng)無法進行物理模擬,如社會經濟系統(tǒng)、生態(tài)系統(tǒng)等。 在實際問題中,面對一些帶隨機因素的復雜系統(tǒng),用分析方法建模常常需要作許多簡化假設,與面臨的實際問題可能相差甚遠,以致解答根本無法應用。這時,計算機模擬幾乎成為唯一的選擇。 在一定的假設條件下,運用數學運算模擬系統(tǒng)在一定的假設條件下,運用數學運算模擬系統(tǒng)的運行,稱為數學模擬?,F代的數學模擬都是在的運行,稱為數學模擬?,F代的數學模擬都是在計算機上進行的,稱為計算機模擬。計算機上進行的,稱為計算機模擬。2、數學模擬數學模擬 計算機模擬可以反復進

3、行,改變系統(tǒng)的結構和系數都比較容易。 蒙特卡洛(蒙特卡洛(Monte CarloMonte Carlo)方法)方法是一種應用隨機數來進行計算機模擬的方法此方法對研究的系統(tǒng)進行隨機觀察抽樣,通過對樣本值的觀察統(tǒng)計,求得所研究系統(tǒng)的某些參數 蒙特卡洛方法也稱為蒙特卡洛方法也稱為隨機模擬方法,其起源最早可以追溯到18世紀下半葉的Buffon試驗.例 在1777年,法國學者Buffon提出用試驗方法求圓周率鸕鬧.其原理如下:假設平面上有元數條距離為1的等矩平行線,現向該平面隨機地投擲一根長度為KI1的針,則我們可以計算該針與任一平行線相交的概率.此處隨機投針可以這樣理解z針的中心點與最近的平行線間的距

4、離Z均勻地分布在區(qū)間0.1/2上,針與平行線的夾角以不管相交與否)均勻地分布在區(qū)間0,而上(見圖6。.于是,針與線相交的充要條件是本寸,從而針線相交概率為1用蒙特卡洛方法進行計算機模擬的步驟用蒙特卡洛方法進行計算機模擬的步驟:1 設計一個邏輯框圖,即模擬模型這個框圖要正確反映系統(tǒng)各部分運行時的邏輯關系。2 模擬隨機現象可通過具有各種概率分布的模擬隨機數來模擬隨機現象產生模擬隨機數的計算機命令產生模擬隨機數的計算機命令 在Matlab軟件中,可以直接產生滿足各種分布的隨機數,命令如下:2產生m*n階離散均勻分布的隨機數矩陣:R = unidrnd(N)R = unidrnd(N,mm)R = u

5、nidrnd(N,mm,nn) 當只知道一個隨機變量取值在(a,b)內,但不知道(也沒理由假設)它在何處取值的概率大,在何處取值的概率小,就只好用U(a,b)來模擬它。1產生m*n階a,b均勻分布U(a,b)的隨機數矩陣: unifrnd (a,b,m, n)產生一個a,b均勻分布的隨機數:unifrnd (a,b)當研究對象視為大量相互獨立的隨機變量之和,且其中每一種變量對總和的影響都很小時,可以認為該對象服從正態(tài)分布。機械加工得到的零件尺寸的偏差、射擊命中點與目標的偏差、各種測量誤差、人的身高、體重等,都可近似看成服從正態(tài)分布。若連續(xù)型隨機變量X的概率密度函數為 其中 0為常數,則稱X服從

6、參數為 的指數分指數分布布。0001)(/xxexft指數分布的期望值為 排隊服務系統(tǒng)中顧客到達率為常數時的到達間隔、故障率為常數時零件的壽命都服從指數分布。指數分布在排隊論、可靠性分析中有廣泛應用。注意:注意:Matlab中,產生參數為 的指數分布的命令為exprnd( )例例 顧客到達某商店的間隔時間服從參數為顧客到達某商店的間隔時間服從參數為1010的指的指數分布數分布 指數分布的均值為指數分布的均值為1010。 指兩個顧客到達商店的平均間隔時間是指兩個顧客到達商店的平均間隔時間是1010個單個單位時間位時間. .即平均即平均1010個單位時間到達個單位時間到達1 1個顧客個顧客. .

7、顧客顧客到達的間隔時間可用到達的間隔時間可用exprnd(10)exprnd(10)模擬。模擬。設離散型隨機變量X的所有可能取值為0,1,2,且取各個值的概率為其中 0為常數,則稱X服從參數為 的帕松分布帕松分布。, 2 , 1 , 0,!)(kkekXPk帕松分布在排隊系統(tǒng)、產品檢驗、天文、物理等領域有廣泛應用。帕松分布的期望值為1 1 事件的頻率事件的頻率 在一組不變的條件下,重復作在一組不變的條件下,重復作n n次試驗,次試驗,記記m m是是n n次試驗中事件次試驗中事件A A發(fā)生的次數。發(fā)生的次數。 頻率頻率 f=m/n f=m/n 2.2.頻率的穩(wěn)定性頻率的穩(wěn)定性 擲一枚均勻硬幣,記

8、錄擲硬幣試驗中頻率擲一枚均勻硬幣,記錄擲硬幣試驗中頻率P P* *的波動情況。的波動情況。 R = binornd(N,P,mm,nn) 例例1 1 頻率的穩(wěn)定性頻率的穩(wěn)定性3 3 概率的頻率定義概率的頻率定義 在一組不變的條件下,重復作在一組不變的條件下,重復作n n次試驗,記次試驗,記m m是是n n次次試驗中事件試驗中事件A A發(fā)生的次數。當試驗次數發(fā)生的次數。當試驗次數n n很大時,很大時,如果頻率如果頻率m/nm/n穩(wěn)定地在某數值穩(wěn)定地在某數值p p附近擺動,而且一附近擺動,而且一般地說,隨著試驗次數的增加,這種擺動的幅度般地說,隨著試驗次數的增加,這種擺動的幅度越來越小,稱數值越來

9、越小,稱數值p p為事件為事件A A在這一組不變的條件在這一組不變的條件下發(fā)生的概率,記作下發(fā)生的概率,記作P(A)=p.P(A)=p.4 頻率的基本性質頻率的基本性質 (1) 對任意事件對任意事件A,有,有 1)(0AP(2)1)(SP0)(P(3)若)若A1,A2,An是互不相容的,則是互不相容的,則 )()(11nkknkkAPAP 頻率定義的意義頻率定義的意義:(1) 提供了估計概率的方法提供了估計概率的方法;(2)提供了一種檢驗理論正確與否的準則提供了一種檢驗理論正確與否的準則.理論依據:理論依據: 大數定律大數定律 大量的隨機現象中平均結果的穩(wěn)定性大量的隨機現象中平均結果的穩(wěn)定性

10、大數定律的客觀背景大數定律的客觀背景大量拋擲硬幣大量拋擲硬幣正面出現頻率正面出現頻率字母使用頻率字母使用頻率生產過程中的生產過程中的廢品率廢品率大數定律大數定律貝努里(Bernoulli) 大數定律設 nA 是 n 次獨立重復試驗中事件 A 發(fā)生的次數, p 是每次試驗中 A 發(fā)生的概率,則0有0limpnnPAn或1limpnnPAn在概率的統(tǒng)計定義中,事件 A 發(fā)生的頻率“ 穩(wěn)定于”事件 A 在一次試驗中發(fā)生的概率是指:nnAnnA頻率與 p 有較大偏差pnnA是小概率事件, 因而在 n 足夠大時, 可以用頻率近似代替 p . 這種穩(wěn)定稱為依概率穩(wěn)定.貝努里(貝努里(Bernoulli)

11、大數定律的意義大數定律的意義:定義a 是一常數,0limaYPnn(或)1limaYPnn則稱隨機變量序列,21nYYY依概率收斂于常數 a , 記作aYnPn故pnnnPA,21nYYY是一系列隨機變量,設0有若在 Bernoulli 定理的證明過程中, Y n 是相互獨立的服從 0-1分布的隨機變量序列 Xk 的算術平均值, Y n 依概率收斂于其數學期望 p . 結果同樣適用于服從其它分布的獨立隨機變量序列Chebyshev 大數定律,21nXXX相互獨立,設隨機變量序列(指任意給定 n 1, 相互獨立),且具有相同的數學期望和方差nXXX,21, 2 , 1,)(,)(2kXDXEkk

12、則0有01lim1nkknXnP或11lim1nkknXnP定理的意義定理的意義:當 n 足夠大時,算術平均值幾乎就是一個常數,可以用算術平均值近似地代替數學期望.具有相同數學期望和方差的獨立隨機變量序列的算術平均值依概率收斂于數學期望. 例如要估計某地區(qū)的平均畝產量,要例如要估計某地區(qū)的平均畝產量,要收割某些有代表性的地塊,例如收割某些有代表性的地塊,例如n n 塊塊. . 計算其平均畝產量,則當計算其平均畝產量,則當n n 較大時,可用較大時,可用它作為整個地區(qū)平均畝產量的一個估計它作為整個地區(qū)平均畝產量的一個估計. .辛欽大數定律辛欽大數定律 設,21nXXX相互獨立,服從同一分布,且具

13、有數學期望 E(X k) = , k= 1,2,則對任意正數 001lim1nkknXnP,21nXXX相互獨立,注3: 設隨機變量序列, 2 , 1,)(iXEkki則0有01lim1knikinXnP具有相同的分布,且記knikiMXn1111nPA),(21kAAAgnP),(21kg則則22nPAknPkA),(21kxxxg連續(xù),若 大數定律以嚴格的數學形式表達了隨大數定律以嚴格的數學形式表達了隨機現象最根本的性質之一:機現象最根本的性質之一:它是隨機現象統(tǒng)計規(guī)律的具體表現它是隨機現象統(tǒng)計規(guī)律的具體表現.大數定律在理論和實際中都有廣泛的應用大數定律在理論和實際中都有廣泛的應用.平均結

14、果的穩(wěn)定性平均結果的穩(wěn)定性例例1 1 頻率的穩(wěn)定性頻率的穩(wěn)定性1 1 事件的頻率事件的頻率 在一組不變的條件下,重復作在一組不變的條件下,重復作n n次試驗,次試驗,記記m m是是n n次試驗中事件次試驗中事件A A發(fā)生的次數。發(fā)生的次數。 頻率頻率 f=m/n f=m/n 2.2.頻率的穩(wěn)定性頻率的穩(wěn)定性 擲一枚均勻硬幣,記錄擲硬幣試驗中頻率擲一枚均勻硬幣,記錄擲硬幣試驗中頻率P P* *的波動情況。的波動情況。 R = binornd(N,P,mm,nn) function liti1(n,p,mm)pro=zeros(1,mm);randnum = binornd(n,p,1,mm)a=

15、0;for i=1:mm a=a+randnum(1,i); pro(i)=a/i;end pro=pronum=1:mm;plot(num,pro)在在MatlabMatlab中編輯中編輯.m.m文件輸入以下命令:文件輸入以下命令:在在MatlabMatlab命令行中輸入以下命令:命令行中輸入以下命令:liti1(1,0.5,1000)在在MatlabMatlab命令行中輸入以下命令:命令行中輸入以下命令:liti1(1,0.5,10000)練習練習 頻率的穩(wěn)定性頻率的穩(wěn)定性1 1 事件的頻率事件的頻率 R = binornd(N,P,mm,nn) 在一組不變的條件下,重復作在一組不變的條件

16、下,重復作n n次試驗,次試驗,記記m m是是n n次試驗中事件次試驗中事件A A發(fā)生的次數。發(fā)生的次數。 頻率頻率 f=m/n f=m/n 2.2.頻率的穩(wěn)定性頻率的穩(wěn)定性 練習練習擲一枚不均勻硬幣,正面出現概率為擲一枚不均勻硬幣,正面出現概率為0.30.3,記錄前記錄前10001000次擲硬幣試驗中正面頻率的波動次擲硬幣試驗中正面頻率的波動情況,并畫圖。情況,并畫圖。 在在MatlabMatlab命令行中輸入以下命令:命令行中輸入以下命令:liti1(1,0.3,1000)例例2 2 擲兩枚不均勻硬幣,每枚正面出現概率擲兩枚不均勻硬幣,每枚正面出現概率為為0.40.4,記錄前,記錄前100

17、01000次擲硬幣試驗中兩枚都為次擲硬幣試驗中兩枚都為正面頻率的波動情況,并畫圖。正面頻率的波動情況,并畫圖。 在在Matlab中編輯中編輯.m文件輸入以下命令:文件輸入以下命令:function liti2(n,p,mm)pro=zeros(1,mm);randnum = binornd(n,p,2,mm);a=0; for i=1:mm a=a+randnum(1,i)*randnum(2,i); pro(i)=a/i;end pro=pro,num=1:mm;plot(num,pro) 熊宇樂 y=zeros(1,1000); a=binornd(1,0.4,1,1000);b=bino

18、rnd(1,0.4,1,1000); c=0;d=0; for i=1:1000 c=c+a(1,i).*b(1,i); y(i)=c/i; end y=y; num=1:1000; plot(num,y)孟亞function bino (n,p,m)x=binornd(n,p,1,m);y=binornd(n,p,1,m);for i=1:m if x(i)=1&y(i)=1 s(i)=1; else s(i)=0; endend for i=1:m y(i)=sum(s(1,1:i)/i;endplot(y)liti2(1,0.4,100)liti2(1,0.4,10000)在一袋

19、中有在一袋中有10 10 個相同的球,分別標有號碼個相同的球,分別標有號碼1,2,1,2,10,10。每次任取一個球,記錄其號碼。每次任取一個球,記錄其號碼后不放回袋中,再任取下一個。這種取法叫后不放回袋中,再任取下一個。這種取法叫做做“不放回抽取不放回抽取”。今不放回抽取。今不放回抽取3 3個球,個球,求這求這3 3個球的號碼均為偶數的概率。個球的號碼均為偶數的概率。(用頻率(用頻率估計概率)估計概率) 例例3:解:令解:令A=不放回抽取不放回抽取3個球,求這個球,求這3個球的號碼個球的號碼均為偶數均為偶數=(2,4,6),(2,4,8),.,(6,8,10)121)(31035PPNkAP

20、function proguji=liti3(nn,num,mm)%nn 是每盒中的火柴數 %num 是剩余的火柴數%mm 是隨機實驗次數frq=0; randnum=binornd(1,0.5,mm,2*nn);proguji=0;for i=1:mm a1=0;a2=0;j=1; while (a120)&(a2=5 frq=frq+1; end% a1=a1,a2=a2,frq % pauseend proguji=frq/mmfunction proguji=liti3(nn,num,mm)%nn 是每盒中的火柴數 %num 是剩余的火柴數%mm 是隨機實驗次數frq=0; r

21、andnum=binornd(1,0.5,mm,2*nn);proguji=0;for i=1:mm a1=0;a2=0;j=1; while (a1nn)&(a2=num frq=frq+1; end% a1=a1,a2=a2,frq % pauseend proguji=frq/mm例例4 4 兩盒火柴,每盒兩盒火柴,每盒2020根。每次隨機在任一根。每次隨機在任一盒中取出一根火柴。問其中一盒中火柴被取盒中取出一根火柴。問其中一盒中火柴被取完而另一盒中至少還有完而另一盒中至少還有5 5根火柴的概率有多大?根火柴的概率有多大?(用頻率估計概率)(用頻率估計概率) liti4(20,5

22、,100)proguji = 0.4800 liti4(20,5,1000)proguji = 0.4970 liti4(20,5,10000)proguji = 0.4910 liti4(20,5,100000)proguji = 0.4984function proguji=liti4(mm)%mm 是隨機實驗次數frq=0; randnum=binornd(1,0.5,mm,2*nn);proguji=0;for i=1:mm a1=0;a2=0;j=1; while (a120)&(a2=5 frq=frq+1; end% a1=a1,a2=a2,frq % pauseend

23、proguji=frq/mm二二. 幾何概率幾何概率1.1.定義定義 向任一可度量區(qū)域向任一可度量區(qū)域G G內投一點,如果所投內投一點,如果所投的點落在的點落在G G中任意可度量區(qū)域中任意可度量區(qū)域g g內的可能內的可能性與性與g g的度量成正比,而與的度量成正比,而與g g的位置和形的位置和形狀無關,則稱這個隨機試驗為幾何型隨狀無關,則稱這個隨機試驗為幾何型隨機試驗?;蚝喎Q為幾何概型。機試驗?;蚝喎Q為幾何概型。2. 概率計算概率計算 1. P(A)=A的度量的度量/S的度量的度量兩人約定于兩人約定于12點到點到1點到某地會面,先點到某地會面,先到者等到者等20分鐘后離去,試求兩人能會面分鐘后

24、離去,試求兩人能會面的概率?的概率? 例例5:解:設解:設x,y分別為甲、乙到達時刻分別為甲、乙到達時刻(分鐘分鐘)令令A=兩人能會面兩人能會面=(x,y)|x-y|20,x60,60,y y6060P(A)=A的面積的面積/S的面積的面積=(602-402)/602=5/9=0.5556function proguji=liti5(mm)%mm 是隨機實驗次數frq=0;randnum1=unifrnd(0,60,mm,1);randnum2=unifrnd(0,60,mm,1);randnum=randnum1-randnum2;proguji=0;for ii=1:mm if abs(r

25、andnum(ii,1)=20 frq=frq+1; endendproguji=frq/mmliti5(10000)proguji = 0.5557例例2 2在我方某前沿防守地域,敵人以一個炮排(含兩門火炮)為單位對我方進行干擾和破壞為躲避我方打擊,敵方對其陣地進行了偽裝并經常變換射擊地點 經過長期觀察發(fā)現,我方指揮所對敵方目標的指示有30是準確的,而我方火力單位,在指示正確時,有1/3的射擊效果能毀傷敵人一門火炮,有1/6的射擊效果能全部消滅敵人 現在希望能用某種方式把我方將要對敵人實施的1打擊結果顯現出來,利用頻率穩(wěn)定性,確定有效射擊的概率分析分析: 這是一個概率問題,可以通過理論計算得

26、到相應的概率和期望值. 為了能顯示我方射擊的過程,現采用模擬的方式。 需要模擬出以下兩件事: 1. 1. 問題分析問題分析1 1 觀察所對目標的指示正確與否觀察所對目標的指示正確與否模擬試驗有兩種結果,每一種結果出現的概率都是1/2 因此,可用投擲一枚硬幣的方式予以確可用投擲一枚硬幣的方式予以確定定,當硬幣出現正面時為指示正確,反之為不正確2 2 當指示正確時,我方火力單位的射擊結當指示正確時,我方火力單位的射擊結果情況果情況 模擬試驗有三種結果:毀傷一門火炮的可能性為1/3(即2/6),毀傷兩門的可能性為1/6,沒能毀傷敵火炮的可能性為1/2(即3/6) 這時可用投擲骰子的方法來確定可用投擲

27、骰子的方法來確定:如果出現的是、三個點:則認為沒能擊中敵人;如果出現的是、點:則認為毀傷敵人一門火炮;若出現的是點:則認為毀傷敵人兩門火炮2. 2. 符號假設符號假設i:要模擬的打擊次數; k1:沒擊中敵人火炮的射擊總數; k2:擊中敵人一門火炮的射擊總數;k3:擊中敵人兩門火炮的射擊總數E:有效射擊比率; 3. 3. 模擬框圖模擬框圖初始化:i=0,k1=0,k2=0,k3=0i=i+1骰子點數?k1=k1+1k2=k2+1k3=k3+1k1=k1+1imm?E=(k2+k3)/mm 停止硬幣正面?YNNY1,2,34,56function binomoni(p,mm)efreq=zeros(1,mm);randnum1 = binornd(1,p,1,mm);randnum2 = unidrnd(6,1,mm);k1=0;k2=0;k3=0;for i=1:mm if randnum1(i)=0 k1=k1+1; else if randnum2(i)=3 k1=k1+1; elseif randnum2(i)=6 k3=k3+1; else k2=k2+1; end end efreq(i)=(k2+k3)/i; end num=1:mm;plot(num,efreq)在在MatlabMatlab中編輯中編輯

溫馨提示

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

評論

0/150

提交評論