Author: Dan Newman
Date: 17:27:02 10/06/99
Go up one level in this thread
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.
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.