『壹』 蒙特卡洛演算法是什麼
是二十世紀提出的數值計算方法。
蒙特·卡羅方法(Monte Carlo method),也稱統計模擬方法,是二十世紀四十年代中期由於科學技術的發展和電子計算機的發明,而被提出的一種以概率統計理論為指導的一類非常重要的數值計算方法。
是指使用隨機數(或更常見的偽隨機數)來解決很多計算問題的方法。與它對應的是確定性演算法。蒙特·卡羅方法在金融工程學,宏觀經濟學,計算物理學(如粒子輸運計算、量子熱力學計算、空氣動力學計算)等領域應用廣泛。
基本原理:
蒙特卡羅方法通過抓住事物運動的幾何數量和幾何特徵,利用數學方法來加以模擬,即進行一種數字模擬實驗。它以一個概率模型為基礎,按照這個模型所描繪的過程,通過模擬實驗的結果,作為問題的近似解。
蒙特卡羅解題可歸結為三個主要步驟。
構造或描述概率過程。
實現從已知概率分布抽樣。
建立各種評估量。
『貳』 蒙特卡羅模擬
蒙特卡洛(Monte Carlo)模擬是一種通過設定隨機過程,反復生成時間序列,計算參數估計量和統計量,進而研究其分布特徵的方法。具體的,當系統中各個單元的可靠性特徵量已知,但系統的可靠性過於復雜,難以建立可靠性預計的精確數學模型或模型太復雜而不便應用時,可用隨機模擬法近似計算出系統可靠性的預計值;隨著模擬次數的增多,其預計精度也逐漸增高。由於涉及到時間序列的反復生成,蒙特卡洛模擬法是以高容量和高速度的計算機為前提條件的,因此只是在近些年才得到廣泛推廣。
蒙特卡洛(Monte Carlo)模擬這個術語是二戰時期美國物理學家Metropolis執行曼哈頓計劃的過程中提出來的。
蒙特卡洛模擬方法的原理是當問題或對象本身具有概率特徵時,可以用計算機模擬的方法產生抽樣結果,根據抽樣計算統計量或者參數的值;隨著模擬次數的增多,可以通過對各次統計量或參數的估計值求平均的方法得到穩定結論。
蒙特卡洛模擬法求解步驟
應用此方法求解工程技術問題可以分為兩類:確定性問題和隨機性問題。
解題步驟如下:
1.根據提出的問題構造一個簡單、適用的概率模型或隨機模型,使問題的解對應於該模型中隨機變數的某些特徵(如概率、均值和方差等),所構造的模型在主要特徵參量方面要與實際問題或系統相一致
2 .根據模型中各個隨機變數的分布,在計算機上產生隨機數,實現一次模擬過程所需的足夠數量的隨機數。通常先產生均勻分布的隨機數,然後生成服從某一分布的隨機數,方可進行隨機模擬試驗。
3. 根據概率模型的特點和隨機變數的分布特性,設計和選取合適的抽樣方法,並對每個隨機變數進行抽樣(包括直接抽樣、分層抽樣、相關抽樣、重要抽樣等)。
4.按照所建立的模型進行模擬試驗、計算,求出問題的隨機解。
5. 統計分析模擬試驗結果,給出問題的概率解以及解的精度估計。
蒙特卡洛模擬法的應用領域
蒙特卡洛模擬法的應用領域主要有:
1.直接應用蒙特卡洛模擬:應用大規模的隨機數列來模擬復雜系統,得到某些參數或重要指標。
2.蒙特卡洛積分:利用隨機數列計算積分,維數越高,積分效率越高。
3.MCMC:這是直接應用蒙特卡洛模擬方法的推廣,該方法中隨機數的產生是採用的馬爾科夫鏈形式。
『叄』 蒙特卡羅演算法是什麼
蒙特卡羅(MonteCarlo)方法,或稱計算機隨機模擬方法,是一種基於「隨機數」的計算方法。這一方法源於美國在第二次世界大戰進行研製原子彈的「曼哈頓計劃」。
該計劃的主持人之一、數學家馮·諾伊曼用馳名世界的賭城—摩納哥的MonteCarlo—來命名這種方法,為它蒙上了一層神秘色彩。
主要是:
使用隨機數( 或更常見的偽隨機數)來解決很多計算問題的方法。 將所求解的問題同一定的概率模型相聯系, 用電子計算機實現統計模擬或 抽樣 ,以獲得問題的近似解。 為象徵性地表明這一方法的概率統計特徵, 故借用賭城蒙特卡羅命名。
『肆』 蒙特卡洛方法原理是什麼
當所要求解的問題是某種事件出現的概率,或者是某個隨機變數的期望值時,它們可以通過某種「試驗」的方法,得到這種事件出現的頻率,或者這個隨機變數的平均值,並用它們作為問題的解。
假設我們要計算一個不規則圖形的面積,那麼圖形的不規則程度和分析性計算(比如,積分)的復雜程度是成正比的。
蒙特卡羅方法基於這樣的想法:假設你有一袋豆子,把豆子均勻地朝這個圖形上撒,然後數這個圖形之中有多少顆豆子,這個豆子的數目就是圖形的面積。
當你的豆子越小,撒的越多的時候,結果就越精確。藉助計算機程序可以生成大量均勻分布坐標點,然後統計出圖形內的點數,通過它們占總點數的比例和坐標點生成范圍的面積就可以求出圖形面積。
原則上,蒙特卡羅方法可用於解決任何具有概率解釋的問題。根據大數定律,由某個隨機變數的期望值描述的積分可以通過取變數的獨立樣本的經驗均值(也就是樣本均值)來近似。
當變數的概率分布被參數化時,數學家經常使用馬爾可夫鏈蒙特卡羅(MCMC)采樣器。中心思想是設計一個具有規定的平穩概率分布的明智馬爾可夫鏈模型。
也就是說,在極限情況下,由 MCMC 方法生成的樣本將是來自所需(目標)分布的樣本。通過遍歷定理,通過MCMC 采樣器的隨機狀態的經驗測量來近似平穩分布。
工作過程
使用蒙特卡羅方法估算π值. 放置30000個隨機點後,π的估算值與真實值相差0.07%.
在解決實際問題的時候應用蒙特卡羅方法主要有兩部分工作:
1、用蒙特卡羅方法模擬某一過程時,需要產生各種概率分布的隨機變數。
2、用統計方法把模型的數字特徵估計出來,從而得到實際問題的數值解。
『伍』 什麼是蒙特卡洛分析
蒙特卡羅分析法(統計模擬法),是一種採用隨機抽樣統計來估算結果的計算方法,可用於估算圓周率,由約翰·馮·諾伊曼提出。由於計算結果的精確度很大程度上取決於抽取樣本的數量,一般需要大量的樣本數據,因此在沒有計算機的時代並沒有受到重視。
利用蒙特卡羅分析法可用於估算圓周率,如圖,在邊長為 2 的正方形內作一個半徑為 1 的圓,正方形的面積等於 2×2=4,圓的面積等於 π×1×1=π,由此可得出,正方形的面積與圓形的面積的比值為 4:π。
現在讓我們用電腦或輪盤生成若干組均勻分布於 0-2 之間的隨機數,作為某一點的坐標散布於正方形內,那麼落在正方形內的點數 N 與落在圓形內的點數 K 的比值接近於正方形的面積與圓的面積的比值,即,N:K ≈ 4:π,因此,π ≈ 4K/N 。
用此方法求圓周率,需要大量的均勻分布的隨機數才能獲得比較准確的數值,這也是蒙特卡羅分析法的不足之處。
(5)簡述蒙特卡洛演算法原理擴展閱讀:
使用蒙特·卡羅方法進行分子模擬計算是按照以下步驟進行的:
1. 使用隨機數發生器產生一個隨機的分子構型。
2. 對此分子構型的其中粒子坐標做無規則的改變,產生一個新的分子構型。
3. 計算新的分子構型的能量。
4. 比較新的分子構型於改變前的分子構型的能量變化,判斷是否接受該構型。
若新的分子構型能量低於原分子構型的能量,則接受新的構型,使用這個構型重復再做下一次迭代。 若新的分子構型能量高於原分子構型的能量,則計算玻爾茲曼因子,並產生一個隨機數。
若這個隨機數大於所計算出的玻爾茲曼因子,則放棄這個構型,重新計算。 若這個隨機數小於所計算出的玻爾茲曼因子,則接受這個構型,使用這個構型重復再做下一次迭代。
5. 如此進行迭代計算,直至最後搜索出低於所給能量條件的分子構型結束。
項目管理中蒙特·卡羅模擬方法的一般步驟是:
1.對每一項活動,輸入最小、最大和最可能估計數據,並為其選擇一種合適的先驗分布模型;
2.計算機根據上述輸入,利用給定的某種規則,快速實施充分大量的隨機抽樣
3.對隨機抽樣的數據進行必要的數學計算,求出結果
4.對求出的結果進行統計學處理,求出最小值、最大值以及數學期望值和單位標准偏差
5.根據求出的統計學處理數據,讓計算機自動生成概率分布曲線和累積概率曲線(通常是基於正態分布的概率累積S曲線)
6.依據累積概率曲線進行項目風險分析。
『陸』 蒙特卡洛樹是什麼演算法
蒙特卡洛演算法就是用很多個隨機事件的結果去逼近所需要的精確結果。
與常規的牛頓搜索,正交共軛搜索之類演算法不同,蒙特卡洛不用確定搜索方向,每取一個值,都跟上一個取值無關,正因為如此每一步都有很多種的可能性,這樣在設計圍棋這樣求解步數很多的事情或過程時,所需要的內存和CPU性能幾乎是無窮大,
『柒』 蒙特卡洛方法的詳細過程
在控制方面,蒙特卡洛方法就是通過大量隨機過程,類似於窮舉法,驗證控制系統的性能,主要是檢驗系統的魯棒性,比方說:PID控制器參數已經整定完畢,但是被控對象的參數在某個范圍內發生變化,這時,將系統的輸出,比方說調整時間和超調亮在坐標圖上以點的形式畫出,那麼如果進行100次試驗,就會在圖上形成一百個點,如果這些點排列相對集中,那麼系統的魯棒性就相對較好,並且,如果這些點離坐標原點的距離都很近,那麼,這個PID控制器的調節時間和超調量性能也就比較好,這是我在控制領域見到的一種蒙特卡洛方法的運用,在經濟領域,蒙特卡洛也有運用,可以簡化過去的演算法,將積分變為直接的隨機試驗,這樣可以降低系統的運行時間,提高效率。
『捌』 能不能簡單的給我解釋一下蒙特卡羅演算法
以概率和統計的理論、方法為基礎的一種計算方法,將所求解的問題同一定的概率模型相聯系,用電子計算機實現統計模擬或抽樣,以獲得問題的近似解,故又稱統計模擬法或統計試驗法。
蒙特卡羅是摩納哥的一個城市,以賭博聞名於世界。蒙特卡羅法借用這一城市的名稱是為了象徵性地表明該方法的概率統計的特點。
蒙特卡羅法作為一種計算方法,是由S.M.烏拉姆和J.馮·諾伊曼在20世紀40年代中葉為研製核武器的需要而首先提出來的。在此之前,該方法的基本思想實際上早已被統計學家所採用了。例如,早在17世紀,人們就知道了依頻數來決定概率的方法。
20世紀40年代中葉,出現了電子計算機,使得用數學方法模擬大量的試驗成為可能。另外,隨著科學技術的不斷發展,出現了越來越多的復雜而困難的問題,用通常的解析方法或數值方法都很難加以解決。蒙特卡羅法就是在這些情況下,作為一種可行的而且是不可缺少的計算方法被提出和迅速發展起來的。
基本原理 考慮一個射擊運動員的射擊成績 G。令x表示彈著點到靶心的距離,g(x)表示得分,而�0�6(x)表示該運動員的彈著點的分布密度,則
。
另一方面,如果該運動員進行了實彈射擊,彈著點依次為X1,X2,…,XN,則平均得分為
。
很明顯,弿N是G 的一個近似估計。蒙特卡羅法正是用弿N作為G 的近似估計。
假設 x不是一維空間的點,而是一個S 維空間的點(x1,x2,…,xs),則上述積分變為
。
蒙特卡羅法計算此積分是用
作為G 的近似估計,式中(X1n,X2n,…,Xsn)是由�0�6(x1,x2,…,xs)中抽取的第n 個樣本點。同上述一維積分比較,相同點是,都以某隨機變數的N 個獨立抽樣值的算術平均作為近似估計;不同點僅僅是,決定隨機量的樣本點不同,一個是一維空間的點,另一個是S 維空間的點。由上式可見, 決定近似估計 弿N好壞的僅僅是隨機變數g(x)或g(x1,x2,…,xs)的分布情況,而與它們是由怎樣的樣本點對應過來的無關。換言之,如果隨機變數g(x)和g(x1,x2,…,xs)具有相同分布,在不計抽樣,不計計算g(x)和g(x1,x2,…,xs)的差別的情況下,S維情況與一維情況無任何差異。這是其他計算方法所不具有的、一個非常重要的性質。
蒙特卡羅法解題的一般過程是,首先構成一個概率空間;然後在該概率空間中確定一個隨機變數g(x),其數學期望
正好等於所要求的值G,其中F(x)為x的分布函數;最後,以所確定的隨機變數的簡單子樣的算術平均值
作為G 的近似估計。由於其他原因,如確定數學期望為G 的隨機變數g(x)有困難,或為其他目的,蒙特卡羅法有時也用G 的漸近無偏估計代替一般過程中的無偏估計弿N來作為G 的近似估計。
收斂性、誤差和費用 蒙特卡羅法的近似估計弿N依概率1收斂於G的充分必要條件是隨機變數g(x)滿足
。
如果隨機變數g(x)滿足條件
,
式中1≤r<2,則
,
亦即弿N依概率1收斂於G 的速度為。總之,蒙特卡羅法的收斂性取決於所確定的隨機變數是否絕對可積,而蒙特卡羅法的收斂速度取決於該隨機變數是幾次絕對可積的。
根據中心極限定理,只要隨機變數g(x)具有有限的異於零的方差σ2,當N 足夠大時便有蒙特卡羅法的誤差公式如下:
,
式中1-α為置信水平,x由置信水平所惟一確定。根據上述誤差公式,為滿足問題的誤差和置信水平的要求,子樣容量N必須大於(x/ε)2σ2,其中ε表示誤差。進一步假設每觀察一個樣本所需要的費用是C,則蒙特卡羅法的費用是。這一結果表明,在相同誤差和置信水平要求下,一個蒙特卡羅法的優劣完全取決於σ2C 的值的大小,它的值越小相應的方法越好,或者說,蒙特卡羅法的效率與σ2C 成反比。
提高效率的方法
降低方差技巧 降低方差是提高蒙特卡羅法效率的重要途徑之一。考慮二重積分
,
式中�0�6(x,y)為x和y的分布密度函數,g(x,y)的方差存在。蒙特卡羅法計算Eg的一般技巧是用g=g(x, y)作為所確定的隨機變數,其中x和y服從分布�0�6(x,y)。降低方差的具體辦法有:
① 統計估計技巧用�0�6(x) 和�0�6x(y)分別表示分布�0�6(x,y)的邊緣分布和條件分布。計算Eg的統計估計技巧是用y的統計估計量
作為所確定的隨機變數,其中x服從分布�0�6(x)。g的方差恰好為兩個方差的和,它們分別是對隨機變數x和隨機變數y採用抽樣辦法而產生的。gSE的方差正好等於前者,因此gSE的方差一定比g的方差小。統計估計技巧的一般原理是,對於問題中所出現的諸隨機變數,能夠確定其相應的統計估計量的,就不要再對它們採用隨機抽樣的辦法。
② 重要抽樣技巧引入任意分布密度函數�0�6*(x,y),則
的數學期望同樣為Eg,其中x和y服從分布�0�6*(x,y)。當�0�6*(x,y)~|g(x,y)|�0�6(x,y)時,gIS的方差達到最小。在g(x,y)≥0時,方差等於零,gIS實際上變成了與其中出現的隨機變數無關的常數。重要抽樣技巧的一般原理是,盡量使所確定的隨機變數與問題中所出現的隨機變數關系不大。
③ 相關抽樣技巧考慮一個新的、積分值已知的二重積分
,
可得知
的數學期望同樣為Eg,式中x和y服從分布�0�6(x,y),α為任意常數。當為隨機變數g(x,y)和g*(x,y)的均方差σg、λg*之比時,gCS的方差達到最小。此時的方差等於g 的方差 1-ρ2倍,ρ為隨機變數g(x,y)和g*(x,y)的相關系數。當ρ=1時,方差變為零。相關抽樣技巧的一般原理是,尋找一個數學期望已知的且與原確定的隨機變數正相關的隨機變數,使相應的相關系數盡量接近1,然後用這兩個隨機變數的線性組合作為蒙特卡羅法最終所確定的隨機變數。
降低方差的技巧還有對偶變數技巧、系統抽樣技巧和分層抽樣技巧等。對偶變數技巧的一般原理是,除了原確定的隨機變數外,尋找另一個(或多個)具有相同數學期望的隨機變數,使得它們之間盡量是對偶負相關的,然後用它們的線性組合作為蒙特卡羅法最終所確定的隨機變數。系統抽樣技巧的一般原理是,對問題中所出現的某些隨機變數按相應分布所確定的比例進行抽樣,而不是進行隨機抽樣。分層抽樣技巧的一般原理是,對問題中所出現的某些隨機變數進行分層,盡量使所確定的隨機變數在各層中相對平穩,各層間的抽樣按相應分布所確定的比例進行。
其他途徑 為了提高蒙特卡羅法的效率,除了簡單地降低方差外,還有為降低費用設計的分裂和輪盤賭技巧,為逐步降低方差而設計的多極抽樣技巧,為改善收斂速度而設計的擬蒙特卡羅法,為計算條件期望而設計的條件蒙特卡羅法等等。分裂和輪盤賭技巧的一般原理是,將x的積分區域分為重要和非重要兩部分,對於抽樣確定的X,當它屬於重要區域時,對相應的Y 進行多次抽樣;當它屬於非重要區域時,只有在賭獲勝時才對相應的Y 進行抽樣。多級抽樣技巧的一般原理是,在進行某一級抽樣計算的同時,根據它所提供的抽樣觀察值,設計更好的抽樣技巧,用新設計的抽樣技巧進行新的一級的抽樣計算,依次類推,最後用各級的結果的線性組合作為蒙特卡羅法的近似估計。擬蒙特卡羅法與一般蒙特卡羅法的最大區別是,前者不像後者那樣要求子樣 g(X1),g(X2),…,g(Xn)是相互獨立的。用一致分布點列替代由隨機數組成的點列的所謂數論方法,實際上就是一種擬蒙特卡羅法。條件蒙特卡羅法的一般原理是,首先將條件期望問題轉化成為非條件期望問題,然後用解非條件期望的一般方法來解決條件期望計算問題。由於條件蒙特卡羅法中引進了任意分布密度函數,因此,可以選取合適的分布密度函數來實現進一步降低方差的目的。
優缺點 蒙特卡羅法的最大優點是,在方差存在的情況下,問題的維數不影響它的收斂速度,而隻影響它的方差;問題幾何形狀的復雜性對它的影響不大;它不象其他數值方法那樣對問題一定要進行離散化處理,而是常可以進行連續處理;它的程序結構簡單,所需計算機存貯單元比其他數值方法少,這對於高維問題差別尤其顯著。蒙特卡羅法的最大缺點是,對於維數少的問題它不如其他數值方法好;它的誤差是概率誤差,而不是一般意義下的誤差。
應用 隨著電子計算機的迅速發展和科學技術問題日趨復雜,蒙特卡羅法的應用越來越廣泛,已經滲透到科學技術的各個領域。
在一些典型數學問題方面的應用主要有:多重積分計算、線性代數方程組求解、矩陣求逆、常微分方程邊值問題求解、偏微分方程求解、非齊次線性積分方程求解、本徵值計算和最優化計算等等。其中的多重積分計算、非齊次線性積分方程求解和齊次線性積分方程本徵值計算等,不僅非常有代表性,而且有很大的實用價值,對於高維問題常比其他數值方法好。
在一些實際問題方面的應用主要有,屏蔽計算、核臨界安全計算、反應堆物理計算、微擾計算、實驗核物理計算、高能物理計算、核物理計算、統計物理計算、真空技術、公用事業、資訊理論、系統模擬、可靠性計算和計算機科學等等。其中的屏蔽計算、核臨界安全計算、微擾計算、實驗核物理計算和統計物理計算等,不僅非常有代表性,而且應用得很廣泛,按蒙特卡羅法解決這些問題的能力講,已經超過了其他計算方法的水平。
『玖』 蒙特卡羅模擬的基本原理及思想
當所要求解的問題是某種事件出現的概率,或者是某個隨機變數的期望值時,它們可以通過某種「試驗」的方法,得到這種事件出現的頻率,或者這個隨機變數的平均值,並用它們作為問題的解。這就是蒙特卡羅方法的基本思想。蒙特卡羅方法通過抓住事物運動的幾何數量和幾何特徵,利用數學方法來加以模擬,即進行一種數字模擬實驗。它是以一個概率模型為基礎,按照這個模型所描繪的過程,通過模擬實驗的結果,作為問題的近似解。可以把蒙特卡羅解題歸結為三個主要步驟:構造或描述概率過程;實現從已知概率分布抽樣;建立各種估計量。
『拾』 蒙特卡洛演算法
蒙特·卡羅方法(Monte
Carlo
method),也稱統計模擬方法,是二十世紀四十年代中期由於科學技術的發展和電子計算機的發明,而被提出的一種以概率統計理論為指導的一類非常重要的數值計算方法。是指使用隨機數(或更常見的偽隨機數)來解決很多計算問題的方法。與它對應的是確定性演算法。蒙特·卡羅方法在金融工程學,宏觀經濟學,計算物理學(如粒子輸運計算、量子熱力學計算、空氣動力學計算)等領域應用廣泛。
分子模擬計算
使用蒙特·卡羅方法進行分子模擬計算是按照以下步驟進行的:1.
使用隨機數發生器產生一個隨機的分子構型。2.
對此分子構型的其中粒子坐標做無規則的改變,產生一個新的分子構型。3.
計算新的分子構型的能量。4.
比較新的分子構型於改變前的分子構型的能量變化,判斷是否接受該構型。若新的分子構型能量低於原分子構型的能量,則接受新的構型,使用這個構型重復再做下一次迭代。
若新的分子構型能量高於原分子構型的能量,則計算玻爾茲曼因子,並產生一個隨機數。若這個隨機數大於所計算出的玻爾茲曼因子,則放棄這個構型,重新計算。
若這個隨機數小於所計算出的玻爾茲曼因子,則接受這個構型,使用這個構型重復再做下一次迭代。5.
如此進行迭代計算,直至最後搜索出低於所給能量條件的分子構型結束。