Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Life of a chess program

Author: Uri Blass

Date: 19:45:02 07/10/03

Go up one level in this thread


On July 10, 2003 at 21:46:30, Russell Reagan wrote:

>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 2 comes before stage 1.
I have a program with simple evaluation and simple search even before
supporting FEN or supporting winboard.

I still do not support SAN so by your definition I still did not complete stage
1.

>
>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.)

Again I added move ordering before supporting FEN or supporting winboard.
>
>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

Movei had the check extension even before it supported winboard.

>-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...

Experimenting with new ideas can be done also earlier before you implemented
ideas that other programs use.

I also think that you forgot rewriting the program to add arrays.

Uri



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.