Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: test your program use of partial tablebases

Author: Uri Blass

Date: 14:39:53 01/31/05

Go up one level in this thread


On January 31, 2005 at 13:29:59, Robert Hyatt wrote:

>On January 31, 2005 at 05:56:42, Uri Blass wrote:
>
>>[D]8/6P1/k6P/7K/p7/8/8/8 w - - 0 1
>>
>>give your program the kpp vs kp tablebases but do not give it tablebases after
>>promotion of the pawn.
>>
>>What does your program play
>>
>>Latest private movei play h7 because this move reduce the distance to mate.
>>It still does not know to use tablebases inside the search and I only wrote a
>>function to teach it to find the best move if the root position is a tablebases
>>position.
>>
>>It simply look for the root position and the position one ply later and if it
>>find a good move based on the scores(reduce the distance to mate(otherwise it
>>does not probe the tablebases)
>>
>>Fritz8 with the same tablebases does not see that h7 is mate in 6 inspite of
>>doing 7 probes and it takes it long time to see mate in 10.
>>
>>I still did not implement probing tablebases not in the root but the next step
>>is not hard.
>>
>>I plan to have a variable probe_tbs and probe_tbs will be 1 except cases when
>>the root position is tablebases position and I did not find good moves when I
>>did a loop on the legal move to find a good move.
>>
>>I find that Crafty does not do it and it needs search to depth 2 to find the
>>mate score.
>>
>>Movei needs no normal search and the first step in case that the root position
>>is a tablebase position is to do a loop on the legal moves that stop only when
>>it finds a move that reduce the distance to mate or keep the draw(I may change
>>the last part in order to try to win drawn positions like KRB vs KR when it has
>>the material advantage).
>>
>>How to use tablebases in the root is one question and how to use tablebases in
>>the search is another question.
>>
>>I wonder how many programmers seperate between these 2 questions in their
>>search.
>>
>>Uri
>
>
>This is easy to fix.  If the position at the root is a known tablebase mate in
>N, and when you order each of the root moves and probe the tables after making
>each in turn, you do not find a move with a mate in N-1, reject that move
>outright.  What you are left with is a set of moves that are not seen as wins
>because they are table "misses", as every other move does not shorten the mate.
>Clearly one of these moves has to be the move to shorten the mate by 1, and
>without a table, all you can do is rely on the search to find the correct move,
>or at least find a move that wins eventually...
>
>Seems to work for me.
>
>Fritz must have some sort of implementation issue where it doesn't probe the
>table near the root, which means that by the time it wants to start probing, it
>is beyond the point where h7 has already been played.  Other moves by the king
>lead to a forced mate still, but not as quickly.

I think that the problem is different with Fritz and after finding that
promotion does not lead to tablebase position it decides to stop probing the
tables.

7 probes is constant and is not changed during the search.

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.