Computer Chess Club Archives


Search

Terms

Messages

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

Author: Robert Hyatt

Date: 08:44:22 02/24/03

Go up one level in this thread


On February 24, 2003 at 11:41:03, Albert Bertilsson wrote:

>Hello!
>
>I've done some testing and thinking and I ask the following question:
>Why have an UnMakeMove or UndoMove function?
>
>When testing with Sharper I found that actually copying the board and then
>calling DoMove on the new board was faster than using DoMove() / UndoMove() on
>the same board.
>
>My Board size is 376 bytes, and I figure that will cause a copy function to
>require some 94 copy instruction (on a 32 bit machine), this will of course also
>require some sort of condition of when to stop copying and so, but I figure this
>must be a much easier task than doing branches and testing if it was a capture
>etc. and updating piece lists.
>
>Is this a unique case for me? Have anybody else tried it? What is your board
>size in bytes? Maybe this only works for me because my board is small (although
>I certainly don't think it is small).
>
>Regards Albert Bertilsson


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.



This page took 0.01 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.