生成泊松和二项式随机数的算法?
我一直在四处寻找,但我不知道该怎么做。
我发现这个页面,在最后一段,说:
从泊松分布中获取的随机数的简单生成器是使用以下简单公式获得的:如果 x1, x2, ...是一个随机数序列,在零和 1 之间均匀分布,k 是乘积 x1 ·x2 ·... ·xk+1 < e-λ
我找到了另一个描述如何生成二项式数字的页面,但我认为它使用了泊松生成的近似值,这对我没有帮助。
例如,考虑二项式随机数。二项式随机数是掷硬币的 N 次掷出中的人头数,在任何一次投掷中,掷硬币的概率为 p。如果在区间 (0,1) 上生成 N 个均匀随机数并对小于 p 的数进行计数,则该计数是具有参数 N 和 p 的二项式随机数。
我知道有库可以做到这一点,但我不能使用它们,只有语言提供的标准统一生成器(在这种情况下是java)。