mersenne-twister

    2热度

    1回答

    我有一个包含RNG类: class Sampler{ private: std::random_device rd_; std::mt19937 gen_; public: Sampler(); double sample(); }; 类初始化如下: Sampler::Sampler() : gen_(rd_()) {}

    2热度

    1回答

    我的用例是:我需要随机数字,但仅用于图形(不适用于密码学)。我需要能够获得2个渲染/运行相同的图像(结果)。例如,使用time()作为种子不会为下一次运行创建相同的结果。所以我需要一个不变的种子。 Mersenne Twister的文档说它不喜欢0作为种子,它也不喜欢某些位组合。对于这种情况,据说需要多达800000个电话,直到它再次提供好的随机数。出于速度的原因,我不想花费80万次通话的开销。

    2热度

    1回答

    我正试图在我的国际象棋引擎中为换位表生成一个zobrist键。 这里是我如何生成的64位数字,如 这里显示:How to generate 64 bit random numbers? typedef unsigned long long U64; std::random_device rd; std::mt19937_64 mt(rd()); std::uniform_int_dis

    0热度

    2回答

    我目前正在使用C++自己的Mersenne Twister实现。该算法需要调用下面的函数几次: void twistIteration(uint32_t i) { uint32_t x = (mt[i] & MASK_UPPER) + (mt[(i + 1) % N] & MASK_LOWER); uint32_t xA = x >> 1; if (x & 1)

    1热度

    1回答

    我用Python编写了一个带有Fortran扩展(用f2py编译)的Monte Carlo(MC)代码。由于它是一个随机集成,该算法在很大程度上依赖于随机数,即我使用~ 10^8 - 10^9随机数进行典型运行。到目前为止,我并不介意随机数字的“质量” - 然而,这是我想要查看的。 我的问题是:Mersenne-Twister使用的是numpy足够还是有更好的随机数生成器在那里应该(可以)使用?

    -1热度

    1回答

    Mersenne Twister发电机的周期为(2^19937)-1,但是它是内部状态的周期。 任何想法什么是MT 32位输出的有效期 - 32位输出不重复的周期。它必须小于(2^31)-1,但我找不到明确的答案。 感谢

    -2热度

    2回答

    #include <random> int f() { std::random_device seeder; std::mt19937 engine(seeder()); std::uniform_int_distribution<int> dist(1, 6); return dist(engine); } 多线程可以安全地调用此函数吗?函

    0热度

    2回答

    我想使用mt19937循环访问数组,并从中只抓取一次,但以随机顺序抓取每个数值。从本质上讲,是否有一种方法可以使用mt19937精确地生成一个特定范围内的所有数字(不只是忽略重复项,而是确保它不会完全产生重复项(为了效率))? 我已经考虑过洗牌功能,但它只是我关心的指标;数组内的值是任意的,但其对应的索引是重要的。我有一个1的矩阵,我需要随机选择一个索引并将该1变为0.但是我不想执行这个计算超过必

    0热度

    1回答

    我试图寻找关于如何使用mt19937ar.c变种梅森难题的例子,但大多数想出在C++和others seem to use mtwist.h。 我下面的代码: int getRandomNum(void) { int i; i = (int) genrand_int32(); return i; } int main(int argc, char **argv

    1热度

    1回答

    我有一个列表(与100.000数据),我想选择其中4000使用MersenneTwister。我也想使用当前的系统时间,因为我运行了15次程序,而且我需要不同的次数。 MersenneTwister mt = new MersenneTwister("current system function"); for(int i=0; i<4000; i++){ list1.add(mt.n