在一个程序中初始化多个环

Initialize multiple rngs in a single program

本文关键字:初始化 程序 一个      更新时间:2023-10-16

我想在使用<random>的c++应用程序中使用多个rng。播种的最好方法是什么?我担心,当用单个RNG的随机数播种每个RNG时,来自不同RNG的随机数会过于相关。

如果这是你关心的,我建议使用random_device来播种所有的rng。random_device的输出接近真正的随机性,因为你实际上可以得到。

(好吧,我想这是有争议的,但这是标准库以跨平台的方式能给你的最好的。一个可能更可靠的随机选择是从www.random.org或其他地方提取种子。

http://www.cplusplus.com/reference/random/random_device/

这只是在c++ 11中,如果你使用的是更早的标准,你可以使用boost::random_device代替。