簡介
Monte-Carlo(蒙特-卡羅,又譯蒙特-卡洛)模擬法,是一種隨機模擬方法,以機率和統計理論方法為基礎的一種計算方法,是使用隨機數(或更常見的偽隨機數)來解決很多計算問題的方法。將所求解的問題同一定的機率模型相聯繫,用電子計算機實現統計模擬或抽樣,以獲得問題的近似解。為象徵性地表明這一方法的機率統計特徵,故借用賭城蒙特卡羅命名。提出
蒙特卡羅方法於20世紀40年代,由美國在第二次世界大戰中研製核子彈的“曼哈頓計畫”計畫的成員S.M.烏拉姆和J.馮·諾伊曼首先提出。數學家馮·諾伊曼用馳名世界的賭城—摩納哥的Monte Carlo—來命名這種方法,為它蒙上了一層神秘色彩。在這之前,蒙特卡羅方法就已經存在。1777年,法國Buffon提出用投針實驗的方法求圓周率∏。這被認為是蒙特卡羅方法的起源。基本思想
Monte Carlo方法的基本思想很早以前就被人們所發現和利用。早在17世紀,人們就知道用事件發生的“頻率”來決定事件的“機率”。19世紀人們用投針試驗的方法來決定圓周率π。本世紀40年代電子計算機的出現,特別是近年來高速電子計算機的出現,使得用數學方法在計算機上大量、快速地模擬這樣的試驗成為可能。考慮平面上的一個邊長為1的正方形及其內部的一個形狀不規則的“圖形”,如何求出這個“圖形”的面積呢?Monte Carlo方法是這樣一種“隨機化”的方法:向該正方形“隨機地”投擲N個點,有M個點落於“圖形”內,則該“圖形”的面積近似為M/N。可用民意測驗來作一個不嚴格的比喻。民意測驗的人不是徵詢每一個登記選民的意見,而是通過對選民進行小規模的抽樣調查來確定可能的優勝者。其基本思想是一樣的。
科技計算中的問題比這要複雜得多。比如金融衍生產品(期權、期貨、掉期等)的定價及交易風險估算,問題的維數(即變數的個數)可能高達數百甚至數千。對這類問題,難度隨維數的增加呈指數增長,這就是所謂的“維數的災難”(Curse of Dimensionality),傳統的數值方法難以對付(即使使用速度最快的計算機)。Monte Carlo方法能很好地用來對付維數的災難,因為該方法的計算複雜性不再依賴於維數。以前那些本來是無法計算的問題現在也能夠計算量。為提高方法的效率,科學家們提出了許多所謂的“方差縮減”技巧。
另一類形式與Monte Carlo方法相似,但理論基礎不同的方法—“擬蒙特卡羅方法”(Quasi-Monte Carlo方法)—近年來也獲得迅速發展。我國數學家華羅庚、王元提出的“華—王”方法即是其中的一例。這種方法的基本思想是“用確定性的超均勻分布序列(數學上稱為Low Discrepancy Sequences)代替Monte Carlo方法中的隨機數序列。對某些問題該方法的實際速度一般可比Monte Carlo方法提高數百倍,並可計算精確度。
基本原理
由機率定義知,某事件的機率可以用大量試驗中該事件發生的頻率來估算,當樣本容量足夠大時,可以認為該事件的發生頻率即為其機率。因此,可以先對影響其可靠度的隨機變數進行大量的隨機抽樣,然後把這些抽樣值一組一組地代入功能函式式,確定結構是否失效,最後從中求得結構的失效機率。蒙特卡羅法正是基於此思路進行分析的。設有統計獨立的隨機變數Xi(i=1,2,3,…,k),其對應的機率密度函式分別為fx1,fx2,…,fxk,功能函式式為Z=g(x1,x2,…,xk)。
首先根據各隨機變數的相應分布,產生N組隨機數x1,x2,…,xk值,計算功能函式值 Zi=g(x1,x2,…,xk)(i=1,2,…,N),若其中有L組隨機數對應的功能函式值Zi≤0,則當N→∞時,根據伯努 利大數定理及正態隨機變數的特性有:結構失效機率,可靠指標。
從蒙特卡羅方法的思路可看出,該方法迴避了結構可靠度分析中的數學困難,不管狀態函式是否非線性、隨機變數是否非正態,只要模擬的次數足夠多,就可得到一個比較精確的失效機率和可靠度指標。特別在岩土體分析中,變異係數往往較大,與JC法計算的可靠指標相比,結果更為精確,並且由於思路簡單易於編製程序。