Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Why have a UnMakeMove or UndoMove function (not as stupid as it sounds)?

Author: Albert Bertilsson

Date: 09:30:12 02/24/03

Go up one level in this thread


On February 24, 2003 at 12:19:51, Uri Blass wrote:

>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.
>
>I did not try it.
>I did not think that copy instruction of my array can be faster than updating it
>incrementally.
>
>If I play e2-e4 copying the information about a1,b1,c1,... seem to me
>intuitively a big waste of time.
>
>I also have clearly more than 94 copy instructions.
>I need 1024 copy instruction only in order to copy all the information that I
>have in one of my arrays that is updated in my makemove and my
>undomove(int[64][16])
>
>Uri

Ok thanx for that answer Uri, basically you have a board size of 4000+ bytes
which would of course take quite some time to copy. I think I'll probably stick
to UndoMove (since it is there already) and I guess that the key here are those
attack boards that I don't have yet.

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.