[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [computer-go] Using floating point sounds very strange to me



>
>
>On Thu, 6 Jan 2005, Vincent Diepeveen wrote:
>
>> You guys are making jokes i hope about using floating point in
evaluation.
>>
>> Nothing as slow and non deterministic like floating point. Additional
>> certain compilers will use all kind of tricks with floating point giving
>> massive roundoff errors.
>
>Surely you must be joking that these problem are relevant for the move
>valuation in GNU Go.
>
This is really a clash of culture. I do not know any chess programmer who
uses floating point. It really shocked me that someone is doing evaluation
this way. In Deep Blue the material-value of a pawn was set to 128. Hydra
follows the Deep-Blue design, but I set immediatly the value to 64. In fact,
I would set it nowadays to 32 but it is to cumbersome to do all the changes
in the harware design. There is nothing which can be measured reasonable
with a precision of 1/128 pawn units. On a processor it does not matter if
the pawn-unit is 128 or 64, in hardware it does.
I can therefore not imagine why one needs floating-point precision. The
examples given like graphics are a total other story. If you do your own
fixed point arithmetic the floating point representation easies your life,
has better precision and is probably today indeed faster. Also the
comparison to Vector Units for BLAS does not really fit. This works in BLAS,
but not for game programming. There is also an integer vector unit on the
x86. It is called MMX and SSE2. If you can do something in parallel, than
use MMX.

In a chess programm 3 things are importan: Speed, speed and speed. In a go
programm things are obviously different.
But if this is really the case, one can not explain SlugGo. SlugGo uses
additional computing power in a rather primitive and inefficient way.
Nevertheless it plays according the published results considerable stronger.
If speed does not really count, than SlugGo should not play stronger, or if
SlugGo plays stronger, Speed counts and one should not use - at least not on
the x86 - floating point.

Chrilly


_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://www.computer-go.org/mailman/listinfo/computer-go/