蒙地卡羅方法
閱讀設定
蒙地卡羅方法(英文:Monte Carlo method)係一柞用隨機性嘅做法嚟應付決定性(deterministic)系統嘅演算法:如果話一個系統係「決定性」嘅,意思係指個系統冇隨機喺裏面,但就算一個系統係決定性嘅,個系統依然有可能會係複雜到難以用決定嘅方法解決[1]。
蒙地卡羅方法源於 1940 年代。
基本流程
[編輯]蒙地卡羅方法最基本嘅流程如下[2]:
- 定義個系統嘅輸入嘅可能數值(定義域;domain);
- 用一個表示輸入數值、受定義域限制嘅概率分佈隨機噉產生一個輸入;
- 對個輸入做決定性嘅運算;
- 將步驟 2 同 3 重複 咁多次,得到 個輸出,再結合數據(aggregate)-例如計嗰 個輸出嘅平均值。
例子
[編輯]- 畫一個正方形,再喺個正方形入面畫個 90° 嘅扇形,任何嘅輸入坐標 都實會喺個正方形裏面(定義域);
- 用一個均勻分佈(uniform distribution)產生一個輸入坐標數值,「均勻分佈」意思係指每個坐標可能數值出現嘅機會率都完全一樣(睇埋隨機數生成);
- 喺產生咗出嚟輸入坐標數值嘅位置嗰度畫一點(做運算);
- 將步驟 2 同 3 重複 咁多次,然後數吓有幾多點點係喺個扇形裏面(同原點距離細過 1)嘅,設呢個數值做 ,如果 嘅數值大到接近無限大嘅話,以下呢樣嘢會成立: