Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: A question about debugging my move generator

Author: Robert Hyatt

Date: 07:34:01 06/20/01

Go up one level in this thread


On June 20, 2001 at 04:36:44, Uri Blass wrote:

>I use the perft command in crafty in order to debug my move generator.
>
>I found that perft 4 gave me correct result when perft 5 does not give me
>correct result and I got 4865621 instead of 4865609.
>
>After finding it
>I calculated the perft 4 after every legal move and found that perft 4 does not
>give correct result after 1.d3
>
>After finding it I checked perft 3 after d3 to see where my program is wrong and
>found that after 1.d3 c5 I got 15972 instead of 15971.
>
>I now need to continue in this way to check where is the error.
>
>Is there a faster way to debug the move generator?
>
>Did other programmers use the perft command in Crafty to debug their move
>generator?
>
>Are there some small test games to test the move generator at small depthes(I
>did not imlement undo function or setup position)
>
>I can give some from my own experience that I corrected
>
>1.a4 a6 2.a5 b5(my program believe that there were 2 ways to capture b5 by en
>passant move).
>
>1.c3 b5 2.Qa4(my program believed that b5 is pinned because of some error in
>updating the pin array)
>
>1.d3 b5 2.Kd2 b4(considering Kc3 as legal because the array of the pseudo legal
>moves does not have that move)
>
>Uri


I obviously didn't use it.  :)  I added that because Peter Mckenzie posted some
screwey position a few years ago and asked for those numbers.  His position had
most everything possible very quickly, castling, enpassant, promotions,
you-name-it.

You are debugging this about the only way you can.  However, you are making one
mistake that might well cost you a lot of time.  What happens if _I_ have a bug
and produce the wrong number?  :)



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.