Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: random book moves/ random generator

Author: Vincent Diepeveen

Date: 05:38:11 01/14/00

Go up one level in this thread


On January 13, 2000 at 11:29:25, Thorsten Greiner wrote:

>On January 13, 2000 at 11:22:20, Vincent Diepeveen wrote:
>
>>number = rand()%total;
>
>rand() is evil. It uses a linear congruency method like
>
>	new random number = (old random number * constant + constant) % constant
>
>Information in low bits of 'old random number' is lost in this formula. Since
>the number of seconds since 1970 is pretty much constant in lets say January
>2000, the random numbers produced will be quite similar...
>
>Also, never use modulo on the results of rand() - use something like
>
>	rand() / (RAND_MAX / total)
>
>since the low bits of rand() are not as random as the high bits. Or use a real
>random generator - here is a good one: http://www.agner.org/random
>
>Rgds
>	-Thorsten

Thanks!

I'm checking the link out for some workable C code.



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.