종자 수 제한여러분, 안녕하세요
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이 있는 스크립트를 사용하여 이 두 시드에서 임의 값이 동일함을 보여줍니다.
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: 시드 수 제한감사합니다. 이것은 매우 흥미롭습니다.