偽隨機數
用蒙特卡羅法模擬求解一個實際問題,要用到各種不同分布的隨機變數、隨機向量和隨機過程 η的抽樣序列{ηn|n=1,2,…},稱它們為隨機數。如常用的二項分布隨機數、均勻分布隨機數、二維常態分配隨機數等,其中最基本、最重要的是區間(0,1)上均勻分布的隨機數。因此,如何在計算機上產生偽隨機數備受重視。在一台b)進制(如二進制或十進制)、尾數字長為k位的計算機上,不考慮符號和階碼,可以表示bk個不同的數,即0,1,2,…,bk-1。在數學計算機上產生偽隨機數,就是選取m個整數x1,x2,…,xm作為初值和一個適於遞推計算的數學公式



選用不同的遞推計算公式





在一台尾數字長為k位的二進制計算機上,取模M=2k,乘同餘法的遞推計算同餘式為




對產生的偽隨機數,要經過一定的理論分析和各種統計檢驗,以檢查得到的序列是否具有在區間(0,1)上均勻總體簡單子樣所應具有的各種統計性質,如分布的均勻性、取值的隨機性、前後的獨立性和分段序列統計性質的一致性等。進行上述統計性質檢驗的方法很多,常用的有參數檢驗、均勻性檢驗、獨立性檢驗、連檢驗和各種不同的組合規律性檢驗等。
有了偽隨機數{rn},利用各種不同的抽樣算法,如直接抽樣、變換抽樣、舍選抽樣、複合抽樣等,就可以產生模擬計算中需要的各種不同分布的隨機數。
設隨機變數η的分布函式F(x)連續,逆函式F -1(y)存在,則R=F(η)為區間(0,1)上均勻分布的隨機變數。利用這一原理,從隨機數{rn}出發,就可以直接得到η的抽樣序列




在機率統計的理論研究和實際套用中,經常遇到具有密度函式

上述抽樣算法,要用到對數、開方、正弦和餘弦等算法,速度較慢。在計算機上,靈活多變、計算量省的舍選抽樣和複合抽樣更經常的用來產生所要的各種不同分布的隨機數。以隨機餘弦




中國科學院計算中心機率統計組編著: 《機率統計計算》,科學出版社,北京,1979。
徐鍾濟編著:《蒙特卡羅方法》,上海科學技術出版社,上海,1985。