Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: random book moves/ random generator

Author: Thorsten Greiner

Date: 08:29:25 01/13/00

Go up one level in this thread


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



This page took 0.08 seconds to execute

Last modified: Thu, 07 Jul 11 08:48:38 -0700

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