[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