Computer Chess Club Archives


Search

Terms

Messages

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

Author: Albert Bertilsson

Date: 08:57:28 02/24/03

Go up one level in this thread


>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



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.