基本介紹
- 中文名:蒙特卡羅模型
- 外文名:Monte Carlo model
- 又稱:統計模擬法、隨機抽樣技術
- 起源:17世紀
- 模型:DLA、KMC、MCS模型
- 套用領域:數學、物理、化學等
蒙特卡羅法,蒙特卡羅模型,DLA模型,MCS模型,KMC模型,蒙特卡羅模型的基本思想,蒙特卡羅模型的發展運用,數值計算中蒙特卡羅方法的步驟,項目管理中蒙特卡羅模擬方法的一般步驟,
蒙特卡羅法
蒙特卡羅法是一種以抽樣和隨機數的產生為基礎的隨機性方法,因此也稱為隨機抽樣法、計算機隨機模擬法等。蒙特卡羅方法的基本原理是通過數字模擬試驗,得到所要求解的出現某種事件的機率,作為問題的近似解。很久之前人們就已經開始使用蒙特卡羅方法來解決問題了,早在17世紀,發生事件的機率是用發生事件的頻率來決定的。在20世紀計算機的使用,使得這樣的實驗可以大量快速的進行模擬。近年來,隨著蒙特卡羅方法不僅被用於數學、物理、化學等領域,還套用於核科學與技術、機械工程、天文學和儀器科學與技術等。該法產生了不同的分支,有直接蒙特卡羅法,動力學蒙特卡羅法等。
蒙特卡羅模型
DLA模型
DLA模型早期的蒙特卡羅模型雖然考慮了原子間的相互作用和原子的擴散等因素,但由於模型過於簡單而沒有得以發展下去。1981年Witten等人在Eden模型的基礎上提出了DLA模型,即表面擴散限制聚集模型,很好的描述了薄膜的分形生長現象。
此模型中粒子的運動過程如下:首先將一個粒子放入基底中,在距離第一個粒子較遠的區域放入第二個粒子,粒子在基底做無規則運動,當到達第一個粒子的鄰近位置時停止運動,粘附在第一個粒子上,與其結合為一個原子團簇。之後放入第三個粒子,同樣進行上述步驟,粒子的所有運動都是隨機的。不斷重複這個過程最終在基底形成島。但是DLA模型也較簡單,粒子一旦吸附在其他粒子上就穩定不再擴散,沒有考慮基底溫度、入射能量和雜質等對薄膜表面形態的影響,不能模擬高溫的薄膜生長。為了模擬較高溫度的薄膜生長提出了擴展的DLA模型,考慮了沉積原子沿島邊緣的擴散過程。
MCS模型
MCS模型是基於DLA模型發展的,Bruschi等人充分考慮了實際條件,在模擬過程中將原子分為沉積原子、擴散原子和脫附原子三類,並且根據相應的速率來計算原子發生沉積、擴散或是脫附的機率,原子運動過程中克服的位能用Voter理論來計算。但是該模型沒有考慮原子與最鄰近和次鄰近原子的相互作用。以MCS模型為基礎,考慮不同的影響因素,發展了其他特定的薄膜生長模型。
KMC模型
KMC模型是將分子動力學(MD)同蒙特卡羅模型(MC)相結合的動力學蒙特卡羅模型(KMC),可以很好的模擬大面積薄膜生長。套用KMC模型己經成功的模擬了化學氣相沉積法的薄膜生長,如模擬Si薄膜生長、模擬金剛石薄膜生長過程等。KMC模型也可以模擬套用物理氣相沉積法的薄膜生長,例如模擬ZnO薄膜生長、模擬金屬納米島的生長等。
蒙特卡羅模型的基本思想
對於隨機性問題,有時還可以根據實際物理背景的機率法則,用電子計算機直接進行抽樣試驗,從而求得問題的解答
蒙特卡羅模型的發展運用
從理論上來說,蒙特卡羅方法需要大量的實驗。實驗次數越多,所得到的結果才越精確。以上Buffon的投針實驗為例、歷史上的記錄如下表1。
從表中數據可以看到,一直到公元20世紀初期,儘管實驗次數數以千計,利用蒙特卡羅方法所得到的圓周率∏值,還是達不到公元5世紀祖沖之的推算精度。這可能是傳統蒙特卡羅方法長期得不到推廣的主要原因。
計算機技術的發展,使得蒙特卡羅方法在最近10年得到快速的普及。現代的蒙特卡羅方法,已經不必親自動手做實驗,而是藉助計算機的高速運轉能力,使得原本費時費力的實驗過程,變成了快速和輕而易舉的事情。它不但用於解決許多複雜的科學方面的問題,也被項目管理人員經常使用。
藉助計算機技術,蒙特卡羅方法實現了兩大優點:
一是簡單,省卻了繁複的數學報導和演算過程,使得一般人也能夠理解和掌握;
二是快速。簡單和快速,是蒙特卡羅方法在現代項目管理中獲得套用的技術基礎。
蒙特卡羅方法有很強的適應性,問題的幾何形狀的複雜性對它的影響不大。該方法的收斂性是指機率意義下的收斂,因此問題維數的增加不會影響它的收斂速度,而且存貯單元也很省,這些是用該方法處理大型複雜問題時的優勢。
因此,隨著電子計算機的發展和科學技術問題的日趨複雜,蒙特卡羅方法的套用也越來越廣泛。它不僅較好地解決了多重積分計算、微分方程求解、積分方程求解、特徵值計算和非線性方程組求解等高難度和複雜的數學計算問題,而且在統計物理、核物理、真空技術、系統科學 、信息科學 、公用事業、地質、醫學,可靠性及計算機科學等廣泛的領域都得到成功的套用。
數值計算中蒙特卡羅方法的步驟
1、依據機率分布ψ(x)不斷生成隨機數x, 並計算f(x)
由於隨機數性質,每次生成的x的值都是不確定的,為區分起見,我們可以給生成的x賦予下標。如xi表示生成的第i個x。生成了多少個x,就可以計算出多少個f(x)的值。
2、將這些f(x)的值累加,並求平均值 例如我們共生成了N個x,這個步驟用數學式子表達就是
3、到達停止條件後退出
常用的停止條件有兩種,一種是設定最多生成N個x,數量達到後即退出,另一種是檢測計算結果與真實結果之間的誤差,當這一誤差小到某個範圍之內時退出。
4、誤差分析
項目管理中蒙特卡羅模擬方法的一般步驟
1、對每一項活動,輸入最小、最大和最可能估計數據,並為其選擇一種合適的先驗分布模型;
2、計算機根據上述輸入,利用給定的某種規則,快速實施充分大量的隨機抽樣;
3、對隨機抽樣的數據進行必要的數學計算,求出結果;
5、根據求出的統計學處理數據,讓計算機自動生成機率分布曲線和累積機率曲線(通常是基於常態分配的機率累積S曲線);
6、依據累積機率曲線進行項目風險分析。