伪随机数是用确定性的算法计算出来自“[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中文网其他相关文章!