x******a 发帖数: 6336 | 1 我有两个随机数生成器,都用mt19937作engine,但是用不同的seeds
然后用他们各生成1列数,请问这两列数是独立的吗?
其实问题是,如果多个random number generators用同一个engine(例如19937),会
不会introduce correlation?
多谢! |
l*********s 发帖数: 5409 | |
x******a 发帖数: 6336 | 3 多谢!
其实还有一个问题,我要simulate X+Y, X, Y~N(0,1) 1000次。
如果不是X和Y各用一个rng,而是X和Y共用一个rng,会不会有问题,i.e.,
X和Y是不是还是N(0,1)的?
【在 l*********s 的大作中提到】 : no, if the rng is good.
|
N******K 发帖数: 10202 | 4 不独立
【在 x******a 的大作中提到】 : 我有两个随机数生成器,都用mt19937作engine,但是用不同的seeds : 然后用他们各生成1列数,请问这两列数是独立的吗? : 其实问题是,如果多个random number generators用同一个engine(例如19937),会 : 不会introduce correlation? : 多谢!
|
w***g 发帖数: 5958 | 5 不会。2005年的歌德尔奖发给了一篇在流数据上估计概率分布n阶矩的论文,里面提出
的算法依赖一种叫four-wise independent的随机数。其实只是证明需要。实际上算法
实现用的都是C++的伪随机数。除了SSL产生密钥需要猛移鼠标产生真随机数,数值算法
我还没见过标准库带的伪随机数不能用的。
【在 x******a 的大作中提到】 : 我有两个随机数生成器,都用mt19937作engine,但是用不同的seeds : 然后用他们各生成1列数,请问这两列数是独立的吗? : 其实问题是,如果多个random number generators用同一个engine(例如19937),会 : 不会introduce correlation? : 多谢!
|
x******a 发帖数: 6336 | 6 我有两个随机数生成器,都用mt19937作engine,但是用不同的seeds
然后用他们各生成1列数,请问这两列数是独立的吗?
其实问题是,如果多个random number generators用同一个engine(例如19937),会
不会introduce correlation?
多谢! |
l*********s 发帖数: 5409 | |
x******a 发帖数: 6336 | 8 多谢!
其实还有一个问题,我要simulate X+Y, X, Y~N(0,1) 1000次。
如果不是X和Y各用一个rng,而是X和Y共用一个rng,会不会有问题,i.e.,
X和Y是不是还是N(0,1)的?
【在 l*********s 的大作中提到】 : no, if the rng is good.
|
N******K 发帖数: 10202 | 9 不独立
【在 x******a 的大作中提到】 : 我有两个随机数生成器,都用mt19937作engine,但是用不同的seeds : 然后用他们各生成1列数,请问这两列数是独立的吗? : 其实问题是,如果多个random number generators用同一个engine(例如19937),会 : 不会introduce correlation? : 多谢!
|
w***g 发帖数: 5958 | 10 不会。2005年的歌德尔奖发给了一篇在流数据上估计概率分布n阶矩的论文,里面提出
的算法依赖一种叫four-wise independent的随机数。其实只是证明需要。实际上算法
实现用的都是C++的伪随机数。除了SSL产生密钥需要猛移鼠标产生真随机数,数值算法
我还没见过标准库带的伪随机数不能用的。
【在 x******a 的大作中提到】 : 我有两个随机数生成器,都用mt19937作engine,但是用不同的seeds : 然后用他们各生成1列数,请问这两列数是独立的吗? : 其实问题是,如果多个random number generators用同一个engine(例如19937),会 : 不会introduce correlation? : 多谢!
|
x******a 发帖数: 6336 | 11 Two more follow-up questions,
1. what is the max/min values for the seed of mt19937. the reason for this
question is that, I has a large number(10k+) of std::string (such as company
names). I use the hash values (boost::hash) of the string as the seed to
generate state(random number) for the correspoding company. Since the states
are assumed to be mutually indepdent, I don't want any collision. How could
I acheive this?
2.I got different hash values for same string on redhat(gcc 4.1.2) and
windows 7 (VS2013), both systems are 64bits. what is the reason, and how
could I get same value?
Thanks! |