具有"聚集"的非重复伪随机数流

2 language-agnostic random algorithm math

我正在寻找一种方法来生成一个有点奇怪属性的伪随机流 - 我想要附近的数字丛.

棘手的部分是,无论范围有多大,我都只能保持有限的状态.有些算法能够以最小的状态给出一系列结果(线性同余?)

聚集意味着下一个数字接近而不是远的概率更高.

理想序列的例子(mod 10):1 3 9 8 2 7 5 6 4
我怀疑这对于更大的流来说会更明显,但很难用手进入.

更新:
我不明白为什么这是不可能的,但是,我正在寻找,正如Welbog总结的那样:

  • 非重复
  • 非跟踪
  • "成群"

Pet*_*ham 5

级联一些周期小于您需要的LFSR,将它们组合起来得到的结果比最快改变的寄存器控制最不重要的值.因此,如果您具有周期3的L1,具有周期15的L2和具有更大周期的L3,则N = L1(n)+ 3*L2(n/3)+ 45*L3(n/45).这显然会产生3个丛集值,然后跳跃并且通常会产生另外3个丛集值.使用除乘法之外的其他内容(例如混合较高周期寄存器的某些位)或不同的周期,以使clump扩展比第一个寄存器的周期更宽.它不会特别顺利随机,但它将是块状和不重复的.