Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Algorithm for Generating my own Tablebases

Author: Martin Giepmans

Date: 07:41:35 08/01/01

Go up one level in this thread


On August 01, 2001 at 09:00:39, Erik Evenson wrote:

>Thanks again for the responses to my previous posts.  I got replies that gave me
>links to code that read Nalimov tablebases.  My main interest is in creating my
>own version of the tablebases (perhaps just the 3-mans first), just to
>understand how they are created.
>
>My plan to do this is (please tell me where I have gone astray...):
>
>A) Start with, say, KQK endgame.
>
>B) Generate the 64x63x62 possible positions.
>
>C) Eliminate the checkmated positions.
>
>D) Eliminate the positions where the King is in check and the opposition is to
>move (expected to be a large number).
>
>E) For each position, generate mainlines to mate using minmax with no pruning
>but with full transpositional table.
>

First find the positions in which you have a mate in 1.
Score = (say) 99999 if there is a mate in 1, score = 0 otherwise.
For the remaining positions (score=0) you need a 2-ply search to find all the
mates-in-2.
(in the searchtree after 2 ply use the allready stored data, score=99999 or 0,
when the search on a position is completed you have e=0 or e=99999,
e=99999 means there is a forced mate in 2, you may store this result
with score=99998)
To find the mates-in-3 again only a 2-ply-search is needed, etc.

Have fun!

Martin



Have fun!

>F) Store results in a compressed form that allows my engine to probe with a call
>like bestMove=getMoveFromTablebase(KQK);
>
>G) Repeat for next endgame type.
>
>Comments?  Thanks in advance -- I'm having way too much fun building this
>engine...






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.