Author: Robert Hyatt
Date: 10:29:59 01/31/05
Go up one level in this thread
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.
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.