2

我想设计一种算法,它会给我随机的数字,因为我不知道它们会是什么,但与此同时,更接近的数字0必须更有可能作为输出出现,而那些更接近1一定不太可能。我想同时使用线性和指数分布,所以请至少给出实现两者的提示。

我已经考虑过如何解决这个问题,但我仍然没有任何线索,所以任何指针都将不胜感激。

注意:我不打算讨论,也不了解“真实”与“伪”随机性的复杂性......这与安全性或密码学无关,为此我将简单地使用JavascriptMath.random()是一个种子,所以我们都清楚我在问什么。

4

2 回答 2

1
var random = Math.pow(Math.random(), 2);
于 2012-11-19T09:53:20.060 回答
0

看看泊松分布,也许你可以将它用于你自己的目的,本质上泊松分布不是确定性的,但它有一定的发生频率:维基百科对此有很好的介绍性信息:http://en.wikipedia .org/wiki/Poisson_distribution

算法:

algorithm poisson random number (Knuth):
init:
     Let L ← e−λ, k ← 0 and p ← 1.
do:
     k ← k + 1.
     Generate uniform random number u in [0,1] and let p ← p × u.
while p > L.
return k − 1.
于 2012-11-19T09:53:57.827 回答