繰り返しのない擬似乱数を生成するタスクは、プログラミングにおいて興味深い課題となります。従来のアプローチの中には、数値の範囲をシャッフルしたり、生成されたリストの繰り返しをチェックしたりするものが含まれていますが、これらの方法は、大きな数値を生成したり、効率を確保したりするには最適ではない可能性があります。
範囲全体を保存せずに大きな乱数を生成するには、線形フィードバック シフト レジスタ (LFSR) として知られる数学的手法が、より適切なソリューションを提供します。 LFSR は、入力にフィードバックされた一部のビットを持つシフト レジスタのセットを使用してビット シーケンスを生成するハードウェアまたはソフトウェアの実装です。
LFSR の「タップ」を慎重に選択することで、最大長を構築することができます。レジスタサイズと同じ長さのシーケンス。たとえば、16 ビット LFSR は、繰り返しなしで長さ 65535 のシーケンスを生成できます。
LFSR を適切に構築するには、次のガイドラインが推奨されます。
繰り返しのない乱数を生成するために LFSR を利用すると、次のような利点があります。
LFSR は、反復せずに大きな乱数を生成することが不可欠なシナリオで特に有利です。例としては、次のものが挙げられます。
以上が線形フィードバック シフト レジスタ (LFSR) は、反復せずに固有のランダム シーケンスを効率的に生成するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。