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.