I will try to implement an incremental attack tables using two bitboard arrays of 64 elements.bob wrote:smcracraft wrote:I tried maintaining attack tables
in the update() and downdate()
portion after making and unmaking
moves.
It was quite expensive with bitboards,
at least, in my implementation, so
I turned the code off.
Now, I only use attack maps as needed
in eval and believe that is the better
course.
The Chess 0.5/4.x group by the Northwestern
group may have done somewhat of a disservice
to the community by making it seem like
these are normal, prudent and best to have
outside of eval.
I don't happen to think that.
They are expensive to maintain, even
with special-purpose coding.
Has anyone done more studies of
attack-map always-on vs. only-when-needed?
Stuart
I just calculate whatever I need, when I need it.
I'm thinking of using BitBoard AttacksFrom[64] and BitBoard AttacksTo[64], where AttacksFrom will save the bits attacked from a square and AttacksTo the bits of the squares that attacks that specific square.
There seems to be a lot of calculations needed to do this but let me try if it isn't as expensive in my engine.