Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Why have a UnMakeMove or UndoMove function (not as stupid as it soun

Author: Uri Blass

Date: 09:29:13 02/24/03

Go up one level in this thread


On February 24, 2003 at 11:57:28, Albert Bertilsson wrote:

>>You aren't done yet.  You have to update hash and pawn hash signatures, and
>>probably other
>>things.  The more you add, the more you copy.  You will probably reach a point
>>where it
>>is less efficient.
>>
>>I certainly did copy/make in early crafty versions, but removed it for the speed
>>gains that
>>make/unmake gave me.
>
>Hmm... I have the hash key for the position, no pawn hash though...
>These keys are really a pester (speedwise) to update but really small to copy
>(just 8 bytes) I just can imagine any UndoMove doing this faster than a copy.
>The minimum for each move to update such a key is three 64bit XORS (from, to,
>and side to move), and the mean value is some higher because of captures etc.
>
>Currently Sharper uses Do/Undo move with arrays for storing for example hash
>keys as speed up, but with this test I noticed that copying all of the board is
>even faster.
>
>But even when I add more is there any specific information that is easy to
>update but requires much space? Is my board size very small 376 bytes (making
>copy ok for now)?
>
>I don't have Attack boards yet, are they large but easy to unmake?
>
>Regards Albert

I have 64*16 array of int and another 64 array of int for my attack information.

My first move generator was very slow because of that reason because in my make
move I calculated them from scratch at everyone of the 1024+64 places(It is
possible that I had even to do it in more places because my data structure was
worse.

I did more and more incremental update and now I have only one array that is not
updated incrementally and it is the pin array (char[64]).

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.