Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Question about using Crafty to debug my program's perft

Author: Uri Blass

Date: 00:57:27 07/17/03

Go up one level in this thread


On July 17, 2003 at 02:26:19, Albert Bertilsson wrote:

>A great way to find buggs in move generation is this:
>1. Have a command that instead of calculating perft calculates the perft values
>for all the children, and prints the list like this:
>b1c3 9755
>b1a3 8885
>g1h3 8881
>g1f3 9748
>a2a3 8457
>...
>2. Have a correct version of your program or another program that can do this
>too.
>3. When there is a difference at any perft value you see exactly which move that
>leads you closer to the bug, do the move and calculate the perft values with
>depth - 1, very soon you'll be at level 1 and when you compare the list of
>children you'll see which move is missing, or illegal.

I used it for debugging when I had mistakes but I did not release a version that
gives that information and when I had to compare with other engines I needed to
do every legal move and undo it to compare.

I have few lines that are commented out of movei and when I needed to debug they
were not commented out so movei gave that information.

I was too lazy to add another command except perft.
I could support perft by printing not only the final result but also this
information(this is what I did for debugging) but I decided to be like other
programs and print only the final result.

>
>If you need an engine to compare with you can use Sharper, I call the command
>"divide".

I agree that it can help other people to debug their programs.

Uri



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.