偽隨機數是用確定性的演算法計算出來自「[0,1]」均勻分佈的隨機數序列。偽隨機數並不是真正的隨機數,但具有類似隨機數的統計特徵,如均勻性、獨立性等。產生偽隨機數的方法有:1、直接法,依分佈函數的物理意義產生;2、逆轉法;3、接受拒絕法。
本教學操作環境:windows7系統、Dell G3電腦。
偽隨機數
偽隨機數是用確定性的演算法計算出來自[0,1]均勻分佈的隨機數序列,並不是真正的隨機,但具有類似隨機數的統計特徵,如均勻性、獨立性等。
在計算偽隨機數時,若使用的初值(種子)不變,那麼偽隨機數的數序也不變。偽隨機數可以用電腦大量生成,在模擬研究中為了提高模擬效率,一般採用偽隨機數來取代真正的隨機數。模擬中使用的一般是循環週期極長並能通過隨機數檢定的偽隨機數,以確保計算結果的隨機性。
產生方法:
一般地,偽隨機數的產生方法主要有以下3種:
(1) 直接法(Direct Method),根據分佈函數的物理意義生成。缺點是僅適用於某些具有特殊分佈的隨機數,如二項分佈、泊松分佈。
(2) 逆轉法(Inversion Method),假設U服從[0,1]區間上的均勻分佈,令X=F-1(U),則X的累計分佈函數(CDF)為F。此方法原理簡單、程式方便、適用性廣。
(3)接受拒絕法(Acceptance-Rejection Method):假設希望產生的隨機數的機率密度函數(PDF)為f,則先找到一個PDF為g的隨機數產生器與常數c ,使得f(x)≤cg(x),然後根據接收拒絕演算法求解。由於演算法平均運算c次才能得到一個希望產生的隨機數,因此c的取值必須盡量小。顯然,該演算法的缺點是較難確定g與c。
因此,偽隨機數產生器(PRNG)一般採用逆轉法,其基礎是均勻分佈,均勻分佈PRNG的優劣決定了整個隨機數系統的優劣。
以上是偽隨機數是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!