Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: MoveGenerator(Bitboard) ~~ Speed ?!

Author: Robert Hyatt

Date: 18:44:37 11/05/98

Go up one level in this thread


On November 05, 1998 at 16:43:21, John Coffey wrote:

>On October 29, 1998 at 11:41:15, Hristo wrote:
>
>>What is the best speed that one can achieve generating moves using bitboards?
>>Cycles per ply. Not including eval !!! :))
>>For instance, in very good(middle game...where the pieces are mopved arround)
>>conditions my program can generate 1 ply every 21.7 cycles. This includes all
>>attacks and all squares possible to get to.
>>
>>best regrads.
>>hristo
>
>Why would you use bitboards for generating moves?  i.e. at some point you have
>to get a move list from your bitboard patterns?  If so that involves some
>sort of looping?  If so then I can generate chess moves with a simple loop
>i.e. move the rook right one square I just add one to its position.
>
>I can understand using bitboards for evaluation instead.
>
>John Coffey


Here is one reason:  At interior nodes you need to examine captures first,
correct?  and in the quiescence search you *only* want to generate capture
moves?  How do you do this with a traditional generator (for all the sliding
pieces)?  You loop over all the empty squares and generate moves when you hit
opponent pieces.  With bitmaps we *only* loop over the bitmap for captures of
opponent pieces.  No loops for empty squares.  No loops for capturing our own
pieces.  IE it *can* be a big win...  To generate *all* moves it is most
likely a wash although it might use fewer memory references in a bitmap, but
in chess, where we want to generate only captures, this works well...



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.