Computer Chess Club Archives


Search

Terms

Messages

Subject: Use of square eval using Bit Boards aka Ed's Rebel Evaluation,but for bb

Author: scott farrell

Date: 01:43:12 01/08/03


My chompster is bit board .... bit boards rule 4ever !!!

I really like Ed's code for eval/SEE, call it what you like, by calculating all
the attack and defend squares.

MSCP does this to a lesser extent.

Crafty doesnt seem to do it at all. Robert, am I correct here? do you eval each
square in a 64 byte array at all? I couldnt see it.

Having used bitboards in chompster I have almost no loops anywhere in my
program. 1 or 2 for move generation, and 1 for move ordering and 1 for searching
each move, and only a very few in eval but all guarded by a simple bit board &
so they dont fire too often.

The only way I can think to implement the above, it to iterate over each
attackBoard for each piece, which I have available during eval, but I dont
really want to iterate over it, yuk ... too sssllloooowwwww.

It seems to me, without bit boards, you have to iterate everything, so it seems
no problem to be iterating over attack vectors. But for us bit-boarders it seem
ugly (too me anyway).

All I could think of was to keep each attackVector for each piece. And when
traversing each quare on the board, do something like this:

for (sq=0; sq<64;sq++){
  if(  (mask[sq] & whiteQueenAttacks) !=0)
    attackers++;
  if(  (mask[sq] & blackQueenAttacks) !=0)
    defenders++;
  ......
}
if (attackers>defenders)
    ATTACK_NOW_!!!!!

atleast this method I dont have ot itereate the actuall attack vectors, and
avoid slow msb/pop type routines.

Any help / ideas appreciated.

Scott



This page took 0.01 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.