次の例で、メソッドシードがモジュール random から何をするかを誰か説明できますか? 前もって感謝します。
random.seed(42) #same connections each time for easier debugging
ランダム関数は疑似ランダムであり、実際のランダムではありません。シードされた値から一見ランダムな値を生成します。通常、シードされた値はシステムクロックまたはより意味のある他の変化する値によって設定されますが、ランダム関数が同じ静的値 (この場合は 42) によってシードされる場合、 random 関数からの出力は、プログラムの実行ごとにまったく同じになるため、予測可能であり、コードのデバッグに適しています。
ソフトウェアベースの乱数ジェネレーターは、ハードウェア ソースからランダム データを取得しない限り、真のランダムではありません。
乱数ジェネレーター (RNG) をシードすると、初期値が提供されます。RNG はこの値に何らかの魔法をかけ、新しい値を生成します。この値は (通常は) 再度入力され、別の値が生成されます。これが何度も繰り返され、大量の非常にランダムに見える数字が作成されます。実際の RNG はそれほど単純ではありませんが、アイデアはわかります。
RNG は実際にはランダムではないため (実際には PRNG であり、P は疑似を表します)、同じシード値を 2 回与えると、毎回同じ乱数のストリームが得られます。これは、「乱数」が何であるかを知っているため、デバッグにのみ役立ちます。