如何偏置随机数发生器

时间:2009-12-07 07:19:50

标签: c++ random

我正在使用随stl c ++提供的随机数生成器。我们如何偏置它以使它产生较小的随机数,其概率大于较大的随机数。

3 个答案:

答案 0 :(得分:6)

嗯,在这种情况下,你可能想要一定的概率分布。您可以从统一的随机数生成器生成任何分布,问题只是它应该是什么样子。 Rejection sampling是生成难以描述的分布的常用方法,但在您的情况下,更简单的可能就足够了。

您可以查看this article的许多常见分发函数。 ChiChi-SquareExponential看起来很不错。

答案 1 :(得分:6)

一种简单的方法是获取范围[0,1)中生成的每个随机数,并将其提高到大于1的任何幂,具体取决于您希望结果的偏差

答案 2 :(得分:0)

使用std::discrete_distribution计算具有偏斜概率分布的随机数。见这里的例子: http://www.cplusplus.com/reference/random/discrete_distribution/

相关问题