平方取中法

维基百科,自由的百科全书

平方取中法Middle-square method)是個產生偽隨機數的方法,由冯·诺伊曼在1946年提出。

算法:

  1. 選擇一個位數作為種子。
  2. 計算
  3. 不足個位,在前補0。在這個數選中間個位的數,即的數,將結果作為

優劣[编辑]

它並不算很好的方法,因為其週期通常很短,而且有很大的弱點(例如當起始數值是便不斷重覆)。不過這些問題很容易察覺,加上它十分快速,適用於ENIAC,不無可取之處。

例子[编辑]

  1. 675248 → 455 959 861 504
  2. 959861 → 921 333 139 321
  3. 333139 → 110 981 593 321
  4. 981593 → 963 524 817 649
  5. 524817 → 275 432 883 489

...

参见[编辑]