インデックスで調べることができるビットの疑似乱数ソースが必要です。私の特定のユースケースは、プレイリストのランダム再生です。最初に曲が再生された順序を保存せずに、以前の曲に巻き戻したいと考えています。ほとんどの RNG は、生成される新しい乱数ごとに変更される状態で動作し、以前の状態を簡単に取得することはできません。
今、私はこの考えを持っていました: シードの場合に何らかの並べ替えを使用し、それからハッシュ コードを計算します。ハッシュコードのビットが使い果たされた後、シードを増やし、次のハッシュを計算します。シードは可逆的にのみ変更されるため、古いハッシュ コードと「ランダムな」ビットを取得できます。
さて、私の実際の質問: 理論的な観点から、これはどのくらいランダムですか? 音楽プレイリストにとってはそれほど重要ではありませんが、私はまだ興味があります。公平性が問題となるコンピュータ ゲーム アプリケーションも想像できます。
明らかに、エントロピーはあまり関係ありませんが、(暗号化された) ハッシュ関数は、1 ビットの変化に対してまったく異なる出力を持つと想定されています。シードに対して、1 ずつ増やす以外の可逆的な操作を行うことで、ランダム性を向上させることはできますか?