• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于蒙特卡羅模擬的概率求解問題研究

    2019-07-03 23:49:34袁佳婧
    現(xiàn)代商貿(mào)工業(yè) 2019年11期
    關(guān)鍵詞:正態(tài)分布數(shù)學(xué)建模

    袁佳婧

    摘 要:蒙特卡羅模擬是通過計(jì)算機(jī)模擬實(shí)際發(fā)生的事情。通過蒙特卡羅模擬能計(jì)算出相應(yīng)事件發(fā)生的概率,模擬與計(jì)算過程有效、可行、易理解。其基本思想是,將各種隨機(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é)建模

    中圖分類號(hào):TB 文獻(xiàn)標(biāo)識(shí)碼:Adoi:10.19311/j.cnki.1672-3198.2019.11.106

    1 蒙特卡羅方法與基本原理

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

    蒙特卡羅模擬方法求解概率問題的基本思想是:當(dāng)所求問題的解是某個(gè)隨機(jī)變量的數(shù)學(xué)期望或者某個(gè)事件的概率,或者是與數(shù)學(xué)期望、概率有關(guān)的量時(shí),通過試驗(yàn)的方法模擬事件的發(fā)生,求出該事件發(fā)生的頻率,計(jì)算所求參數(shù)的統(tǒng)計(jì)特征,最后給出近似值作為問題的解。

    2 實(shí)際問題

    校車在每個(gè)工作日,都會(huì)在A校區(qū)與B校區(qū)之間擺渡。李華家住B校區(qū)附近。校車從A校區(qū)到B校區(qū)的運(yùn)行時(shí)間服從均值為30分鐘,標(biāo)準(zhǔn)差為2分鐘的正態(tài)隨機(jī)分布。校車大約中午13:00從A校區(qū)出發(fā),李華大約13:30步行到達(dá)B校區(qū),校車從A校區(qū)出發(fā)的時(shí)刻及概率如表1所示。

    3 問題分析

    記T1為校車從A校區(qū)出發(fā)的時(shí)刻,T2為校車從A校區(qū)到B校區(qū)運(yùn)行的時(shí)間,T3為李華到達(dá)B校區(qū)的時(shí)刻。T1、T2、T3均是隨機(jī)變量,且T2~N(30,22),T1、T3的分布律如表所示:其中記中午13時(shí)為時(shí)刻t=0。

    通過分析可知,此人能及時(shí)趕上校車的充分必要條件是:T1+T2>T3。由此得到,此人趕上校車的概率是P{T1+T2>T3}。

    4 建立模型

    利用蒙特卡羅方法隨機(jī)模擬校車出發(fā)時(shí)刻,校車車運(yùn)行時(shí)間,李華到達(dá)B校區(qū)的時(shí)刻。然后判斷多次試驗(yàn)中滿足上述充要條件的試驗(yàn)有多少次。若在n次試驗(yàn)中,有k次成功,則用頻率k/n作為李華能趕上校車的概率。當(dāng)n很大時(shí),頻率值與概率值近似相等。

    設(shè)r1,r2 是(0,1)區(qū)間上均勻分布的隨機(jī)數(shù)。則T1,T3的分布律的模擬公式為:

    t1=0,0

    令 t2 是服從正態(tài)分布N(30,22) 的隨機(jī)數(shù),則將t2 看成火車運(yùn)行時(shí)間T2的觀察值。

    在每次試驗(yàn)中,產(chǎn)生兩個(gè)U(0,1) 的隨機(jī)數(shù)r1,r2,來構(gòu)造 t1,t3。產(chǎn)生一個(gè)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很大時(shí),頻率值與概率值近似相等。

    5 模型求解

    下面是利用python語言進(jìn)行蒙特卡羅模擬的程序。其中montefun()是自定義的蒙特卡羅模擬函數(shù)。

    import numpy as np

    def montefun():

    t1 = np.random.rand()

    t2 = np.random.normal(30,2)

    t3 = np.random.rand()

    arrtime1=0

    arrtime2=t2

    arrtime3=0

    if t1<0.7:

    arrtime1=0

    elif 0.7<=t1<0.9:

    arrtime1=5

    else:

    arrtime1 = 10

    if t3 < 0.3:

    arrtime3 = 28

    elif 0.3<= t3 <0.7:

    arrtime3 = 30

    elif 0.7<= t3 < 0.9:

    arrtime3 = 32

    else:

    arrtime3 = 34

    return arrtime1,arrtime2,arrtime3

    if __name__ == "__main__":

    t=0

    f=0

    for i in range(10000):

    t1,t2,t3 = montefun()

    if (t1 +t2) > t3:

    t+=1

    else:

    f += 1

    print (float(t)/10000)

    程序運(yùn)行的最后結(jié)果為:0.6317,故李華可以趕上校車的概率是0.6317。

    6 模型推廣

    眾所周知,在實(shí)際生活中有很多概率事件,這些事件可能沒有明確的概率分布。這種情況下,蒙特卡羅模擬是最有效且直接的方法。

    我們都玩過套圈圈的游戲:游戲者拿著圈,去套擺放在地上的玩具,如果套中即可拿走。這個(gè)游戲貌似很誘人,但事實(shí)上投圈游戲攤的老板是穩(wěn)賺不賠的?,F(xiàn)在我們用蒙特卡羅模擬計(jì)算能套中的概率,證明這個(gè)事實(shí)。

    假設(shè)目標(biāo)物品中心點(diǎn)的坐標(biāo)為(0,0),目標(biāo)物品的半徑為5cm。下面用python代碼畫出目標(biāo)物品坐標(biāo)圖。

    import matplotlib.pyplot as plot

    import numpy as np

    import matplotlib.patches as mpts

    target_circle = mpts.circle([0,0],radius=5,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所示。

    對(duì)此我們假設(shè)投圈的半徑為8cm。投圈中心點(diǎn)圍繞目標(biāo)物品中心點(diǎn)呈二維正態(tài)分布,且假設(shè)其均值和標(biāo)準(zhǔn)差分別為:μ=0cm,σ=20cm。模擬1000個(gè)參與游戲者每人投圈1 次,即模擬投圈過程1000次。用python代碼完成模擬的程序如下。

    N=1000

    u,beta = 0,20

    points = u + beta * np.random.randn(N,2)

    plot.scatter ( [x[0] for x in points],[x[1] for x in points],c=np.random.rand(N),alpha=0.5)

    運(yùn)行代碼之后,得到的投圈中心點(diǎn)的分布圖如圖2所示。

    計(jì)算1000次投圈的過程中,投圈能夠套住目標(biāo)物品的概率。用python代碼完成計(jì)算:print(len([xy for xy in points if xy[0] ** 2 + xy[1] ** 2 < (8-5) ** 2])/N)。

    代碼執(zhí)行后輸出的結(jié)果值為0.012??梢越忉尀橥度?000次,其中只有12次能夠套住物品。這是個(gè)小概率事件,所以不難理解投圈游戲的老板幾乎時(shí)穩(wěn)賺不賠了。

    7 總結(jié)

    蒙特卡羅方法的發(fā)明,無疑是人類思維史上的重大突破。通過一個(gè)隨機(jī)性的構(gòu)想,它打破了過去的思考空白區(qū),開啟了人類新的思維空間。

    蒙特卡羅方法的使用過程可以歸納為以下三個(gè)主要步驟:

    (1)構(gòu)造概率過程:對(duì)于本身具有隨機(jī)性質(zhì)的問題,需要正確地描述和模擬這個(gè)概率過程;對(duì)于本來不是隨機(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)建立估計(jì)量:實(shí)現(xiàn)模擬實(shí)驗(yàn)后確定一個(gè)隨機(jī)變量,作為所要求的問題的解。蒙特卡羅方法通過構(gòu)造符合一定規(guī)則的隨機(jī)數(shù)來解決各種實(shí)際問題。對(duì)于那些由于計(jì)算過于復(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)的不二選擇。

    參考文獻(xiàn)

    [1]向東等.蒙特卡羅方法在核類本科專業(yè)的教學(xué)初探[J].價(jià)值工程,2010,(29).

    [2]孫榮恒.趣味隨機(jī)問題[M].北京:科學(xué)出版社,2008.

    [3]徐鐘濟(jì).蒙特卡羅方法[M].上海:上??茖W(xué)技術(shù)出版社,1985.

    [4]宋來忠等.數(shù)學(xué)建模常用方法與實(shí)驗(yàn)[M].北京:科學(xué)出版社,2015.

    [5]汪曉銀等.數(shù)學(xué)建模方法入門及其應(yīng)用[M].北京:科學(xué)出版社,2018.

    猜你喜歡
    正態(tài)分布數(shù)學(xué)建模
    基于對(duì)數(shù)正態(tài)分布的出行時(shí)長可靠性計(jì)算
    正態(tài)分布及其應(yīng)用
    在數(shù)學(xué)建模中培養(yǎng)學(xué)生的提問能力
    考試周刊(2016年84期)2016-11-11 22:54:07
    數(shù)學(xué)建模中創(chuàng)造性思維的培養(yǎng)
    考試周刊(2016年84期)2016-11-11 22:46:15
    談數(shù)學(xué)建模時(shí)的問題分析步驟
    考試周刊(2016年85期)2016-11-11 01:06:38
    樹立建模意識(shí) 培養(yǎng)學(xué)生創(chuàng)新思維
    最小二乘法基本思想及其應(yīng)用
    科技視界(2016年22期)2016-10-18 17:12:13
    建模思想在數(shù)學(xué)教學(xué)中的滲透研究
    成才之路(2016年26期)2016-10-08 11:31:43
    正態(tài)分布題型剖析
    χ2分布、t 分布、F 分布與正態(tài)分布間的關(guān)系
    西城区| 法库县| 福海县| 绵竹市| 望奎县| 乌鲁木齐市| 日喀则市| 横山县| 三门峡市| 海丰县| 桑日县| 旅游| 庐江县| 甘孜| 永城市| 辽宁省| 禄劝| 武强县| 墨玉县| 康平县| 桓仁| 翼城县| 方山县| 宁城县| 虎林市| 应城市| 德令哈市| 连州市| 普宁市| 绥芬河市| 乌拉特后旗| 马山县| 广南县| 丹寨县| 南京市| 乌兰县| 樟树市| 仁布县| 祁阳县| 焉耆| 平顶山市|