Computer Chess Club Archives


Search

Terms

Messages

Subject: Life of a chess program

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.