Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: R. Hyatt, Crafty style move generation

Author: Larry Griffiths

Date: 05:44:07 01/24/01

Go up one level in this thread


On January 24, 2001 at 03:32:22, Severi Salminen wrote:

>>I used to scan a piecelist and then make a class call to generate captures and
>>moves like "Piece->GenerateCaptures();".  I consolidated all my generate code
>>from my piece classes into ONE piece of code which eliminated the overhead of
>>the calls I guess.
>
>You seem to be using C++? I use plain old C. I have also made four functions for
>black and white captures and non captures. This of course decreases unnecessary
>argument passing. How much - hard to say.
>
>>I would think that increasing the performance of my move generation would help
>>the search since making and unmaking moves is only a subset of the moves that
>>are generated.  This increase in Moves-Per-Second is mainly due to combining all
>>the generate code from my Piece classes into ONE big chunk of code.  I think
>>that I am getting a performance increase due to the elimination of calling
>>Genmoves for each piece.
>
>Most likely. A lot can be achieved by thinking what to store in Move structure
>(if you use that). When I started i had: .from, .to, .promote, .en_passant,
>.castle, .sort_value, .see_value and value. Many unnecessary things. Now I have
>only 4 of them. Many things are now done in move makeing instead of generating.
>This has speeded my engine _a lot_ up. Do you use BitBoards or arrays?
>Apparently BBs if you use Crafty like techniques.

I am mostly using bitboards.  My move structure contains from,to,promotion,flags
and score. :)


>
>Severi



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.