Author: Roman Hartmann
Date: 06:20:56 08/04/05
Go up one level in this thread
Hello, I had about the same problems you have now some time ago. In fact I had these kind of problems several times as I changed my move generator several times. One of the worst bugs I had showed only up when I ran perft 6 or perft 7 (a nasty castling bug). Was trying to fix that problem for days. Therefore I added the divide # command (I took that idea from the chess engine Sharper) to my engine and also the ability to test the move generation process automatically to figure out if a change in the code somewhere results in a bug. From time to time I just type 'testmovegen' now and my engine does this test automatically and writes a log if something went wrong and the calculated numbers differ from the precalculated ones in the *.epd file. You might dl my engine from my site. There is a *.epd file included which consists of perft-testsuite which was created by Andrew Wagner (http://chessprogramming.org/cccsearch/ccc.php?art_id=366718). But I suggest you implement also a divide command as looking for bugs gets much easier when you see which moves leads to the problem. Roman output of 'divide 5' from the startposition in Roce: roce: divide 6 g1h3 4877234 g1f3 5723523 b1c3 5708064 b1a3 4856835 h2h3 4463070 h2h4 5385554 g2g3 5346260 g2g4 5239875 f2f3 4404141 f2f4 4890429 e2e3 9726018 e2e4 9771632 d2d3 8073082 d2d4 8879566 c2c3 5417640 c2c4 5866666 b2b3 5310358 b2b4 5293555 a2a3 4463267 a2a4 5363555 Moves: 20 Nodes: 119060324 roce:
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.