我看到一个 C++ 程序接受种子和状态来设置 std::default_random_engine
,它是 std::linear_congruential_engine
的类型定义(在我的系统上至少)。
seed()
方法用于设置状态的初始种子和 operator>>
。
我知道播种随机数生成器 (RNG) 的原理,但可以将其与其状态互换使用。
最佳答案
种子是用于初始化生成器的值,状态是每次调用生成随机数后生成器的当前状态。对于非常简单的随机数生成器,例如线性同余生成器,种子和状态是相同的东西(或者至少,存储在同一个变量中),但它们当然不一定是。
关于c++ - 随机数生成器种子和状态之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45743721/