2

線形合同ジェネレーターは優れたアルゴリズムです。しかし、より高速なアルゴリズムはありますか?

4

3 に答える 3

4

8 ビット CPU は通常、除算や乗算を高速に実行できないため、線形合同法ジェネレーターを使用することはお勧めできません。

リニア フィードバック シフト レジスタ (LFSR)は、シフト演算と論理演算のみを使用します。

配列を使用すると、一般化線形フィードバック シフト レジスタ (GLFSR) になります。これは、メルセンヌ ツイスターが使用する一般的な方法です。各ステップですべてのビットをシフトするのではなく、配列を循環するため、わずかな計算量で大きな状態空間 (数百から数千ビット) を持つことができます。

線形方式であるため、暗号化には適していないことに注意してください。

于 2013-05-26T15:08:22.353 に答える
0

いいえ、汎用 CPU を介した大幅に高速なアルゴリズムはありません。@Joachim Isaksson と @Michael Burr が述べたように、品質を低下させたり、奇妙なことをしたりせずにできることはあまりありません。g: コンパイル時に乱数の膨大なリストを計算すると、実行時の生成が高速になります。

本当に高速な乱数ジェネレーターは、特殊なハードウェアを使用します。[microcontroller] にタグを付けたので、使用しているプロセッサを調べて、どのような特殊な機能が提供されるかを確認してください。

さらに: PRN の必要性にさらに情報を提供すると、大きな素数によって変更されたマイクロコントローラーの時間ベースのカウンターを使用するなど、いくつかの新しいアイデア (数値の長さ、速度: O(n) または時間、ランダム性の程度など) を引き出すのに役立つ場合があります。 .

于 2013-05-25T15:04:56.973 に答える