Computer Chess Club Archives


Search

Terms

Messages

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

Author: Severi Salminen

Date: 00:32:22 01/24/01

Go up one level in this thread


>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.

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.