30

Java でいくつかの実験を行っているときに、プロジェクトの監督者から、実験の反復ごとに異なる数をシードするように言われました。彼はまた、シード値に素数を使用する必要があるとも述べました。これは私に考えさせました—なぜ素数なのですか?シードとして他の数値を使用しないのはなぜですか? また、素数が十分に大きくなければならないのはなぜですか? 何か案は?私は彼にこれを自分で尋ねたでしょうが、今ここにいるのは午前 4 時で、誰もが寝ています。私はこの質問を思い出し、答えを知りたくて燃えています (あなたはその気持ちを知っていると確信しています)。

いくつかの参考文献を提供していただければ幸いです。私はこれらすべての背後にある数学/概念に非常に興味があります!

編集:

私はjava.util.Randomを使用しています。

さらに編集:

私の教授は C 出身ですが、私は Java を使用しています。それが役立つかどうかはわかりません。素数を使うのが彼の特異なようですが、乱数の生成について興味深い答えがいくつか見つかったと思います。努力してくれてありがとう!

4

3 に答える 3

22

ジェネレーターが Lehmer ジェネレーターの場合、シードとモジュラスは互いに素でなければなりません。ウィキページを参照してください。それらが互いに素であることを確認する 1 つの方法は、素数から始めることです。

于 2011-03-16T20:29:47.977 に答える
12

、またはOracleランタイムのそのサブクラスの1つについて話している場合java.util.Random、これには理由がありません。上司の気まぐれです。

于 2011-03-16T20:26:49.837 に答える