Author: Dan Newman
Date: 00:11:08 02/02/01
Go up one level in this thread
On February 01, 2001 at 08:32:21, Severi Salminen wrote: >>I calculate a "pseudo-attack" bitboard for sliders. (That's a bitboard >>that has a bit turned on for each enemy piece on which the slider is >>bearing, ignoring any blocking pieces.) Then I start extracting the >>coordinates of the "victims". For each such coordinate I test to see if >>any pieces are blocking the attack using a blocking-mask bitboard which >>has all the bits turned on for squares that lie between the attacker and >>victim. If no blockers are there, we have a real victim. >> >>I don't think this differs much in cost from rotated bitboards. In >>some cases it's probably faster (sparse board), in others it's probably >>slower than rotated bitboards. Even if rotated bitboards happen to be a >>little faster generating captures, they will certainly slow down make() >>and undo(). > >It is hard for me to believe your system is faster than rotated bitboards (I >might be wrong). But considering the fact that you make about 10% of the moves >that you generate rotated bitboards should be faster in all cases. I tried to >convince myself one month that rotated are not faster than non-rotated. The >result was a 10-30% speedup after 6 hours of programming (it was really >brainboiling task to figure out a good mapping scheme). Using simple lookup >tables and a little assembly you can extract the horizontal, vertical and >diagonal occupation info in a couple of assembly instructions and with one >table lookup you have the attackboard, voila! It would be "very" initeresting to >see the results if you tried to convert your engine into rotated bitboard >engine. > >Severi You guys are beginning to convince me I need to try this out again. It seems everyone that has tried both has found rotated to be faster. The last time I visited rotated bitboards, though, they really put my brain in a twist. Retrofitting this will take me a lot longer than 6 hours though... -Dan.
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.