Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Why is Crafty so fast?

Author: Chris Whittington

Date: 03:58:43 11/30/97

Go up one level in this thread



On November 30, 1997 at 06:41:25, Don Dailey wrote:

>On November 29, 1997 at 14:41:50, Jay Scott wrote:
>
>>On November 28, 1997 at 07:45:32, Chris Whittington wrote:
>>>But I still make the point; the design compromise made to be bitmapped
>>>ot offseted is going to have major consequences for the knowledge/speed
>>>decision.
>>
>>The two choices of data structure, offset or bitmap, are
>>mathematically isomorphic but have radically different
>>efficiency characteristics on the scale of machine instructions
>>and inner loops. Everyone agrees so far, right?
>>
>>Here you're trying to draw a conclusion about knowledge
>>versus search, a broad-brush overall-architecture kind of
>>thing, based on what machine instructions and inner loops
>>you think each kind of program will end up with.
>>
>>Yow, that's too big a jump for me! Sure, the micro-
>>architecture must affect the macro-architecture, but
>>there are way too many cross-connections to understand
>>them all ahead of time. You'd have to be superhuman to
>>draw a conclusion like that without deep expertise in
>>both data structures.
>>
>>  Jay
>
>
>I believe it is very possible that one approach is better than another
>in
>absolute terms.  I don't guarantee that this is the case here but I'm
>definitely leaning toward
>bit boards.
>
>Computer science is filled with examples of certain approaches or data
>representations being better for certain problems.   I would be very
>surpised if it were not so for the subject we are talking about.
>
>My position is that bit boards are "probably" better in the long run but
>I will be willing to change my mind if it turns out I am wrong.   I also
>argue that dynamic knowledge is more easily and more efficiently
>implemented
>with bit boards.   I don't mind taking a commital position here because
>I
>can always change my mind later!   I would like to see this discussion
>continue because there may be much to be learned.

Ok, let's take a concept that will be important for a knowledge program,
but would be generally ignored by a fast program: "what is the largest
piece that can be safely moved into this square ?". ie a swap-off /
exchange evaluation rendered slightly more complex ........

offset: you have pre-computed attack lists of all defenders and
attackers and x-rays onto the square. these attack lists are organised
as 16-bit fields with the largest piece values in the mosts significant
bits. You also know which pieces are pinned and by what.

64 bitmaps: you have bit fields of all pieces. should you have
pre-computed attack maps on each square - yes, if Crafty does. should
you have pre-computed x-ray maps onto each square - yes, if Crafty does.
should you have pin knowledge - yes, if crafty does. (and "yes, if
crafty does" should refer to what the currect version of carfty actually
DOES, not what Bob claims it could do  if he wanted).

Any offers to make the comparison ...... ?  :)

Chris Whittington






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.