Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Tablebases an efficient solution?

Author: h.g.muller

Date: 01:47:12 02/13/06

Go up one level in this thread


Thanks for the comments. It is always useful to hear experences from others! :-)

On February 12, 2006 at 10:57:45, Rafael Andrist wrote:
>
>I have tried this out some years ago, but only for 2- and 3-men (other pieces
>fixed). My short comments:
>
>1. I recommend to use DTZ50 instead of DTM, because:
>a) DTM can be missleading since it ignores the 50-move rule.
>b) with DTZ50, one byte per EGTB-entry is sufficient.
>c) if you do not have complete information and only an upper bound for DTM, you
>can as well work with DTZ anyway.
>d) IMO DTZ resp. DTZ50 seems to be the natural choice in blocked positions
>
Agreed, I never generate DTM. I am not sure about the details of DTZ50, in order
to keep the positions that are theoretical draws only due to the 50-move rule I
also keep positions in there that win in more than 50 moves. (Just in case the
opponent blunders later on.) For positions that can only be won through
conversion to a 50+ position in a smaller TB I start labeling the conversion
position as DTZ 51, so that optimal play towards conversion is still possible,
but the path is neverthless recognizable as tainted one, and will never compete
with truly won poitions.

>2. For the engine, it is difficult to decide if it is worth to create ad hoc an
>EGTB or to rely on the traditional search instead.
>

I was planning to do this simply based on the number of pieces and reachable (or
relevant) pawn formations. TB generation time is quite reliable once you know
the size. A TB with ~256M positions (single-sided) seems to be do-able, if the
current position allows this, you should do it even if it soaks up 80% of your
remaning time, since after that play will be instantaneous. If the target size
can only be reached after exchange of a pair of pieces, it could start building
the TBs that you can convert to (say in KrbppKrbp the interesting conversions
are t KrppKrp and KbppKbp) while pondering, and probe them in the ordinary
search during his own move as soon as they are finished.

>3. A generation of all necessary sub-EGTB is often not practical during a game.
>a) This is of course not a problem if there are e.g. 7 men in total on the
>board, no promotions are possible and all necessary 6-men EGTB are available.
>b) If you are willing to introduce some uncertainty, you can apply rules to
>judge the positions instead of recursively creating sub-EGTB.
>c) This problem also affects 2) because it is difficult to guess which sub-EGTB
>are really needed in practice (not for optimal play)

My TB generator automatically generates all smaller TBs you can convert to, and
stores them in the broken poitions. (My indexing scheme puts captured pieces
'under' the white King, so you can always still store it in 64^n positions.)
This hardly takes any extra time, since these TBs are all 64 times smaller. For
pawns all smaller TBs are automatically included in the list of accessible pawns
structures, and their number is included in the size estimate.

Only TBs reachable hrough queening are then left. I experimented a little bit
with your option 3b, declaring the end-game won if one of the sides promotes,
while the other is sufficiently far away from the promotion square. This seems
to work quite well.

>
>4. With todays hardware and optimized EGTB generation algorithms, calculating
>5-men for the root position could be doable during a game. But often the time
>will be very limited when it comes to such endgames. Somewhere else in the
>search tree, i think only the calculation of 2- or 3-men is practicable.
>

Indeed, 5-men, or 4-men plus a number of pawns (depending on how blocked they
are) take only a few minutes. At the root this is very feasible. I would not do
them inside of the tree, but I would generate TBs at the root intended for
probing while in the tree, as soon as they sem to become relevant. Even in a
stage like KrrbpppKrrnpp the number of relevant TBs for probing is not all that
big, start with KrpppKrpp and KbpppKnpp, and if there is stil (pondering) time
left, do KrpppKnpp and KbpppKrpp as well, just in case there are surprises
there...

>regards
>Rafael Andrist



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.