Computer Chess Club Archives




Subject: Re: Improvements in BF makes my MoveGen suck =(

Author: Steve Maughan

Date: 16:04:04 06/27/03

Go up one level in this thread


>Perft is no good speed indicator anyway, not even for a move gen.
>The perft tree is so different from the chess tree.
>Optimizing for perft is basicly like building a formula 1 car to use for
>off-road rally.

I don't agree.  Perft is *quite* a good thing to optimize.  There are really
four fundamental foundations of a good chess program -

1) Evaluation
2) Move Ordering
3) Make / Unmake moves
4) Generate Moves

There are of course other elements (e.g. extension) but these four elements IMO
are the key elements.  Perft directly measures the performance of the last two
elements.  Some would say that the speed of move generation is not that
important and this is true to a certain extent since time spent in the GenMove
routine is often less than 10%.  However, if you can generate moves quickly you
will most likely also be able to generate mobility quickly - an element of the
evaluation function.  So I would argue that perft goes some way to measuring
three out of the four factors I've listed.

It's other advantage is that you can't cheat with perft - i.e. for any given
position there is a certain number of nodes that represent perft 5.  This is in
contrast to Node Per Second where it's not clear what constitutes a node.  So
you can see and objectively measure your perft times against other engines.



This page took 0.02 seconds to execute

Last modified: Thu, 07 Jul 11 08:48:38 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.