m****s 发帖数: 1481 | 1 从numerical receipe上抄了一个生成【-1,1】均匀分布随机数的程序,周期是2^32-1
。这个周期的意思是说生成的序列是每2^31-1个伪随机数头尾连成一个圈不断重复的意
思吧?
那么如果我换一个seed,生成的新的序列和之前那个序列是完全不一样还是说是同一个
序列但是起点不一样罢了?
谢谢 |
t****t 发帖数: 6806 | 2 是同一个序列, 起点不同. 简单的说, PRNG的状态数是有限的, 一个设计的正常的PRNG
的状态(state)数等于它的周期. 每一个状态对应一个随机数输出. 如果周期小于状态
数, 那这个PRNG设计得不太理想.
-1
【在 m****s 的大作中提到】 : 从numerical receipe上抄了一个生成【-1,1】均匀分布随机数的程序,周期是2^32-1 : 。这个周期的意思是说生成的序列是每2^31-1个伪随机数头尾连成一个圈不断重复的意 : 思吧? : 那么如果我换一个seed,生成的新的序列和之前那个序列是完全不一样还是说是同一个 : 序列但是起点不一样罢了? : 谢谢
|
m****s 发帖数: 1481 | 3 谢谢,那看来需要换一个周期更长的prng了,我做仿真的sample数量在10^13左右,2^
31-1看来是不够了。 |
d****n 发帖数: 1637 | 4 Mersenne Twister
A very fast random number generator
Of period 2^19937-1
http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html |
m****s 发帖数: 1481 | 5 looks very promising, with way longer than enough period.
thanks a lot!
【在 d****n 的大作中提到】 : Mersenne Twister : A very fast random number generator : Of period 2^19937-1 : http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html
|
d****n 发帖数: 1637 | 6 我们公司一直在用这个。 python 底层也是这个算法。
Enjoy
【在 m****s 的大作中提到】 : looks very promising, with way longer than enough period. : thanks a lot!
|