[computer-go] Re: Remarks on the Indigo-Paper

Don Dailey drd at mit.edu
Mon Jun 19 10:35:42 PDT 2006


Chess programmers rarely use floating point for anything that really
counts - except perhaps time-control.

But I feel your pain - been there, done that.

My monte/carlo style GO programs are also deterministic, when I want
them to be.   They are ridiculously simple compared to chess and
I spend almost no time fighting bugs so I don't care that much.

Here is a trick for those of you who use random number generators -
forgive me if this is too simple for you but ...

  1.  re-seed the RNG before each move.
  2.  In your log file,  record the seed used.

When a bug reveals itself, you should be able to deterministically
reproduce it with the seeding information you saved.

- Don




On Mon, 2006-06-19 at 09:58 -0700, Dave Dyer wrote:
> >  I always made sure I had a
> >deterministic mode in my programs - a mode where you could count on a
> >certain exact result (node count, score, move)  This was useful when you
> >were optimizing the program and not changing the evaluation for
> >instance.  
> 
> 
> One gotcha - a marginal one, but one I guarantee with strike
> sooner or later - is that no evaluation that uses floating
> point numbers can ever be relied on to be deterministic.
> 
> One of the endearing characteristics of floating point numbers
> is that A+B+C != A+C+B, so even if you add up all the same factors,
> unless you always add them in exactly the same order, you're
> screwed.   
> 
> 



More information about the computer-go mailing list