Limite al numero di semiCiao a tutti
Mi chiedevo se esistesse un limite superiore al seme che possiamo definire in JMP?Possiamo salire all'infinito o nelle vicinanze?
Sto concatenando grandi numeri per poter ricreare lo stesso seme ogni volta che si verificano insieme, ma poiché quei numeri aumentano con il tempo, anche il seme aumenterà rapidamente. Finora tutto funziona bene, ma potrei raggiungere valori vicini a 10^12 o 10^13 abbastanza presto.
grazie per la tua risposta !
Saluti
AltroRe: Limite al numero di semiÈ una bella domanda e non ho una risposta precisa. Ma sono abbastanza sicuro che tu voglia rimanere con numeri interi da 1 a 2147483647 (2^31-1). Dopo aver sperimentato un po':
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
"bit:"
"42DC182183E46000"
"42DC122183E46000"
Re: Limite al numero di semiPuoi utilizzare l'intero intervallo a 32 bit (tranne 0), quindi dovresti ottenere risultati casuali diversi per i semi da [1, 4294967295].Oltre a ciò andrà a capo, quindi tieni presente che 4294967296 va a capo su 0 e utilizza un seme casuale.Sotto è @Craige_Hales script con semi 2^32+1 e 1 per mostrare che i valori casuali sono gli stessi con questi due semi.
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
"bit:"
"41F00000000100000"
"3FF0000000000000"
Re: Limite al numero di semiGrazie, questo è molto interessante.