控制器
[拼音]:Mengtekaluofa
[英文]:monte-carlo method
通過構造概率模型並對它進行隨機試驗來解算數學問題的方法。以計算函式f(x)的定積分
為例(見圖),首先構造一個概率模型:取一個邊長分別為c和b-a的矩形,並在矩形內隨機投點,假設隨機點均勻地落在整個矩形之內,則落在圖中陰影區內的隨機點數n與投點總數N之比 n/N,就近似地等於陰影區面積與矩形面積之比:
。由此可求出定積分
。
蒙特卡羅法歷史悠久。1773年法國G.-L.L.von布豐曾通過隨機投針試驗來確定圓周率π的近似值,這就是應用這個方法的最早例子。蒙特卡羅是摩納哥著名賭城,1945年J.von諾伊曼等人用它來命名此法,沿用至今。數字計算機的發展為大規模的隨機試驗提供了有效工具,遂使蒙特卡羅法得到廣泛應用。在連續系統和離散事件系統的模擬中,通常構造一個和系統特性相近似的概率模型,並對它進行隨機試驗,因此蒙特卡羅法也是系統模擬方法之一。
蒙特卡羅法的步驟是:
(1)構造實際問題的概率模型;
(2)根據概率模型的特點,設計和使用降低方差的各類方法,加速試驗的收斂;
(3)給出概率模型中各種不同分佈隨機變數的抽樣方法;
(4)統計試驗結果,給出問題的解和精度估計。
概率模型
用概率統計的方法對實際問題或系統作出的一種數學描述。例如對離散事件系統中臨時實體的到達時間、永久實體的服務時間的描述(見離散事件系統模擬方法)就是採用概率模型。雖然由這些模型所確定的到達時間、服務時間可能與具體某一段時間內實際到達時間、服務時間有出入,但它是通過多次統計獲得的結果,所以從概率分佈的規律來說還是相符的。概率模型不僅可用來描述本身就具有隨機特性的問題或系統,也可用來描述一個確定型問題。例如引數尋優中的隨機搜尋法(見動力學系統引數尋優)就是將引數最優化問題構造為一個概率模型,然後用隨機投點、統計分析的方法來進行搜尋。
隨機數的產生
用蒙特卡羅法進行模擬時,需要應用各種不同分佈的隨機變數。只要有一種連續分佈的隨機變數,就可設法得到任意分佈的隨機變數。在(0,1)上均勻的分佈函式是一種最簡單的連續分佈函式。因此在
蒙特卡羅法中,多是先產生均勻分佈隨機變數 R的抽樣值ri(i=1,2,…),稱為隨機數。在計算機中產生隨機數的方法有:
(1)把已有的隨機數表輸入計算機;
(2)用物理方法,如噪聲型隨機數發生器產生出真正的隨機數;
(3)用數學方法根據遞推公式
由程式來產生。這種方法速度高,佔用機器的記憶體少,使用最為普遍。在計算機中表示一個數字的字長有限,因此只能表示有限個不同的數,而且用遞推方法產生的數值序列{rn}是完全確定的,到一定長度便周而復始,這些都與隨機數的基本性質相矛盾。但是隻要產生的數值序列{rn}能夠通過隨機數的各種統計檢驗,仍可以把它當作隨機數來使用。為區別起見,常將用數學方法產生的隨機數稱為偽隨機數。