蒙特卡羅模型(轉載)
什麼是蒙特卡羅模型?
蒙特卡羅模擬是一種隨機模擬方法。以概率和統計理論方法為基礎的一種計算方法。將所求解的問題同一定的概率模型相聯絡,用電子計算機實現統計模擬或抽樣,以獲得問題的近似解。為象徵性地表明這一方法的概率統計特徵,故借用賭城蒙特卡羅命名。又稱統計模擬法、隨機抽樣技術。由S.M.烏拉姆和J.馮·諾伊曼在20世紀40年代為研製核武器而首先提出 。在這之前,蒙特卡羅方法就已經存在。1777年,法國Buffon提出用投針實驗的方法求圓周率∏。這被認為是蒙特卡羅方法的起源。
蒙特卡羅模型的基本思想
它的基本思想是,為了求解數學、物理、工程技術以及管理等方面的問題 ,首先建立一個概率模型或隨機過程,使它們的引數,如概率分佈或數學期望等問題的解;然後通過對模型或過程的觀察或抽樣試驗來計算所求引數的統計特徵,並用算術平均值作為所求解的近似值。對於隨機性問題,有時還可以根據實際物理背景的概率法則,用電子計算機直接進行抽樣試驗,從而求得問題的解答。
蒙特卡羅模型的發展運用
從理論上來說,蒙特卡羅方法需要大量的實驗。實驗次數越多,所得到的結果才越精確。以上Buffon的投針實驗為例、歷史上的記錄如下表1。
http://wiki.mbalib.com/w/images/c/c7/%E8%92%99%E7%89%B9%E5%8D%A1%E7%BD%97%E6%96%B9%E6%B3%95.jpg
從表中資料可以看到,一直到公元20世紀初期,儘管實驗次數數以千計,利用蒙特卡羅方法所得到的圓周率∏值,還是達不到公元5世紀祖沖之的推算精度。這可能是傳統蒙特卡羅方法長期得不到推廣的主要原因。
計算機技術的發展,使得蒙特卡羅方法在最近10年得到快速的普及。現代的蒙特卡羅方法,已經不必親自動手做實驗,而是藉助計算機的高速運轉能力,使得原本費時費力的實驗過程,變成了快速和輕而易舉的事情。它不但用於解決許多複雜的科學方面的問題,也被專案管理人員經常使用。
藉助計算機技術,蒙特卡羅方法實現了兩大優點:
一是簡單,省卻了繁複的數學報導和演算過程,使得一般人也能夠理解和掌握;
二是快速。簡單和快速,是蒙特卡羅方法在現代專案管理中獲得應用的技術基礎。
蒙特卡羅方法有很強的適應性,問題的幾何形狀的複雜性對它的影響不大。該方法的收斂性是指概率意義下的收斂,因此問題維數的增加不會影響它的收斂速度,而且存貯單元也很省,這些是用該方法處理大型複雜問題時的優勢。因此,隨著電子計算機的發展和科學技術問題的日趨複雜,蒙特卡羅方法的應用也越來越廣泛。它不僅較好地解決了多重積分計算、微分方程求解、積分方程求解、特徵值計算和非線性方程組求解等高難度和複雜的數學計算問題,而且在統計物理、核物理、真空技術、系統科學 、資訊科學 、公用事業、地質、醫學,可靠性及電腦科學等廣泛的領域都得到成功的應用。
專案管理中蒙特卡羅模擬方法的一般步驟
專案管理中蒙特卡羅模擬方法的一般步驟是:
1、對每一項活動,輸入最小、最大和最可能估計資料,併為其選擇一種合適的先驗分佈模型;
2、計算機根據上述輸入,利用給定的某種規則,快速實施充分大量的隨機抽樣;
3、對隨機抽樣的資料進行必要的數學計算,求出結果;
4、對求出的結果進行統計學處理,求出最小值、最大值以及數學期望值和單位標準偏差;
5、根據求出的統計學處理資料,讓計算機自動生成概率分佈曲線和累積概率曲線(通常是基於正態分佈的概率累積S曲線);
6、依據累積概率曲線進行專案風險分析。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7942439/viewspace-18495/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 蒙特卡羅法求圓周率
- 你也能看懂的:蒙特卡羅方法
- 使用蒙特卡羅模擬期權定價
- 強化學習(四)用蒙特卡羅法(MC)求解強化學習
- 蒙特卡羅演算法求圓周率Pi的值演算法
- 六西格瑪與商業分析:蒙特卡羅模擬
- 隨機化演算法(5) — 蒙特卡羅(Monte Carlo)演算法隨機演算法
- 蒙特卡羅方法:當丟失確定性時的處理辦法
- 強化學習(十八) 基於模擬的搜尋與蒙特卡羅樹搜尋(MCTS)強化學習
- DeepMind開發用於量子化學計算的神經網路變分蒙特卡羅神經網路
- 蒙特卡洛方法(Monte-Carlo Simulation)
- 資源 | 跟著Sutton經典教材學強化學習中的蒙特卡羅方法(程式碼例項)強化學習
- DQN(Deep Q-learning)入門教程(三)之蒙特卡羅法演算法與Q-learning演算法演算法
- 蒙特卡洛模擬(1)————三門問題
- 蒙特卡洛積分——非均勻取樣
- 【轉載】Encoder-decoder模型模型
- 比特幣的價格今年會達到10萬美元嗎?有人用蒙特卡羅方法預測了一下比特幣
- 「轉載」成功的 Git 分支模型Git模型
- 強化學習 3—— 使用蒙特卡洛取樣法(MC)解決無模型預測與控制問題強化學習模型
- Python運用蒙特卡洛演算法模擬植物生長Python演算法
- 大模型+蒙特卡洛樹搜尋,一招讓LLaMa-3 8B奧數水平直逼GPT-4大模型GPT
- 【AlphaGo】AlphaGo背後的力量:蒙特卡洛樹搜尋入門指南Go
- 蒙特卡洛——使用CDF反函式生成非均勻隨機數函式隨機
- 探索 PCI 轉 PMC 載板轉接卡:連線不同介面的橋樑
- AlphaGo的制勝祕訣:蒙特卡洛樹搜尋初學者指南Go
- PowerDesigner連線Oracle逆向生成資料模型(轉載)Oracle模型
- 從NFC卡分析看ACR122U讀寫原理 (轉載)
- 羅馬數字轉整數
- 蒙特卡洛模擬(3)————求解有約束的非線性規劃問題
- 俄羅斯套娃 (Matryoshka) 嵌入模型概述模型
- 載入模型模型
- 【模型推理】Tengine 模型轉換及量化模型
- Roman to Integer 羅馬數字轉整數
- Js 跟手轉動的羅盤指標JS指標
- LeetCode 13[羅馬數字轉整數]LeetCode
- 13. 羅馬數字轉整數
- 強化學習之蒙特卡洛學習,時序差分學習理論與實戰強化學習
- djl載入模型模型
- pytorch模型(.pt)轉onnx模型(.onnx)的方法PyTorch模型