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.