Author: Scott Gasch
Date: 17:46:07 11/20/01
Go up one level in this thread
On November 20, 2001 at 20:28:34, Ren Wu wrote: >On November 20, 2001 at 20:06:34, Dann Corbit wrote: > >>Since you can do the same sort of move generation with bitboards, what is the >>advantage of using Move Tables then? > >For move generation only, i think this can be faster. (i never tried bitboard >approach myself, so this is just a guess) > >This approach has been discovered long before rotated bitmap, i was extremely >impressed when i first saw it in gnu chess in 1992. Even now, i have high >respect to guy who come up this idea. Sorry i forgot his name. > >>Is it extremely easy to understand and debug? > >Yes, the code is much simpler, very pretty in my opinion. There is a small txt >file that come with gnu chess 3.0 by the orignal person who come up with this >idea. of course you can take a look at the code itself too. > >This approach make more sense when back in old 286/386 days. For current >hardware, relay on memory tables seems not a good idea anymore. > >Ren. As Bruce pointed during CCT3, move tables can be used for other things than just moves. For example, if you use PSQT at all, it might be useful to have the delta PSQT for [KING][A8][A7] handy in MakeMove. Likewise the delta hash key value. The former saves work in eval if your tree is not very very long. That is, assume you have 16 pieces average on the board at each leaf node in the tree. Then you have a total of leaf_node_count * 16 PSQT lookups. If you do it incrementally at MakeMove you have edge_count * 1 PSQT lookups. The latter saves you one 64 bit xor operation per move. That is, instead of doing: pos->i64Sig ^= i64Key[KING][A8]; // lift the king pos->pSquare[A8] = EMPTY; pos->i64Sig ^= i64Key[KING][A7]; // place the king pos->pSquare[A7] = KING; you can do: pos->i64Sig ^= g_sMoveGen[KING][A8][A7].i64HashDelta; pos->pSquare[A8] = EMPTY;
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.