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.