Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: SEE checking

Author: Edward Screven

Date: 13:33:49 11/30/00

Go up one level in this thread


On November 29, 2000 at 16:24:09, David Rasmussen wrote:

>Does anybody have a good idea on how to check if a SEE implementation works
>correctly?
>
>If anyone has other good ideas on how to check certain typical parts of a
>chessprogram, please come forward. Yesterday, I made a debug function that
>constructed random, symmetrical positions, and checked whether the evaluation
>was 0 or not, assuming no assymetry. I actually found a well-hidden bug in my
>rook evaluation code this way. Not a brilliant idea, but these kinds of small
>ideas that make debugging (and even discovering bugs) easier, would be very
>appreciated.

when i implemented SEE i created two versions: a production version,
and a verifier.  the production version included lots of tricky bits
to make it (hopefully) fast.  the verifier was as simple as i could
make it.  the verifier was also explicitly different, using alternate
approaches for even the simple parts of the production version.

through conditional compilation, i could cause the verifier to run
after each execution of the production SEE code, aborting the program
immediately with lots of useful debug information if the verifier didn't
agree with the production version.

i used this techinique for many parts of my program, which i call proof
(a long story), and i cannot emphasize enough how useful it was.

  - edward



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.