Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Back moves and TB: answer to Anthony Bailey

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.