Author: Russell Reagan
Date: 18:46:30 07/10/03
Is this a fairly accurate description of the life of a chess program? Stage 1: Correctness and stability -Emphasis on legal play, bug free basics (movegen, make/undo, etc.) -Support for standards (FEN, EPD, PGN, SAN, etc.) -Support for protocols (Winboard, UCI, etc.). Stage 2: Basic Intelligence -Emphasis on simple intelligence -Simple eval -Simple search/qsearch -Maybe simple time management Stage 3: Standard enhancements -At this stage, you add "standard" things that any decent chess program will have. -Transposition table -Move ordering (hash move, killer, history, maybe IID, etc.) Stage 4: Select enhancements -At this stage you will add more things that a lot of chess programs have, but some of them are kind of optional. Some you will add for sure, but you have several choices (for instance going from alpha-beta to either PVS or MTD). At this state you also do a lot of improving of already existing things (eval for instance). -Move from alpha-beta to PVS or MTD -Search extentions and reductions -Aspiration searches -Forward pruning -Improve eval Stage 5: Maintainance and experimentation -At this stage, you maintain the program (fix bugs, make slight improvements), and experiment with new ideas, such as: -New forward pruning ideas -Better move ordering -New evaluation terms -Improve qsearch -and so on... What do you think? Feel free to point out places I overlooked something, or things that shouldn't be here.
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.