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.