实现概率算法

Implementing probabilistic algorithms

当我们说我们选择概率为 a/b 时,这在实现方面意味着什么?一个解释性的解决方案将是一个很大的帮助。

概率 p = a/b 表示在 b 次试验中你有 a 次成功。

您可以按如下方式建模:

float p = static_cast<float>(a)/b;
if (rand() < p) { // rand() returns uniform random value between 0 and 1.
    // handle success
}
else {
    // handle fail
}