平方取中法

平方取中法

平方取中法(midsquare method)是產生[0,1]均勻分布隨機數的方法之一,亦稱馮·諾伊曼取中法,最早由馮·諾伊曼(John von Neumann,1903-1957)提出的一種產生均勻偽隨機數的方法。此法將一個2s位十進制隨機數平方後得到的一個4s位數,去頭截尾取中間2s位數作為一個新的隨機數,重複上述過程可得到一個偽隨機數列。

基本介紹

  • 中文名:平方取中法
  • 外文名:Mid—square Method、Middle-square method
  • 套用:一種產生均勻偽隨機數的方法
  • 提出者:馮·諾伊曼
  • 別名:馮·諾伊曼取中法
基本介紹,平方取中法的兩種推廣形式,例題解析,

基本介紹

平方取中法是馮·諾依曼提出的。此法開始取一個2s位的整數,稱為種子,將其平方,得4s位整數(不足4s位時高位補0),然後取此4s位的中間2s位作為下一個種子數,並對此數規範化(即化成小於1的2s位的實數值),即為第一個(0,1)上的隨機數。以此類推,即可得到一系列隨機數。
式中,
是2s位的十進制數,
表示將
除以
後取整,
表示以
為模。
此法優點是計算簡單,在歷史上曾令人很感興趣,但它有許多缺點:首先很難說明取什麼樣的種子值可保證有足夠長的周期;其次容易退化為一常數,甚至退化為零,因為一旦有一個數為零,以後的數都將為零。

平方取中法的兩種推廣形式

平方取中法有兩種推廣形式:
(1)乘法取中法(mid-product method)
(2)常數乘子法(constant multiplier method)
以上兩式中
意義如式(1),k為2s位十進制常數。
平方取中法及其兩種推廣的成功與否與種子及常數的選取關係很大。一般說來,s值很大時,種子取值也很大,可使退化推遲,周期加長。

例題解析

【例1】取
,模為10 000,則有
【例2】取
,則有
可見,若取種子為6 500,則周期為1。若在某一隨機數列中出現6 500,則以後的數都是2 500,即進入退化狀態。

相關詞條

熱門詞條

聯絡我們