Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Dog slow move generators

Author: Bas Hamstra

Date: 13:07:51 01/16/03

Go up one level in this thread


Hi Scott,

I have exactly the same problem with Tao and the same cause. In my case I assign
SEE values to all qcaptures and sort them. That kills nps but improves
movesorting. From earlier experiments I know that simply sorting MVV/LVA, while
maintaining the skipping of SEE losing captures, boosts nps, however in my case
the measured overall searchdepth remained about the same. So I don't worry to
much about it. As Bruce expressed it once, you simply run at a lower "gear".

Best regards,
Bas.

>Hi,
>
>Bruce's recent posts about code efficiency have had the opposite affect he
>intended, on me at least.  I've been profiling and looking to trim the fat from
>my code since reading them.  I have made some progress, I'm glad to report.
>
>As part of these experiments I enabled a material-only eval routine.  Running a
>raw speed test with this simple eval I noticed my engine still was only about as
>fast as "fast" engines on the same machine.  Engines like yace/crafty/ruffian
>seem to run about as fast on my machine as my poor engine does with only a
>material count eval.  This indicates to me that I am generating and scoring
>moves too slowly.
>
>So I profiled my engine with the material only eval and found that it is
>dominated by the SEE code.  This is partially my own fault because I have a
>pretty complicated SEE that handles stuff like accurate pawn promotion scores,
>pieces that can't participate because they are pinned against the king,
>attackers/defenders exposed in the middle of the exchange, etc.
>
>My question for those of you with fast move generators, especially those using
>SEEs to score moves, is how do you do it?  Vincent said something to me about
>not scoring all the moves generated which doesn't make any sense (at least to
>me).  I don't run the hash move through the SEE since I am going to try it first
>anyway.  And I won't bother to send PxQ through the SEE, clearly it's a winning
>move.  I send all promotions, apparently even captures, and apparently losing
>captures though the SEE though to make sure I have a score on every move
>generated, though.  I do this because when I go to pick the next best move out
>of the list I need to know the score of every move generated.  Am I missing some
>trick here?
>
>I have a feeling that monsoon is due for a major code revision after CCT5... I
>have a bunch of ideas I want to try like: parallel search, incremental attack
>tables instead of an SEE, better POSITION data structure, etc... Thanks for any
>and all advice.
>
>Scott



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.