平方取中法
数学领域术语
平方取中法是数学领域术语,又称冯·诺伊曼取中法,由冯·诺伊曼提出的一种生成伪随机数的算法。该方法通过选取2s位十进制数作为种子,平方后得到4s位数,截取中间2s位作为新种子,经规范化处理后生成均匀分布的伪随机数列。
基本介绍
平方取中法是冯·诺依曼提出的。此法开始取一个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,即进入退化状态。
参考资料
最新修订时间:2025-10-07 05:14
目录
概述
基本介绍
平方取中法的两种推广形式
参考资料