我试图找出java8中的java.util.Random是如何生成它的随机数的,更确切地说是它背后的算法。我一直看到的是如何在java8中生成随机数,而不是它背后的驱动力。
如果你能给我指出任何关于java.util.Random使用的PRNG的文档,那将是非常完美的。
另外,如果已经这样做了,有没有一种方法可以在python中复制java.util.Random的输出?使用5的种子和0到100的int范围的快速测试对pythons随机模块产生不同的结果
发布于 2021-07-26 17:40:52
是这个类的一个实例,用于生成伪随机数流。该类使用48位种子,并使用线性同余公式对其进行修改。(参见Donald Knuth,The Art of Computer Programming,第2卷,第3.2.1节。)
因此,似乎使用了具有48位种子的Linear congruential generator。
我无法访问提到的那本书,但我猜它提供了更详细的信息。
https://stackoverflow.com/questions/68527557
复制相似问题