Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Starting to optimize

Author: Andrew Williams

Date: 03:03:23 02/29/04

Go up one level in this thread


On February 28, 2004 at 21:24:21, Andrew Wagner wrote:

>Ok, so I've got my engine playing legal moves now. But it still only manages a
>couple of ply depth. I've implemented hash tables, null move, futility pruning,
>stand pat, history heuristic, and PVS cutoffs, plus simple MVV/LA move ordering.
>Any suggestions on how I figure out what's causing the bottleneck? I think it
>*should* be able to see a few ply deeper now, but it's still very slow. Any
>suggestions appreciated. Andrew


You've got a nice set of features there, so you're looking for bugs if you're
not getting  a sensible depth. First of all, you don't say what you mean by "a
couple of ply depth" - how long does this take? My feeling is that  your move
ordering is not correct at the moment. For a new engine, improving move ordering
will give the biggest initial boosts to depth. One thing that everyone around
here measures is the first-move-fail-high percentage. To calculate this, count
all the times you fail high on the first move you search at a node and divide
this by the total number of times you fail high. You're aiming for something
around 90% - maybe a bit less for a brand-new program. So 90% of the time you
get a fail-high, you want it to be on the first move you try. Try this on a
short search first of all (ie not long enough to stress your hash table) then
report the position you searched and the percentage score here. The rest of us
will then be able to report our results and you can compare.

Andrew




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.