Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Bitboard user's information request

Author: frank phillips

Date: 04:42:16 10/07/99

Go up one level in this thread


On October 06, 1999 at 20:27:02, Dan Newman wrote:

>On October 06, 1999 at 07:32:00, Bas Hamstra wrote:
>
>>On October 06, 1999 at 05:42:45, Dan Newman wrote:
>>
>>>On October 05, 1999 at 12:00:19, Robert Hyatt wrote:
>>>
>>>>I have finished writing a paper for the JICCA on the rotated bitmap approach
>>>>to chess...  although it includes traditional (non-rotated) bitmaps as well
>>>>since an understanding of them is necessary to appreciate rotated bitmaps.
>>>>
>>>>There is very little literature to reference, excepting the paper in the
>>>>old Chess Skill in Man and Machine book, so I thought that I would at least
>>>>mention the names of current (and past, such as Kaissa) programs that are or
>>>>did use bitboards.
>>>>
>>>>If you are using them, either post the particulars here (name of program,
>>>>author, affiliation [if any], and so forth) and I'll include it.
>>>>
>>>>Thanks...
>>>>
>>>>Bob
>>>
>>>I'm working on one now that I am provisionally calling Shrike (after
>>>the bird that impales its prey on cactus needles), but I've only been
>>>working on this one for about 2 1/2 weeks...
>>>
>>>It uses non-rotated bitboards and so must frequently scan the board
>>>for slider move generation and attack detection.
>>>
>>>So far I like it.  It's given me the simplest move generator and
>>>make/undo code that I've gotten so far.  It is slightly slower
>>>generating moves than my 0x88 program, but I suspect/hope that will
>>>be offset by gains elsewhere--specifically in the SEE and eval.
>>>
>>>Name: Shrike
>>>Author: Dan Newman
>>>
>>>-Dan.
>>
>>
>>About that scanning the board:
>>
>>I have a simple testversion that too uses non rotated bitboards. If I want to
>>know if a pseudo attack is blocked by any piece I use:
>>
>>  BlackPieces & WhitePieces & BlockMask[FromSquare][ToSquare]
>
>I think you meant:
>   (BlackPieces | WhitePieces) & BlockMask[FromSquare][ToSquare]
>
>>
>>The array BlockMask is a bitboard array which for each square to each other
>>square (if possible, only "slider type") contains the bitmap. It works well, is
>>easy and still fast.
>>
>>
>>Regards,
>>Bas Hamstra.
>
>That's neat.  I'll have to try it.  The only worry I'd have is the
>space that BlockMask takes up (32k if I've calculated correctly) and
>how that might affect the cache.  But it can be used in a lot of places
>(move gen, SEE, in check test, eval, any place that needs to calculate
>attacks) and seems like it'd be a lot quicker than scanning.
>
>-Dan.

I found this to be slower (not much) than a mixed approach using the
integer-offsets-array approach for sliders when the bitboard test indicated a
pseudo attack.  With offsets you can often catch the queen attacks early, when
testing for rook attacks and bishop attacks.

Should  bitboards or rotated bitboard be faster?

Frank





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.