複製鏈接
請複製以下鏈接發送給好友

蒙特卡羅法

鎖定
蒙特卡羅法也稱統計模擬法、統計試驗法。是把概率現象作為研究對象的數值模擬方法。是按抽樣調查法求取統計值來推定未知特性量的計算方法。蒙特卡羅是摩納哥的著名賭城,該法為表明其隨機抽樣的本質而命名。故適用於對離散系統進行計算仿真試驗。在計算仿真中,通過構造一個和系統性能相近似的概率模型,並在數字計算機上進行隨機試驗,可以模擬系統的隨機特性。 [1] 
中文名
蒙特卡羅法
外文名
Monte Carlo method
所屬領域
數理統計
別    名
統計試驗法
統計模擬法
提出時間
1950年
用    途
描述裝備運用過程中隨機現象

蒙特卡羅法概念

蒙特卡羅法 [4]  (又稱統計試驗法)是描述裝備運用過程中各種隨機現象的基本方法,而且它特別適用於一些解析法難以求解甚至不可能求解的問題,因而在裝備效能評估中具有重要地位。
用蒙特卡羅法 [4]  來描述裝備運用過程是1950年美國人約翰遜首先提出的。這種方法能充分體現隨機因素對裝備運用過程的影響和作用。更確切地反映運用活動的動態過程。在裝備效能評估中,常用蒙特卡羅法 [4]  來確定含有隨機因素的效率指標,如發現概率命中概率、平均毀傷目標數等;模擬隨機服務系統中的隨機現象並計算其數字特徵;對一些複雜的裝備運用行動,通過合理的分解,將其簡化成一系列前後相連的事件,再對每一事件用隨機抽樣方法進行模擬,最後達到模擬裝備運用活動或運用過程的目的。 [2] 
以概率論與統計理論為理論基礎,應用隨機數來進行模擬試驗的方法稱為隨機模擬方法,也稱為蒙特卡羅方法。18世紀法國學者蒲豐用投針試驗來模擬圓周率”的值,可以看作是隨機模擬的最早嘗試。 [5] 

蒙特卡羅法基本思路

蒙特卡羅法 [4]  的基本思想是:為了求解問題,首先建立一個概率模型或隨機過程,使它的參數或數字特徵等於問題的解:然後通過對模型或過程的觀察或抽樣試驗來計算這些參數或數字特徵,最後給出所求解的近似值。解的精確度用估計值的標準誤差來表示。蒙特卡羅法 [4]  的主要理論基礎是概率統計理論,主要手段是隨機抽樣、統計試驗。用蒙特卡羅法 [4]  求解實際問題的基本步驟為:
(1)根據實際問題的特點.構造簡單而又便於實現的概率統計模型.使所求的解恰好是所求問題的概率分佈或數學期望;
(2)給出模型中各種不同分佈隨機變量的抽樣方法;
(3)統計處理模擬結果,給出問題解的統計估計值和精度估計值。 [2] 

蒙特卡羅法優缺點

蒙特卡羅法的最大優點是:
1.方法的誤差與問題的維數無關。
2.對於具有統計性質問題可以直接進行解決。
3.對於連續性的問題不必進行離散化處理
蒙特卡羅法的缺點則是:
1.對於確定性問題需要轉化成隨機性問題。
2.誤差是概率誤差。
3.通常需要較多的計算步數N.
蒙特卡羅法作為一種計算方法,是由美國數學家烏拉姆(Ulam , S. M.)與美籍匈牙利數學家馮·諾伊曼(von Neumann,J.)在20世紀40年代中葉,為研製核武器的需要而首先提出來的。實際上,該方法的基本思想早就被統計學家所採用了。例如,早在17世紀,人們就知道了依頻數決定概率的方法。
蒙特卡羅方法可以解決其他數值方法解決不了的複雜問題,並且有超強的適應能力,已被廣泛應用於自然科學和社會科學的多個領域。雖然利用蒙特卡羅方法估計定積分的計算結果與積分精確值之間有誤差,但是可以通過增加樣本量或者改進抽樣方法等方法降低計算誤差,提高計算精度。 [5] 

蒙特卡羅法步驟

蒙特卡羅法 [4]  是一種用來模擬隨機現象的數學方法,這種方法在作戰模擬中能直接反映作戰過程中的隨機性。在作戰模擬中能用解析法解決的問題雖然越來越多,但有些情況下卻只能採用蒙特卡羅法 [4]  。使用蒙特卡羅法 [4]  的基本步驟如下:
(1)根據作戰過程的特點構造模擬模型;
(2)確定所需要的各項基礎數據;
(3)使用可提高模擬精度和收斂速度的方法;
(4)估計模擬次數;
(5)編制程序並在計算機上運行;
(6)統計處理數據,給出問題的模擬結果及其精度估計。
在蒙特卡羅法 [4]  中,對同一個問題或現象可採用多種不同的模擬方法,它們有好有差,精度有高有低,計算量有大有小,收斂速度有快有慢,在方法的選擇上有一定的技巧。 [3] 

蒙特卡羅法應用舉例

在我方某前沿防守地域,敵人以1個炮兵排(含兩門火炮)為單位對我方進行干擾和破壞。為躲避我方打擊,敵方對其指揮所進行了偽裝並經常變換射擊地點。經過長期觀察發現,我方指揮所對敵方目標的指示有50%是準確的,而我方火力單位在指示正確時,有1/3的射擊效果能毀傷敵人1門火炮,有1/6的射擊效果能全部消滅敵人。
解:希望能用某種方法把我方將要對敵人實施的20次打擊結果顯示出來,確定有效射擊的比率及毀傷敵方火炮的平均值。這是一個概率問題,可以通過理論計算得到相應的概率和期望值。但這樣只能給出作戰行動的最終靜態結果,而顯示不出作戰行動的動態過程。
為了顯示我方20次射擊的過程,必須用某種方式模擬出以下兩件事:一是觀察所對目標的指示正確或不正確;二是當指示正確時,我方火力單位的射擊結果。對第一件事進行模擬試驗時有兩種結果,每一種結果出現的概率都是1/2。因此,可用投擲1枚硬幣的方式予以確定。當硬幣出現正面時為指示正確,反之為不正確。對第二件事進行模擬試驗時有3種結果,毀傷1門火炮的可能為1/3,毀傷2門火炮的可能為1/6,沒能毀傷敵火炮的可能為1/2。這時,可用投擲骰子的辦法來確定,如果出現的是1、2、3三個點則認為沒能擊中敵人,如果出現的是4、5點則認為毀傷敵1門火炮,如果出現6點則認為毀傷敵2門火炮。
通過上面的方式,就可把我方20次射擊的過程動態地顯現出來。 [3] 
參考資料
  • 1.    蕭浩輝. 決策科學辭典: 人民出版社, 1995
  • 2.    陳磊,姚偉召,郭全魁,王秀華著,效能評估理論、方法及應用,北京郵電大學出版社,2016.01
  • 3.    王暉,潘高田,孫俊峯等編著,軍事運籌學基礎,國防工業出版社,2015.05
  • 4.    馬天旗.高價值專利培育與評估:知識產權出版社,2018.04:217
  • 5.    張豔.利用蒙特卡羅方法求解數值積分[J].高等數學研究,2023,26(1):44-4661