質問

ジャンゴのビューでは、私はrandom.random()を使用しています。どのくらいの頻度でrandom.seed()を呼び出す必要がありますか? すべての要求のためのワンタイム? 季節ごとの一つの時間? ウェブサーバの実行中に一度?

役に立ちましたか?

解決

まれで、すべての場合random.seed()を呼び出します。

ランダムであるために、あなたは乱数ジェネレータをシードに触れることなく実行できるようにする必要があります。数字のシーケンスはランダムだものです。あなたはシードを変更する場合は、新しいシーケンスを開始します。シード値は問題につながる、非常にランダムではないかもしれません。

あなたが必要とするどのように多くの数に応じて、定期的に/dev/randomから種子をリセット検討することができます。

あなたは以前のシードを使用しました直前に種子をリセットしてみてください。あなたは2つの** 28個の番号を生成した後、種子をリセットする場合がありますので、あなたは、ランダム性の完全な32ビットを得ることはありません。

他のヒント

シードを設定しないでください。

あなたは同じ事象が起こって続けることを確認する場合は、

あなたはシードを設定するだけです。たとえば、プレイヤーはあなたが種子を保存し、その後、彼らは彼らのゲームをロードするときにそれを設定することができますあなたのゲームでカンニングさせたくない場合。そして、彼らはリロード+セーブ回数に関係なく、それはまだ同じ結果を与えます。

それは本当にあなたがのために乱数を必要とするものに依存します。それはどんな違いがどうかを調べるために、いくつかの実験を使用してください。また、実際には疑似乱数にパターンがあることを考慮すべきです。誰かが可能な次の乱数を推測することができれば、それはあなたに違いを生むのか?ない場合は、セッションの開始時に一度シードまたはサーバーが最初に起動するときます。

おそらくIMO、最も理にかなって、セッションの開始時に一度播種。この方法では、ユーザーが自分のセッションを通じて、擬似乱数のセットを取得します。あなたは、ページが提供されるたびにシードした場合、彼らはこれを保証するものではありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top