scala.util.Random使用不同的种子生成几乎相同的双精度

时间:2015-04-22 13:16:10

标签: scala random sampling

我在scala.util.Random发现了一些导致我昨天进行不必要调试的内容。

我只需要随机Doubles,因此使用了scala.util.Random。对于类似的种子(即整数0 ... N),我发现对nextDouble()的第一次调用返回了几乎相同的值;为了我对binned CDF进行抽样的目的,它们相同

import scala.util.Random
val seed = 1 to 10
val nums = seed.map(u => new Random(u).nextDouble)

结果:

Vector(0.7308781907032909, 0.7311469360199058, 0.731057369148862, 0.7306094602878371, 0.730519863614471, 0.7307886238322471, 0.7306990420600421, 0.7302511331990172, 0.7301615514268123, 0.7304302967434272)

有什么我不了解scala.util.Random吗?对于不同种子获得几乎相同的值对我来说似乎很奇怪。

0 个答案:

没有答案