Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: How long to build your chess engine

Author: Matt Thomas

Date: 02:47:47 01/07/04

Go up one level in this thread


On January 06, 2004 at 08:12:57, Anthony Cozzie wrote:

>On January 06, 2004 at 03:09:57, Matt Thomas wrote:
>
>>This question is for those who have designed and built their own chess engine.
>>How long did it take you?
>
>It takes years.  I started working on Zappa almost 3 years ago; it is still far
>from competitive with crafty / yace, let alone the commercial programs.  It also
>depends on how much stuff you copy from Crafty/Gerbil/TSCP.
>

Nothing so far and I really don't want to copy someone elses work because I will
understand my own implementation of ideas much better. I tend to have my own
style of writing code, for better or for worse.

>>seemed to me that they would be handled with twice the amount of instruction
>>cycles because there are only 32 bit registers and each 64 bit value would
>>likely be broken into two 32 bit values for math operations.  So the appearance
>>of a single-pass 64 bit math operation really is handled as two 32 bit values
>>would be handled.  ...unless I am missing something.
>>
>>I ask because I had seen a 64 bit integer value being used in some code and
>>thought it was not really giving a speed gain on 32 bit hardware.
>
>It isn't.  Bitboards are slower than attack tables on 32 bit hardware.  For
>example, a 64 bit shift on 32 bit hardware is something like 10 instructions and
>includes a conditional branch.  I _think_ they are faster on 64 bit hardware,
>but there aren't really enough data points.  I have a dual opteron though, so
>we'll be finding out soon :)
>

I hadn't really reviewed an attack table layout.  I read a few things on
bitboards on various web sites and they seemed cool so I decided to use them.
When you mention attack table it makes me think of something like an opening
book that has predefined move responses.  Is that a fair assessment or is it
something different?  The bitboard theory from what I know of it seems to be
used to determine legal moves, and determine what opponent pieces are available
for capture. The logical decision making after determining what can be taken and
what is available for moves is a step I haven't reached just yet.  I like to
think of bitboards as the eyes of the chess engine. I still have to give it a
brain...  -matt



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

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