蒙特卡羅模拟

蒙特卡羅模拟

随機抽樣、統計試驗方法
蒙特卡羅模拟因摩納哥著名的賭場而得名。它能夠幫助人們從數學上表述物理、化學、工程、經濟學以及環境動力學中一些非常複雜的相互作用[1]。數學家們稱這種表述為“模式”,而當一種模式足夠精确時, 他能産生與實際操作中對同一條件相同的反應。但蒙特卡羅模拟有一個危險的缺陷: 如果必須輸入一個模式中的随機數并不像設想的那樣是随機數, 而卻構成一些微妙的非随機模式, 那麼整個的模拟(及其預測結果)都可能是錯的。當所要求解的問題是某種事件出現的概率,或者是某個随機變量的期望值時,它們可以通過某種“試驗”的方法,得到這種事件出現的頻率,或者這個随機變數的平均值,并用它們作為問題的解。這就是蒙特卡羅方法的基本思想。蒙特卡羅方法通過抓住事物運動的幾何數量和幾何特征,利用數學方法來加以模拟,即進行一種數字模拟實驗。它是以一個概率模型為基礎,按照這個模型所描繪的過程,通過模拟實驗的結果,作為問題的近似解。可以把蒙特卡羅解題歸結為三個主要步驟:構造或描述概率過程;實現從已知概率分布抽樣;建立各種估計量。
  • 中文名:蒙特卡羅方法
  • 外文名:Monte Carlo
  • 所屬學科:
  • 所屬分支:計算數學的一個分支
  • 發展時間:20世紀40年代中期
  • 學 科:數學
  • 别名:随機抽樣

方法簡介

蒙特卡羅(Monte Carlo)方法,又稱随機抽樣或統計試驗方法,屬于計算數學的一個分支,它是在上世紀四十年代中期為了适應當時原子能事業的發展而發展起來的。傳統的經驗方法由于不能逼近真實的物理過程,很難得到滿意的結果,而蒙特卡羅方法由于能夠真實地模拟實際物理過程,故解決問題與實際非常符合,可以得到很圓滿的結果。這也是以概率和統計理論方法為基礎的一種計算方法,是使用随機數(或更常見的僞随機數)來解決很多計算問題的方法。将所求解的問題同一定的概率模型相聯系,用電子計算機實現統計模拟或抽樣,以獲得問題的近似解。為象征性地表明這一方法的概率統計特征,故借用賭城蒙特卡羅命名。

理論發展

當科學家們使用計算機來試圖預測複雜的趨勢和事件時, 他們通常應用一類需要長串的随機數的複雜計算。設計這種用來預測複雜趨勢和事件的數字模型越來越依賴于一種稱為蒙特卡羅模拟的統計手段, 而這種模拟進一步又要取決于可靠的無窮盡的随機數目來源。

最近,由美國佐治亞大學的費倫博格博士作出的一份報告證明了最普遍用以産生随機數串的計算機程序中有5個在用于一個簡單的模拟磁性晶體中原子行為的數學模型時出現錯誤。科學家們發現, 出現這些錯誤的根源在于這5個程序産生的數串其實并不随機, 它們實際上隐藏了一些相互關系和樣式, 這一點隻是在這種微小的非随機性歪曲了晶體模型的已知特性時才表露出來。貝爾實驗室的裡德博士告誡人們記住偉大的諾伊曼的忠告:“任何人如果相信計算機能夠産生出真正的随機的數序組都是瘋子。” 

基本原理思想

當所要求解的問題是某種事件出現的概率,或者是某個随機變量的期望值時,它們可以通過某種“試驗”的方法,得到這種事件出現的頻率,或者這個随機變數的平均值,并用它們作為問題的解。這就是蒙特卡羅方法的基本思想。蒙特卡羅方法通過抓住事物運動的幾何數量和幾何特征,利用數學方法來加以模拟,即進行一種數字模拟實驗。它是以一個概率模型為基礎,按照這個模型所描繪的過程,通過模拟實驗的結果,作為問題的近似解。可以把蒙特卡羅解題歸結為三個主要步驟:構造或描述概率過程;實現從已知概率分布抽樣;建立各種估計量。 

