Author: Scott Gasch
Date: 23:33:06 11/29/00
Go up one level in this thread
Hi, I've recently been working on an SEE also and find that the best way to verify it is to just construct a position where there are pins and xray attacks and then walk through the SEE code in a debugger. It's not very fun but I think I have found all the "issues" now. Here's an interesting FEN to start with. It has no pins but I tested that code with a breakpoint and a search... [D]r3k2r/ppq2ppp/1pnbbn2/3pp3/3PP3/1PNBBN2/PPQ2PPP/R3K2R w KQkq - 2 0 I really liked your idea about eval testing with symmetric positions. One thing I do (that probably a lot of others do also) is to put a bunch of asserts all over the code that get compiled out in a "fast" version. I have three levels of debugger code -- none, normal and paranoid. The paranoid setting does things like calculate the pawn eval numbers even if it got a hash hit and then compare the scores with what was in the hash... save a copy of the board before the MakeMove / UnmakeMove sequence in search and then compare it after it comes out... etc. Whereas the normal debug level is just your typical asserts... "I just captured a piece... make sure it was the right color" or "I expect a pawn to be at square X". That's about all I have to say... would love to hear some more original ideas about testing engines! Scott
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.