蒙地卡羅模擬 (Monte Carlo)
Published: Sun Feb 15 2026 | Modified: Sat Feb 07 2026 , 2 minutes reading.
蒙地卡羅模擬 (Monte Carlo)
引言:用飛鏢計算 Pi ()
想像你在牆上畫了一個正方形,裡面有一個內切圓。你扔飛鏢的技術很爛,所以你是隨機亂扔的。 扔了 1,000 次後:
- 總投擲數:1,000
- 落在圓內:785
- 比率:
因為 圓的面積 / 正方形面積 = ,我們可以得出 。 你剛剛用隨機運氣算出了圓周率。這就是 蒙地卡羅方法。
演算法要解決什麼問題?
- 輸入: 一個帶有不確定變數的系統,或者複雜到無法用解析法求解的方程式。
- 輸出: 基於大量隨機模擬的近似結果。
- 承諾: 能解決傳統數學無法解決的問題(如高維積分)。
核心思想 (直覺版)
「大數定律」 如果你重複一個實驗足夠多次,結果的平均值將收斂於真實的期望值。 與其試圖精確計算一副德州撲克手牌獲勝的概率(涉及巨大的組合數學),不如直接模擬打這副牌 100 萬次,然後統計贏的次數。
典型業務場景
- ✅ 金融 (風險分析): 「我的投資組合明年虧損 20% 的機率有多大?」 模擬 10,000 種可能的股市未來。
- ✅ 光線追蹤 (圖形學): 模擬數百萬個光子隨機彈跳,以創造逼真的光照和陰影效果。
- ✅ AI (AlphaGo): 蒙地卡羅樹搜尋 (MCTS) 模擬數千種隨機的未來棋局,以決定當下的最佳著法。
- ✅ 工程學: 透過模擬帶有隨機變化的風載荷來測試橋樑的可靠性。
性能與複雜度總結
- 精度: 隨 提高( 是樣本數)。要使精度翻倍,你需要 4 倍的樣本。
- 速度: 高度可平行化(你可以同時在 1,000 個 GPU 上執行模擬)。
小結:一句話記住它
「蒙地卡羅是『概率的暴力破解』。當方程式太難解時,就模擬她一百萬次。隨機性的總和往往能揭示真理。」
