シードは乱数ジェネレーターの初期化に使用されると読みました。しかし、シードのランダム性は、ジェネレーターから適切なランダム性を得るためにはあまり重要ではないようです。では、実際にシードとは何かを理解したいのですか? なぜそう呼ばれるのですか?そして最後に、なぜそのようなシードを生成するためにコンピュータ システムの時間が使われるのでしょうか?
質問する
576 次
1 に答える
10
疑似乱数ジェネレーターは、一連の数値を生成します。これは真にランダムではありませんが、一般に、いくつかの望ましい分布に一致する出力を生成する数学的計算であり、明らかなパターンはありません。このようなシーケンスを生成するには、ジェネレータがそのシーケンスの次の番号を生成できるように状態が保存されている必要があります。状態は、前のステップからの出力の一部を使用して毎回更新されます。
シードは、この状態を明示的に初期化します。「シード」は、何かが成長する出発点です。この場合、数列。
これは、(既知の定数シードを使用して)常に同じシーケンスを生成するために使用できます。これは、決定論的な動作を行うのに役立ちます。これは、デバッグ、一部のネットワークアプリケーション、暗号化などに適しています。
または、動作を予測できないようにしたい場合(プログラム、おそらくカードゲームを実行するたびに常に異なる)、時間など、継続的に変化する可能性のある数値をシードすることができます。
シーケンスの「ランダム性」は、シーケンスを再シードしないことに依存しますが、選択したシードには依存しません。
于 2013-03-13T14:45:56.437 に答える