Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Thoughts about board representations...

Author: Peter McKenzie

Date: 14:04:05 02/11/00

Go up one level in this thread


On February 11, 2000 at 13:56:52, Tom Kerrigan wrote:

>On February 11, 2000 at 13:51:06, Brian Richardson wrote:
>
>>I looked at bitmaps vs fanout vs pointer (but not x88 I must confess) and other
>>methods fairly extensively about 2 yrs ago when first deciding to resurrect my
>>chess program.  Bitmaps are not clear winners when only looking at move
>>generation (in fact Gnuchess' pointer scheme is quite fast and rather elegant).
>>
>>However, bitmap's real advantages come, IMHO, in the eval().  As Bob Hyatt as
>>pointed out, testing for a passed pawn is simple and fast:
>>
>>if(!And(mask_pawn_passed_b[sq],tree->wpawns))
>>
>>What would this test look like with the pointer/piece list scheme?
>
>At the beginning of my eval() function, I usually set up an array of pawn ranks,
>e.g.:
>
>pawn_rank[WHITE][A_FILE + 1]
>
>contains the rank # of the least advanced white pawn on the A file.
>
>If you have an array like this, it's pretty easy to evaluate pawn structure. You
>can't detect passed pawns with one 64-bit operation, but it's still pretty fast.

If you're really keen on passed pawn information, you can whack it into your
pawn hash.

>
>-Tom



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.