Author: Russell Reagan
Date: 15:26:27 05/01/04
Go up one level in this thread
On April 30, 2004 at 19:27:56, Steve Maughan wrote: >Russell, > >>With rotated bitboards you can get mobility information from a lookup table >>(the same way you get attacks from a lookup table). > >Thats a good point. But AFAIK Ruffian and Patriot are not rotated bitboard >engines. So the puzzle continues... > >Steve I think I recall reading about some people using bitrays (for lack of a better term). For instance, instead of a 64-bit bitboard, you might be able to use 8-bit values (bitrays) to represent ranks/files/diagonals, and enter those into a lookup table. It may be a little cheaper (especially on 32-bit hardware) to incrementally update a set of bitrays as opposed to full blown rotated bitboards. Even if you wanted to use the mobility tables that require full rotated bitboards, it wouldn't be difficult to incrementally update rotated bitboards using an 0x88 based board, and then you could have the best of both worlds. Computing the neccessary rotated bitboards on the fly may even be quicker than looping all over the board to compute mobility. I am not completely sure what Rasjid meant, but his post got me thinking. When using an 0x88 board (or anytime you maintain a piece list), it is sometimes quicker to loop through the piece list instead of looping over the board. For instance, when generating captures, it may be quicker to loop over the opponent's piece list and see if you can capture any of them instead of looping over all the attacked squares on the board (depending upon the phase of the game). You could calculate mobility by looping over the board, or looping over the piece lists. I think looping over the piece lists may be faster in this case. If you use 0x88, you can use the unique square relationship lookup table trick to avoid any scanning of the board, I think. I'll have to think about this one some more. My last guess is that you might be able to update mobility tables in the same way that people update attack tables incrementally. If you can get mobility the same way you can get attacks when using rotated bitboards, then maybe you can get mobility the same way you get attacks using 0x88?
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.