相关疑难解决方法(0)

可逆伪随机序列发生器

我想要某种方法来创建一个相当长的随机数序列,我可以向前和向后翻转.就像具有"下一个"和"上一个"按钮的机器一样,它会为您提供随机数字.

像10位分辨率(即0到1023范围内的正整数)就足够了,并且序列> 100k.这是一个简单的游戏类型的应用程序,我不需要加密强度随机性或任何东西,但我希望它感觉相当随机.我有可用的内存有限,所以我不能只生成一大块随机数据并通过它.我需要在"交互时间"中获取数字 - 我可以轻松地花几个小时思考下一个数字,但不是比这更舒服.最终它将在某种微控制器上运行,可能只是一个Arduino.

我可以用简单的线性同余生成器(LCG)来做到这一点.前进很简单,向后退我必须缓存最近的数字并间隔存储一些点,这样我就可以从那里重新创建序列.

但也许有一些伪随机发生器可以让你前进和前进?应该可以连接两个线性反馈移位寄存器(LFSR)以在不同方向上滚动,不是吗?

或者也许我可以使用某种哈希函数来填充索引号?我要先尝试一下.

还有其他想法吗?

random reverse arduino prng

21
推荐指数
3
解决办法
9144
查看次数

标签 统计

arduino ×1

prng ×1

random ×1

reverse ×1