the only thing to watch is that you'll likely need 30+ bits from these guys to seed a prng, and getting those bits in any organized way is likely going to happen on a regular schedule (i.e. if you get them in a loop, you're likely going to space them out in an organized way).
s. On 5/15/08, Don Dailey <[EMAIL PROTECTED]> wrote: > For a long time I have pondered whether you could build a very high quality > random number generator that was extremely fast using the pentium RDTSC > instruction as a low order bit entropy source. The idea would be to use > an extremely fast (but low quality) pseudo random number generator, but > modify the output (or the internal state of the generator) with the time > stamp register at each call. > > RDTSC reads the pentiums internal clock and is basically just a 64 bit > counter. However it increments very quickly and could be viewed as an > entropy source in the lowest bits as it would introduce at least a little > bit of non-determinism, and I think a little is all you would need to > transform a horrible generator into a good practical one for many > applications. I think the lowest 2 or 3 (or more) bits would appear to > modern processors as almost unpredictable since there is so much going on > inside modern computers that are unpredictable. > I don't know if the call to RDTSC is fast or how it would affect the > parallelism of todays modern machines. I'm not particularly interested in > non-deterministic generators as I sometimes depend on this for testing and > debugging, but it's an idea I thought I would throw out there. > - Don > > > > > > Don Dailey wrote: > > If you are looking for a cheap fast and simple random number generator, A > post by George Marsaglia, an expert/guru on random number generation has > several and a C implemention. > > > > These are one line generators, coded as macros. He also discusses the > period and quality of each of them. This is a gem of a post on > sci.stat.math,sci.math if you are interested in RNG: > > > > http://www.math.niu.edu/~rusin/known-math/99/RNG > > > > - Don > > > > > > > > Heikki Levanto wrote: > > > > > > > > > In addition, xor_shift is better than builtin rand() and faster and > > > > much smaller than MT. > > > > > > > > > > I don't know that much about random numbers, so excuse my ignorance. But > a > > > bit of googling got me to the Park - Miller Minimal Standard random > number > > > generator > http://www.firstpr.com.au/dsp/rand31/p1192-park.pdf > > > > > > >From what I read, it should be quite sufficient for go programs. It is > > > dead simple and fast: > > > > > > long int pmrand() { > > > const long int a=16807; > > > const long int m= ( 1 << 31 ) -1; > > > pmrandseed = ( pmrandseed * a ) % m ; > > > return pmrandseed; > > > } /* pmrand */ > > > > > > > > > Should I worry about this not being good enough? > > > - Heikki > > > > > > > > > > > > > > > > > _______________________________________________ > > computer-go mailing list > > computer-go@computer-go.org > > http://www.computer-go.org/mailman/listinfo/computer-go/ > > > > > _______________________________________________ > computer-go mailing list > computer-go@computer-go.org > http://www.computer-go.org/mailman/listinfo/computer-go/ > _______________________________________________ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/