種子數限制大家好
我想知道我們可以在 JMP 中定義的種子是否有上限?我們可以上升到無限或附近嗎?
我將大數字連接起來,以便能夠在每次它們一起出現時重新創建相同的種子,但是隨著這些數字隨著時間的推移而增加,種子也會迅速增加。 到目前為止一切都運行良好,但我可能很快就會達到接近 10^12 或 10^13 的值。
感謝您的回答 !
問候
其他回复:種子數量限制這是一個很好的問題,我沒有準確的答案。 但我很確定你想堅持使用從 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”
回复:種子數量限制您可以使用完整的 32 位範圍(0 除外),因此您應該從 [1, 4294967295] 中獲得不同的種子隨機結果。除此之外它會換行,所以請注意 4294967296 換行為 0 並使用隨機種子。下邊是@Craige_Hales帶有種子 2^32+1 和 1 的腳本,以顯示這兩個種子的隨機值相同。
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”
回复:種子數量限制謝謝,這很有趣。