Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Length of time for Move_Gen()?

Author: Jaime Benito de Valle Ruiz

Date: 13:29:28 02/15/04

Go up one level in this thread


As some other people have mentioned answering your post, don't be extremely
concerned about speed; specially not at the beginning.

Probably the best way to find out how "good/bad" you're doing with your move
generator (and make/unmake) is to create a Perft function, and compare it to
that of other programs. This is also very good to find bugs in the move
generator and/or make and unmake routines.

Bare in mind, though, that some people use differen approaches even for a simple
perft: Some engines generate ONLY legal moves, and while programs like Crafty
(for example) perform a make and unmake for all the moves at the leaf nodes to
test their legality, these only-legal programs just count them, and return the
total, thus reducing the peft time dramatically. Unfortunatelly, this doesn't
help during real analysis, because you need to make those moves in order to
analyze them, so it's only good for a fast perft.
Engines such as Sharper use hash tables to avoid recalculations during perft, so
its speed depends on the available memory. It also has a command called "divide
X" that gives you the number of nodes for every move.

I spent a long time obsessively struggling to make a faster perft than crafty,
and I finally managed to do it, but... because of my pruning, my eval, and other
things, my engine is much much slower and much worse in the end.

Just make sure that your engine can play good chess.

Regards,

  Jaime



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.