Random 如何为pcg随机数生成器设定种子?
在这种情况下,我认为他们只有一种方式是最佳/首选实践:Random 如何为pcg随机数生成器设定种子?,random,random-seed,Random,Random Seed,在这种情况下,我认为他们只有一种方式是最佳/首选实践: pcg32 rng(pcg_extras::seed_seq_from<std::random_device>{}); pcg32 rng(pcg_extras::seed_seq_from{}); 或 //使用真实随机值(如果可用)进行种子设定 pcg_extras::seed_seq_来自seed_来源; //做一个随机数引擎 pcg32 rng(种子源); 然而,在我的机器上运行它每次只能产生相同的种子。如果我只是键
pcg32 rng(pcg_extras::seed_seq_from<std::random_device>{});
pcg32 rng(pcg_extras::seed_seq_from{});
或
//使用真实随机值(如果可用)进行种子设定
pcg_extras::seed_seq_来自seed_来源;
//做一个随机数引擎
pcg32 rng(种子源);
然而,在我的机器上运行它每次只能产生相同的种子。如果我只是键入某个整数作为种子,也不会有什么好结果。如果以这种方式尝试不起作用,那么什么是一种好的种子生成方法?pcg_extras::seed_seq_from应该是推荐的方法,但它将实际种子生成委托给模板参数中指定的生成器 MinGW的
std::random\u设备的实现已中断。因此,此时,如果您想以MinGW为目标,则不能使用std::random\u设备
一些可能的替代方案:
boost::随机_设备
- ,作者为PCG,M.E.O'Neill
- ,作为std::random_设备的替代品(免责声明:这是我自己的库)
有关在中播种的详细信息
// Seed with a real random value, if available
pcg_extras::seed_seq_from<std::random_device> seed_source;
// Make a random number engine
pcg32 rng(seed_source);