2

我正在用 C++ 进行蒙特卡罗模拟,并且我使用 Boost 来处理随机数。我也用过 GSL。但事实证明,随机数生成是我最大的运行时低效率之一,所以我刚刚开始使用旧rand()的 from cstdlib.

我的模拟中随机数属性差的风险有多严重?我使用大约 10^6 或 10^7 个随机数样本。

4

1 回答 1

0

有两个问题:(1)因为 RAND_MAX 只保证至少为 32767,可能没有很多可能的值(对于某些应用程序来说不一定是坏的),以及(2)糟糕的实现。

如果您需要所谓的安全随机数生成器,则需要寻找其他地方。但对于许多应用程序来说,rand()就足够了。

解决您的问题的博客文章是http://eternallyconfuzzled.com/arts/jsw_art_rand.aspx

于 2011-07-28T17:17:30.697 回答