Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Mixing 0x88 and bitboards

Author: Robert Hyatt

Date: 14:29:51 06/27/02

Go up one level in this thread


On June 27, 2002 at 12:38:13, Gian-Carlo Pascutto wrote:

>On June 27, 2002 at 11:40:00, Robert Hyatt wrote:
>
>>Then it depends on your definition of "bitboard program".  IE, for me,
>>a bitboard program uses bitboards.  A non-bitboard program does not...
>>
>>Maybe we should say "full bitboard" vs "partial bitboard"...
>
>I see the difference in whether you need to update those bitboards
>in make/unmake. After all, that is the point where you get a
>performance penalty for using them!
>
>If bitboards came without this penalty, you would be able to use them
>whenever you can make the operation you're doing faster in bitboards.
>I'd be a no-brainer to use them. However, this is not the case, and
>you need to 'bet' that you will be able to recover the penalty you
>incur because of this make/unmake updates, in other parts of the
>program.

Note that 64 bit machines reduce the penalty by 50%.  128 bit machines
will reduce it by 75% since two bitboards can be updated in one operation.


>
>This will influence every decision you make in the rest of your
>engine.
>
>For the given eval example, this is not true. It can be used regardless
>of what is used in the rest of the program.

For some of the examples given, yes.  Checking for "is it passed" is not
as simple without bitmaps...  Or "is it isolated"  or "is it backward" or
questions like "how many open files around the king" and the like.  Anytime
a question has several 'sub-questions' (status of a group of squares) then
bitmaps offer the possibility of asking all those sub-questions with a single
boolean operation, which is interesting...

>
>--
>GCP



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.