Limiter au nombre de grainesBonjour à tous
Je me demandais s'il y avait une limite supérieure à la graine que nous pouvons définir dans JMP ?Peut-on monter à l'infini ou à proximité ?
Je concatène de grands nombres pour pouvoir recréer la même graine chaque fois qu'ils se produisent ensemble, mais comme ces nombres augmentent avec le temps, la graine augmentera également rapidement. Jusqu'à présent, tout fonctionne bien, mais je pourrais atteindre des valeurs proches de 10 ^ 12 ou 10 ^ 13 assez tôt.
Merci pour votre réponse !
Cordialement
AutreRe : Limiter au nombre de grainesC'est une bonne question, et je n'ai pas de réponse précise. Mais je suis presque sûr que vous voulez vous en tenir aux nombres entiers de 1 à 2147483647 (2^31-1). Après un peu d'expérimentation :
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
"morceaux:"
"42DC182183E46000"
"42DC122183E46000"
Re : Limiter au nombre de grainesVous pouvez utiliser la plage complète de 32 bits (sauf 0), vous devriez donc obtenir des résultats aléatoires différents pour les graines de [1, 4294967295].Au-delà, il s'enroulera, alors notez que 4294967296 s'enroule à 0 et utilise une graine aléatoire.Ci-dessous est @Craige_Hales script avec les graines 2^32+1 et 1 pour montrer que les valeurs aléatoires sont les mêmes avec ces deux graines.
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
"morceaux:"
"41F0000000100000"
"3FF0000000000000"
Re : Limiter au nombre de grainesMerci, c'est très intéressant.