swarm-support
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: RNG


From: Sven N. Thommesen
Subject: Re: RNG
Date: Thu, 27 Mar 1997 19:26:25 -0600

At 05:13 PM 3/27/97 -0800, you wrote:
>
>hi Sven,
>
>Thanks for the help. (and yes, I DID and AM and WILL keep
>rereading the docs :)  
>
>So what is the period of PMMLCG?  I ask since you mentioned
>the 10e11 for the experiment...but I only need 10e8 for
>each run. So it seems to me that as long as the period is
>greater than the random variates used in a SINGLE run
>I should be OK...would you agree?
>
>Thanks again!
>
>Bob
>

Yes, the first limit is clearly that you don't want a single
run to 'wrap around' and start the generator over again ...
So in your case, you may be ok; PMMLCG has a period of
2^31-1 (2,147,483,647) or 2.1e9.

The next limit is for all the numbers needed for a whole 
experiment (i.e. your 1000 runs) to be statistically 
independent -- in your case you need something like 1e11
numbers, so if you use PMMLCG with different starting
seeds we KNOW that different runs will be using partially 
overlapping sequences of random numbers. Whether this is 
acceptable, I don't know; I haven't tested these generators 
for that.

The SWB generators have periods of 2^200 (1.6e60) to
2^354 (3.66e106), which should be sufficient in your case ...
Unfortunately, we don't have a way to specify starting
states that will *guarantee* non-overlapping sequences;
but the hope is that if you use starting states uniformly
distributed over the space of possible states, things 
will be ok. For SWB we use an LCG generator to fill the
state vector, so giving it seeds uniformly distributed
over [0,2^32-1] is the best we can do.

As I mentioned, there's a generator by L'Ecuyer that has a 
huge period AND a way to 'jump ahead' to get non-
overlapping sequences; when it's been implemented and
tested I'll make it available. Provided it tests well,
it is likely to become the default generator. 

-Sven



reply via email to

[Prev in Thread] Current Thread [Next in Thread]