Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Mixing 0x88 and bitboards

Author: Robert Hyatt

Date: 14:24:00 06/27/02

Go up one level in this thread


On June 26, 2002 at 09:20:03, Daniel Clausen wrote:

>On June 26, 2002 at 09:14:19, Russell Reagan wrote:
>
>>On June 26, 2002 at 04:50:00, Daniel Clausen wrote:
>>
>>>I don't follow your logic. Whether your move format includes the captured piece
>>>type or not, how does that help you to find out what piece sits on E6?
>>
>>I think he means that he uses the 64-word array so that he can convert a move to
>>a string. For example, if he had a move from g1 to f3 of the knight, how is he
>>going to convert that to "Nf3"? He would either have to search through all of
>>his bitboards to see which piece was being moved, or he could just use an array.
>>That is how I understand it, but I could be missing his point also.
>>
>>Russell
>
>But converting a move to a string is not time-critical at all, since it's only
>used to print out the PV and stuff like that. I can't imagine that Bob updates a
>64-word array during the search to print out the PV at the end in a microsecond
>faster. :)
>
>Sargon


No...  I _really_ need to know what I am capturing.  But mainly for move
ordering.  I could use the Swap() function, but if I am capturing a queen with
a pawn, then no Swap() call is necessary since that wins at least 8 points of
material, and maybe 9.  That's a good enough estimate to avoid the Swap()
calculation.

But to do that, I need to know the moving piece, which I do since I generate
moves piece by piece.  But I also need to know what I am capturing, and to find
that requires stomping thru 6 bitboards, one for each kind of opponent piece.
On a 32 bit machine, that is a bit inefficient.  On a 64 bit machine, I would
probably re-think this and dump the 64 char board totally....



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.