Computer Chess Club Archives




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

Author: Russell Reagan

Date: 18:13:46 06/27/03

Go up one level in this thread

On June 27, 2003 at 19:04:04, Steve Maughan wrote:

>I don't agree.  Perft is *quite* a good thing to optimize.

Perft is important, but that statement can be misleading. People confuse "perft
speed" with "search speed" somtimes, and they don't always translate.

You can use tricks to speed up your perft that you don't (or can't) use in your
search, and those speedups aren't important as far as engine strength is
concerned. See the discussion of Movei and Yace below for examples.

>There are really
>four fundamental foundations of a good chess program -
>1) Evaluation
>2) Move Ordering
>3) Make / Unmake moves
>4) Generate Moves

3 and 4 can be grouped into "board representation", IMO. I think the main goal
in choosing a board representation is to "not hinder the engine's future." Speed
is a secondary goal IMO.

I think most people spend too much time deciding on a board representation and
working on making things fast, because that is what you do first. Choose a good
board representation that is 1) fast enough, and 2) gives you something for

Also I think you're missing forward pruning from your list.

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

Ah, but you can "cheat" at perft :) I guess it's not really cheating, but you
can make it MUCH faster than your movegen/make/undo. For instance, Movei
calculates perft at over 11Mnps on my machine, and searches at around 350Knps.
Uri used some tricks to speed up perft that (I guess) don't help the normal
search. Also, Deiter has implemented hashing in an unreleased version of Yace to
make perft ridiculously fast (so I've heard). So you can stretch the truth with
perft just like you can with NPS.

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