ある種の方法で、かなり長い乱数のシーケンスを作成して、前後に反転できるようにしたいと思います。「次へ」と「前へ」のボタンがあるマシンのように、それはあなたに乱数を与えるでしょう。
10ビットの解像度(つまり、0〜1023の範囲の正の整数)のようなもので十分であり、10万を超える数値のシーケンスです。シンプルなゲームタイプのアプリ用で、暗号化強度のランダム性などは必要ありませんが、かなりランダムに感じてもらいたいです。ただし、使用できるメモリの量には限りがあるため、ランダムデータのチャンクを生成してそれを処理することはできません。「インタラクティブな時間」で数値を取得する必要があります。次の数値について考えるのに数ミリ秒を簡単に費やすことができますが、それ以上の快適さはありません。最終的には、ある種のマイクロコントローラー、おそらくArduinoで実行されるようになります。
単純な線形合同法(LCG)でそれを行うことができました。前進するのは簡単です。後退するには、最新の数値をキャッシュし、そこからシーケンスを再作成できるように、間隔を置いていくつかのポイントを格納する必要があります。
しかし、おそらく、前進と前進の両方を可能にする疑似ランダムジェネレーターがありますか?2つの線形フィードバックシフトレジスタ(LFSR)を接続して、異なる方向に回転させることは可能であるはずです。
それとも、ある種のハッシュ関数を使用してインデックス番号を文字化けさせるだけでうまくいくでしょうか?最初に試してみます。
他のアイデアはありますか?