所以我知道我可以调用random(long val)
Java 来生成一个种子为 2^63 的随机数。如何做得更好(更大的种子价值)?我假设这必须是一个手动课程才能完成这样的成就,但我对如何开始有点迷茫。
问问题
196 次
1 回答
0
增加种子材料量的两种方法是:
- 使用设计用于接受大量种子材料的 RNG。
- 结合两个不同的RNG。
首先,看看 George Marsaglia 的一些方法,它们使用数组来保存它们的状态。在http://programmingpraxis.com/2010/10/05/george-marsaglias-random-number-generators/有一个示例(请注意评论中的更正:
#define SHR3 (jsr^=(jsr<>17), jsr^=(jsr<<5))
数组 t[256] 是大部分种子所在的位置。
对于第二个,看看 Pierre L'Ecuyer 的工作,例如,Efficient and Portable Combined Random Number Generators
于 2012-07-06T10:46:24.953 回答