Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: a bitboard question

Author: Severi Salminen

Date: 01:05:34 01/14/01

Go up one level in this thread


>I am interested to know what is the fastest way that is known to evaluate
>mobility in bitboard when the definition of mobility is the weight of the number
>of squares that the pieces control.
>
>For example if a bishop at c1 controls the squares d2,e3,f4,b2,a3 then the
>mobility of it is
>weightbis[d2]+weightbis[e3]+weightbis[f4]+weightbis[b2]+weightbis[a3] when
>weightbis is an array(I can call it a mobility square table).
>
>I am interested to know if bitboard is faster or slower than other ways to
>calculate this evaluation.

Hi!

Yesterday I turned my engine to use rotated bitboards (many hours...) and the
speed difference was maybe 5-10% (I didn't measure very carefully). To your
question. With bitboards (rotated) you can find quite fast to how many squares
you can move to or capture. If you have moves Nf3 and Bf3 you can either
calculate these as one (faster) or two which slows things a little down. In the
first case you can simply use bitwise OR to add new squares to this mobility
bitboard. This is probaby the wisest thing to do: it is fast and still gives you
good info about control. If you have 7 pieces controlling e5 do you have good or
bad mobility?

But, if you must use different weightings for different squares then it comes
slow. First you have to generate all squares and then loop through again to give
weightings for them. And all these "B&=-B" kind of bitboard manipulations (this
one finds the lsb) take time.

Severi



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.