Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Question for Hyatt about Alpha/Beta

Author: Sune Fischer

Date: 07:11:32 02/06/04

Go up one level in this thread


On February 06, 2004 at 09:08:28, Anthony Cozzie wrote:

>On February 06, 2004 at 07:22:19, Tord Romstad wrote:
>
>>On February 06, 2004 at 06:06:07, Vasik Rajlich wrote:
>>
>>>Interesting discussion. One other thing to throw in: it seems to me that a
>>>rook's mobility being hindered by a pawn is more serious than a bishop's
>>>mobility being hindered by a pawn, because it's easier to move a pawn off of a
>>>diagonal (ie just push the pawn) than to move it away from a file. So, it makes
>>>some sense to emphasize rooks on open files (rather than rook mobility), and to
>>>give this a higher value than a bishop on an open diagonal. Ideally, a bishop's
>>>diagonal would be evaluated to see how easy it is for any blocking pawns to
>>>move, because sometimes a bishop can be totally without prospects because of one
>>>pawn.
>>
>>Yes, it is essential to consider which pawns are blocked and unblocked when
>>doing mobility evaluation, especially for bishops.
>>
>>>Also, it doesn't seem super-cheap cheap to get bishop mobility, you need to do a
>>>CountBitboardBits (), while open file is just an "&" operation and a boolean
>>>test.
>>
>>It is much more expensive than that.  Remember that all squares are not
>>equally important, and that the bishop cannot safely move to all the squares
>>you attack.  For each square the bishop attacks, you must see if it can
>>move there without getting captured, and consider how useful it is to be
>>able to move to this square.  For each friendly pawn which obstructs the
>>bishop, you must consider how easy it is to advance this pawn.  Most of
>>this is quite expensive to compute, and I have been forced to do some
>>dubious shortcuts and approximations in order not to slow my engine down
>>too much.  Some day I should probably have a look at how Bob does this,
>>and see if there are some ideas there which I could use.
>>
>>Tord
>
>
>With rotated bitboards it is practically free; it is just a popcount8.
>
>Basically just popcount your index.

I guess one can use a mobility table the same way one uses an attack table.
Assign to each square an attack value and precompute the table at startup.

Looks like only char arrarys would be needed.

Perhaps one should consider using rotated indices to get the occupied state out
faster.

-S.
>anthony



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.