nsf*_*way 14 random random-access
首先,有一个随机访问随机数生成器,你不仅可以按顺序生成随机数,因为我们都习惯了,假设rand100()总是生成0-100的值:
for (int i=0;i<5;i++)
print rand100()
output:
14
75
36
22
67
Run Code Online (Sandbox Code Playgroud)
但也随机访问任何随机值,如:
只要您没有更改种子,rand100(0)就会输出14
rand100(3)总是输出22
rand100(4)总是输出67
等等...
我实际上发现了一个开源生成器算法,但是你不能改变种子.我知道伪随机性是一个复杂的领域; 我不知道如何改变它来添加该功能.
是否有可播种的随机访问随机数生成器,最好是开源?还是有一个更好的术语我可以谷歌获取更多信息?
如果没有,我的问题的第2部分是,是否有任何可靠的随机开源传统可种子伪随机数生成器,所以我可以将它移植到多个平台/语言,同时为任何给定的种子保留每个平台的一致值序列?
我没有听说过类似的东西,但在我看来,你可以使用一个像样的哈希并编写一个包装器函数,它接受种子值和你的'索引',并通过哈希函数运行它们.我不确定各种加密哈希函数输出的比特的随机性,但我想有人看了一下.