C++中基于种子的标准可移植伪随机数生成器

Standard and portable pseudo random number generator based on seed in C++

本文关键字:标准 可移植 随机数生成器 种子 于种子 C++      更新时间:2023-10-16

如果我想开始在C++中构建PRNG,那么最适合这份工作的砖块是什么?

是否存在具有可预测行为(带有种子)和伪随机性的标准化和可移植库?

当你说"可移植"时,我假设你想要相同的随机数序列,给定相同的种子,无论它们是为哪个平台编译的。伪随机数生成器应该提供相同的序列,只要它们基于相同的算法。我认为boost::random是你最好的选择,它是一个很好的随机数生成器(在许多情况下比rand更好),具有跨平台的可预测行为。

C++11提供了大量可移植的随机数生成器。这是由费米实验室的工作人员推动的,他们对亚原子粒子相互作用进行了大量模拟,通常包括通过网络将工作分配给许多计算机。