I also am not an expert of pseudo random number generator, Heikki.

It's very hard to estimate the effect of the quality of PRNG in MC 
simulations.  The only way is to compare their performance using your 
program, I believe.

I know that the generating speed of SFMT, about one nano second each 
on modern 3GHz processors with SSE2, is fast enough for my program and 
hardware, ie, neglegible in profile. So I didn't try other, known not 
better than MT in MC simulations, generators.
http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/speed.html

One thing I could say is that xor_shift could be faster than Park - 
Miller's but the difference must be neglegible.

How many times PRNG are called in one play-out?  Upto a few thousands 
for larger boards.  So, it would be better not being bothered by 
selecting PRNGs :).

-Hideki

Heikki Levanto: <[EMAIL PROTECTED]>:
>> 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
--
[EMAIL PROTECTED] (Kato)
_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Reply via email to