シード数の制限こんにちは、みんな
JMPで定義できるシードに上限があるのではないかと思いました。無限または近くまで上がることはできますか?
一緒に発生するたびに同じシードを再現できるように大きな数を連結していますが、それらの数が時間とともに増加するにつれて、シードも急速に増加します。 これまでのところすべてが正常に実行されていますが、すぐに10^12または10^13に近い値に達する可能性があります。
ご回答有難うございます !
よろしく
他のRe:シード数に制限良い質問ですが、正確な答えはありません。 しかし、1から2147483647(2 ^ 31-1)までの整数を使い続けたいと確信しています。 少し実験した後:
s1 = 123559868338560;
s2 = 123456789123456;
randomreset(s1);
print("s1:",randomuniform(),randomuniform(),randomuniform());
randomreset(s2);
print("s2:",randomuniform(),randomuniform(),randomuniform());
print("bits:",hex(s1), hex(s2)); // the two numbers are almost the same, in bits
「s1:」
0.810199321946129
0.909442130941897
0.272601864300668
「s2:」
0.810199321946129
0.909442130941897
0.272601864300668
「ビット:」
「42DC182183E46000」
「42DC122183E46000」
Re:シード数の制限32ビット範囲全体(0を除く)を使用できるため、[1、4294967295]からシードに対して異なるランダムな結果が得られるはずです。それを超えてラップするので、4294967296は0にラップし、ランダムシードを使用することに注意してください。以下であり@Craige_Halesシード2^32 + 1および1を使用してスクリプトを作成し、ランダム値がこれら2つのシードと同じであることを示します。
s1 = 4294967297;
s2 = 1;
randomreset(s1);
print("s1:",randomuniform(),randomuniform(),randomuniform());
randomreset(s2);
print("s2:",randomuniform(),randomuniform(),randomuniform());
print("bits:",hex(s1), hex(s2)); // the two numbers are almost the same, in bits
「s1:」
0.883865864481777
0.973821102175861
0.507582586025819
「s2:」
0.883865864481777
0.973821102175861
0.507582586025819
「ビット:」
「41F0000000100000」
「3FF0000000000000」
Re:シード数の制限ありがとう、これは非常に興味深いです。