Author: Eugene Nalimov
Date: 20:20:10 10/04/99
Go up one level in this thread
You must read Stiller's thesysis. He described implementation of such a "backwards" algorithm that uses bit vectors and id very efficient as a result. Eugene On October 04, 1999 at 17:33:01, Guido wrote: >About the possibility of using back moves for a faster generation of endings >tablebases, Anthony Bailey on September 19, 1999 wrote: > >[snip] >" >I'm interested to know whether ones that work by "unmoving" pieces back from >evaluated positions rather than repeatedly moving them forwards from unevaluated >positions have been given attention. > >(I would assume so; given that the average number of ply required to reduce a >position is L it would seem to reduce the number of times you have to calculate >the legal moves (or "unmoves") in any one position from L to 2. I suspect this >is all old ground, but I'm uncertain as to where the best place is to go to >catch up; if there are any references available on-line, I'd love to know about >them.) >" > >After reading this message, I decided to follow the hint, but I found that >saving in cpu time is almost insignificant: depending on the ending, it amounts >to some % if applied to the first cycle, when the program is looking for losses >in 0 moves and stalemates for both the players. > >Applying the same procedure to all the cycles, cpu time increases!!! >IMO the best solutions consists in applying this procedure only to the first 2 >cycles, with a saving not greater than 5-6 % in the best cases (but I have to >try more). > >The reason of it depends on the fact that the program, every time it finds a >loss during the nth cycle, calculates the back moves to set victory in n+1 >moves, but, with the increase of the cycle number, spends a lot of time in >finding positions already solved. > >In my program introduction of back moves in the usual scheme for TB generation >is a very easy job, because nothing has to be changed: _only_when_a_loss is >found, it is sufficient to make a call to a function that calculates back moves >and set the _victory_in_n+1_ moves in the corresponding bytes. In the successive >cycle the program will skip automatically the calculated positions. I introduce >a parameter in my command string to choose if back moves must be used or not, >and, in the first case, for how many cycles this feature must be on. > >I imagine that there are better ideas than mine for using back moves. IMO there >are no possibilities to use back moves in order to generate losing positions >that must be calculated with forward moves. > >Best regards >Guido
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.