Author: Russell Reagan
Date: 15:29:11 06/30/04
Go up one level in this thread
On June 30, 2004 at 13:51:13, Eric Oldre wrote: >What are other peoples thoughts on incrementally updated attack tables? Ask yourself: Why do you want incremental attack tables? If it's because you *think* you need them, or you *think* it will make your program faster later on, or you *think* something else, then that's not a good reason. Don't make a big structural change because of something you think. Do it because you can demonstrate that it needs to be done, by profiling, benchmarking, testing how well the program plays, and so on. Guessing at what will be better is a sure fire way to waste time (I know from experience). A chess program is a complicated creature, and so are modern computers. The only way to make progress is to have some way of knowing that you have made progress (i.e. profiling, benchmarking, testing playing ability, etc.). Wait until your program is relatively settled in and you have a good idea of what your engine will be doing. At this point you will still make changes, but the basic structure of the program is more or less stable and unlikely to change drastically. Before this point, you will be adding and changing dozens of things, and you won't know if you will benefit from attack tables because you can't do any good testing. You can profile your code, but if there are several other significant additions or changes in the next month, your previous testing doesn't tell you anything. Once your program is settled in, profile it. If the profile indicates that you are spending a big chunk of time detecting attacks, then adding attack tables is a reasonable thing to consider at that time. My gut feeling is that you shouldn't mess with this now. Write clear, flexible code that allows you to make this change later without too much difficulty. I would recommend sticking to computing things on the fly and only detect attacks (or whatever else) when you need to. Avoid computing things that you might not need. After you spend a while working on your engine (6 months to a year maybe), and you have a better idea of what your engine will be doing, then you can reasses things. Christophe Theron (author of Chess Tiger) is a proponent of doing everything on the fly and using testing to be sure that you are actually making progress. "Don't mistake activity for progress", as the saying goes.
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.