Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Dog slow move generators

Author: Scott Gasch

Date: 14:56:03 01/16/03

Go up one level in this thread


On January 16, 2003 at 17:35:31, Uri Blass wrote:

>On January 16, 2003 at 15:56:43, Scott Gasch wrote:
>
>>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
>
>1)I suspect that your SEE may be better than the SEE of fast searchers so I
>doubt if the fact that you can search less nodes is a real problem.
>
>2)I think that for people with complex evaluation the speed of the move
>generator is not very important and my impression based on previous post of you
>about a position that monsoon  evaluated better than the commercial programs is
>that monsoon has a very complex evaluation.
>
>I read that you are a bad player so I wonder how did you succeed to give monsoon
>a complex evaluation.
>
>Uri

Well for one because I have bad chess skills does not mean that I can't what
positional features are important in a game.  I have bought and read several
chess books looking for ideas for my eval.  I highly recommend Pawn Power in
Chess and How to Reassess Your Chess.  Beyond that I used ideas from other
engines, "rules of thumb" etc...  When I find a position where I think monsoon
played badly or a PV I do not understand I trace it out, dump the eval terms and
see if I think anythign is wrong, then tune it up.  I do not think my eval is
that great to be honest.  I need a better attack table to do everythign I would
like to do.  I am already slow enough, though... I have no time to spend on
building one.  After CCT5 I will play with this idea though.

Scott



This page took 0.01 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.