Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Computer chess schools of thought

Author: Sven Reichard

Date: 03:49:21 07/01/02

Go up one level in this thread


On July 01, 2002 at 06:17:23, Steve Maughan wrote:

>Sven,
>
>>a) it's difficult to add new functionality or b) performance is really bad, you
>>change the data structures. If your code is well-structured, the changes should
>>be fairly local.
>
>I have to disagree.  I think with most changes to data structure the changes are
>not "fairly local".  Of course ideally they would be trivial but going from say
>'mail box' to bitboard is virtually a re-write.  The problem is that data
>structures affect nearly all routines e.g. GenerateMoves, MakeMove, UnMakeMove
>and Evaluate.
>
>Steve

Steve,
I think it is quite easy to *add* bitboards to your mailbox board
representation, without breaking the program. To take full advantage of them,
you will have to change, little by little, the functions you mentioned, and I
agree that this involves a lot of work. However, at this point you have some
confidence in the correctness of your program, and you keep that confidence as
you proceed. IMHO, writing everything in bitboards from the beginning involves
just as much work, and lots more debugging.

For other data structures where the benefits are still debated, putting them in
from the beginning might just be a waste of time.

Maybe I should put my money where my mouth is, and add bitboards... :)
I was just saying that this approach works for me, so far. I changed the board
representation once (from 8x8 to 1x64) without any problems by changing two
classes. I know there are much better representations, but so far the program is
fast enough.

Sven.



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.