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

Chrilly c.donninger at wavenet.at
Tue Jun 20 13:18:30 PDT 2006


>
>
> 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.


I never understood why one should evaluate with floats. E.g. Deep-Blue set 
the value of a pawn to 128. When I started Brutus/Hydra the first thing was 
to set this value to 64. There is nothing what can be measured with a higher 
precision than 1/64th of a pawn. If I would start from scratch I would lower 
the value to 32.

In Go one can set the value of 1 Moku to any arbitrary value. According the 
documentation Handtalk uses the rather small value 6. Maybe to get no 
overflow 16-Bits??

Once upon a time floats were rather slow. This is not the case anymore. But 
I can see no advantage, ints are even nowadays more flexible. E.g. its not 
possible to use a float as an array-index, there are no bitwise 
operations.... and one gets some problems with rounding errors.

Gnu-Go uses floats. Maybe could someone of the team explain the rationale 
behind this choice.

Chrilly 



More information about the computer-go mailing list