首先,是否存在诸如随机访问随机数生成器之类的东西,假设 rand100() 始终生成 0-100 之间的值,您不仅可以像我们习惯的那样顺序生成随机数:
for (int i=0;i<5;i++)
print rand100()
output:
14
75
36
22
67
但也随机访问任何随机值,如:
只要您不更改种子,rand100(0) 就会输出 14
rand100(3) 总是输出 22
rand100(4) 总是输出 67
等等...
我实际上已经找到了一个开源的生成器算法,但是你不能改变种子。我知道伪随机性是一个复杂的领域;我不知道如何更改它以添加该功能。
是否有可播种的随机访问随机数生成器,最好是开源的?或者有更好的术语吗?我可以用谷歌搜索更多信息?
如果没有,我的问题的第 2 部分将是,是否有任何可靠的随机开源传统可种子伪随机数生成器,以便我可以将其移植到多个平台/语言,同时为任何给定种子的每个平台保留一致的值序列?