解題步驟

構造或描述概率過程

對于本身就具有随機性質的問題,如粒子輸運問題,主要是正确描述和模拟這個概率過程,對于本來不是随機性質的确定性問題,比如計算定積分,就必須事先構造一個人為的概率過程,它的某些參量正好是所要求問題的解。即要将不具有随機性質的問題轉化為随機性質的問題。

實現從已知概率分布抽樣

構造了概率模型以後,由于各種概率模型都可以看作是由各種各樣的概率分布構成的,因此産生已知概率分布的随機變量(或随機向量),就成為實現蒙特卡羅方法模拟實驗的基本手段,這也是蒙特卡羅方法被稱為随機抽樣的原因。最簡單、最基本、最重要的一個概率分布是(0,1)上的均勻分布(或稱矩形分布)。随機數就是具有這種均勻分布的随機變量。随機數序列就是具有這種分布的總體的一個簡單子樣,也就是一個具有這種分布的相互獨立的随機變數序列。産生随機數的問題,就是從這個分布的抽樣問題。在計算機上,可以用物理方法産生随機數,但價格昂貴,不能重複,使用不便。另一種方法是用數學遞推公式産生。這樣産生的序列,與真正的随機數序列不同,所以稱為僞随機數,或僞随機數序列。不過,經過多種統計檢驗表明,它與真正的随機數,或随機數序列具有相近的性質,因此可把它作為真正的随機數來使用。由已知分布随機抽樣有各種方法,與從(0,1)上均勻分布抽樣不同,這些方法都是借助于随機序列來實現的,也就是說,都是以産生随機數為前提的。由此可見,随機數是我們實現蒙特卡羅模拟的基本工具。

建立各種估計量

一般說來,構造了概率模型并能從中抽樣後,即實現模拟實驗後,我們就要确定一個随機變量,作為所要求的問題的解,我們稱它為無偏估計。建立各種估計量,相當于對模拟實驗的結果進行考察和登記,從中得到問題的解。 

方法應用

通常蒙特卡羅模拟通過構造符合一定規則的随機數來解決數學上的各種問題。對于那些由于計算過于複雜而難以得到解析解或者根本沒有解析解的問題,蒙特卡羅模拟是一種有效的求出數值解的方法。一般蒙特卡羅模拟在數學中最常見的應用就是蒙特卡羅積分。

蒙特卡羅算法表示采樣越多,越近似最優解。舉個例子,假如筐裡有100個蘋果,讓我每次閉眼拿1個,挑出最大的。于是我随機拿1個,再随機拿1個跟它比,留下大的,再随機拿1個……我每拿一次,留下的蘋果都至少不比上次的小。拿的次數越多,挑出的蘋果就越大,但我除非拿100次,否則無法肯定挑出了最大的。這個挑蘋果的算法,就屬于蒙特卡羅算法。告訴我們樣本容量足夠大,則最接近所要求解的概率。

蒙特卡羅模拟在金融工程學,宏觀經濟學,生物醫學,計算物理學(如粒子輸運計算、量子熱力學計算、空氣動力學計算)等領域也應用廣泛。

計算機技術的發展,使得蒙特卡羅模拟在最近10年得到快速的普及。現代的蒙特卡羅模拟,已經不必親自動手做實驗,而是借助計算機的高速運轉能力,使得原本費時費力的實驗過程,變成了快速和輕而易舉的事情。它不但用于解決許多複雜的科學方面的問題,也被項目管理人員經常使用。

借助計算機技術,蒙特卡羅模拟實現了兩大優點:

一是簡單,省卻了繁複的數學報導和演算過程,使得一般人也能夠理解和掌握;

二是快速。簡單和快速,是蒙特卡羅方法在現代項目管理中獲得應用的技術基礎。 

相關詞條

相關搜索

其它詞條