Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Want tips and tricks on tablebase CONSTRUCTION

Author: Heiner Marxen

Date: 17:51:15 10/07/01

Go up one level in this thread


On October 07, 2001 at 19:30:46, Bruce Moreland wrote:

>On October 07, 2001 at 17:34:46, Bob Green wrote:
>
>>I am working on a non-chess game.  I've got it playing ok, but humans kill it in
>>the endgame...even "won" games it just doesn't see deep enough to play them
>>well.
>>
>>I can see that if I had a tablebase for the common (at least) endings that the
>>program would strengthen significantly.  I am asking for some tips and tricks in
>>construction of tablebases.
>>
>>I have RTFI (read the internet.)  However, I RTFI before my first couple
>>attempts at writing this program and still missed some important concepts - I
>>was way off base on bitboards, for example, in the beginning.  If anyone could
>>help me avoid the stupid tablebase errors I can't see because of ignorance I'd
>>be much appreciated.
>>
>>Best regards,
>>
>>Bob Green
>
>Endgame database construction is pretty simple, but there are some gotchas that
>might not be the same for your game as for chess.
>
>The first pass you identify conversion cases (cases where the are exactly two
>pieces mapped to exactly one square) and resolve them.  You also identify cases
>where one side has won due to what in chess is checkmate.

Don't forget stalemates.  You have to identify all those cases, which are
decided without further moves.

>You then proceed to move backwards from there.  Can one side achieve a position
>that is known to be won?  If so, this position is resolved.  Next, can one side
>not avoid a position that is lost?  If so, this position is resolved.  You keep
>going until there aren't any new positions resolved, at which point you are
>done.

All remaining cases are drawn.


>If you are making a DTM chess database, there are problems because you can't
>simply mark a position as won if you can attain a won case.  If you can convert
>to a mate in 19, you can't say that this is mate in 20, because there might be a
>mate in less than 20 case out there if you are still working on the "natural"
>mates in less than 20.
>
>Also, you might not make progress on a particular pass, but you still have to
>continue, because conversions cause some gaps.  In some endings, there are no
>mates in 90, but there are mates in 100, because of conversions to very
>difficult won cases.
>
>I'm not sure what else you are looking for, but since I'm one of the few people
>that has done this, I figured that I should say something.
>
>bruce

Make sure you use all types of symetry and the like to reduce the overall
amount of positions.

Implement some kind of consistency check.  Bugs in EGTBs are very annoying.

Cheers,
Heiner



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.