Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Truly stupid bitboard question -- why rotate them?

Author: KarinsDad

Date: 18:38:52 03/22/99

Go up one level in this thread


On March 22, 1999 at 20:44:59, Greg Lazarou wrote:

>Do you really rotate them, or do you maintain the board in straight, 45 degree
>(diagonals), 90 degree and 135 degree angles throughout?
>
>Greg

I maintain the board in each orientation for each side and for an xor of the two
sides and copy the boards into a position's child position, and then make the
modification in each orientation for each move (which for me is currently 12
ANDs and 8 ORs, one OR for moving side, one AND for moving side, one AND for
side attacked, and one OR and one AND for xor board for each of the 4
orientations, but I will check someday to see if it is faster to just handle the
white and black bitboards and then just xor them into a third bitboard as
needed).

Since this requires 138 bytes (3 boards * 2 orientations * 8 bytes per board + 3
boards * 2 orientations * 15 bytes per board for diagonals), this scheme is a
memory hog and wastes 7 bytes of data per board for the diagonals. I'm sure
someone has come up with a fast way to rotate them, but I haven't had time to
research it.

I also use my bitboards to determine piece attacks, square control, king safety,
open ranks, files, and diagonals (although I do not use the open diagonal info
yet) etc. (in addition to generating moves as per James' message).

KarinsDad

>
>On March 22, 1999 at 18:29:07, James Robertson wrote:
>
>>On March 22, 1999 at 17:06:44, Dann Corbit wrote:
>>
>>>I understand that you can represent a chess board as a rotated bit sets.  But my
>>>significantly stupid question is "Why rotate them -- what is the advantage?"
>>
>>To generate moves, you extract 8 adjacent bits from your 64-bit bitboard. This
>>works great for rank moves since they are already perfectly lined up. But if you
>>want to get file moves, you can't extract every 8th bit, and diagonal moves are
>>even worse. If you rotate the bitboard, you can extract file and diagonal moves.
>>
>>James



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.