Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: reuse Last Ply Moves In Move Gen ?

Author: Miguel A. Ballicora

Date: 07:49:33 04/12/02

Go up one level in this thread


On April 12, 2002 at 10:06:34, Oren Avraham wrote:

>I've made some mistakes in my explenation:
>positions on the same ply (siblings) has lot's of similar moves comparing to the
>change.
>my idea is to take the last sibling's moves and recalculate only the moves that
>might have chainged, but leave the moves of pieces that does not relate to the
>change intact.
>my rules of thumb are:
>1) delete all the moves of the moved piece.

I do not understand, the moved piece is the opponent's.

white played Be2-g4. Black generates all the moves goes with the search etc.
next sibling.
white plays Be3-f3
Black deletes moves from pieces that attacks e2 and f3. Regenerate them.
Is that what you mean?

Take into account that will have to delete moves from pieces that white
captured. e.g. Be2xNh5 means that will have to delete the moves of the Knight
that was in h5.

The problem is that if you played Be2xNh5 and the next sibling do not move
the bishop but it is Ng3xBe4 you will have to delete all the moves of
the bishop in e4, add the ones of the knight in h5 delete all the moves of
pieces that attack g3, e2, e4 and h5. This could be a very common case since
most of the time in the search moves are captures. You might end up
generating almost all the moves again.

>2) delete all the moves of the pieces that attacks the moving piece
>3) delete all the moves of the pieces that attacks the destination of the moving
>piece
>4) in case of attack, delete the moves of the attacked piece as well
>5) regenerate all the moves of the pieces that were deleted before.
>
>- is that all or am i missing something ?
>- will it work ?

Things to consider:
If you are in a "CUT" node, you do not have any siblings. If you are in a "ALL"
node, you have all the siblings, but in the next ply you are in "CUT" node where
most probably you wont't need to generate anything because the cutoff will be
produced by move stored in the hashtable,
or in the killer table or you just need to generate only captures. In this case
you save very little and the overhead will most probably be big.

Regards,
Miguel



>- will it give any improvement or it is already known as a failure ?
>
>10x again...



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.