Changes

Jump to: navigation, search

Debugging

345 bytes added, 09:25, 3 May 2020
no edit summary
* Implement an [[MTD(f)]] search, even if you intend to use [[Principal Variation Search|PVS]]. MTD(f) is great for debugging the hash table; all sorts of obscure bugs which are very tricky to find in PVS or other conventional searches suddenly become easy to spot.
* Whenever you add some non-trivial new function to your program, try to write two versions: One which is very slow and stupid, but almost certainly correct, and one which is highly optimized. Verify on a huge number of positions that they give the same results. Remove the slow version only when you feel 100% sure that the fast version is correct.
* Always make [[Color Flipping#Debugging|symmetry tests]] when you add a new term to your [[Evaluation functionFunction|evaluation function]] .
* Run through a simple tactical test like [[Win at Chess|WAC]] at 5 seconds/move every time you change something important in your search. Don't try to optimize the results, but just make sure that the score doesn't suddenly drop dramatically.
* Check the quality of your [[Move Ordering|move ordering]] by measuring how often a [[Beta-Cutoff|beta cutoff]] occurs on the first move, and the frequencies with which the 1st, 2nd, 3rd, ... move turns out to be best at [[Node Types#PV|PV nodes]].
* [[InBetween]]
* [[Logging]]
* [[Perft]]
* [[Fidelity Electronics#SpracklensAppleICE|Spracklens debugging with Apple II ICE]]
* [http://www.talkchess.com/forum/viewtopic.php?t=55578 OT: Finding the Line of the Assert Fail?] by [[Steve Maughan]], [[CCC]], March 07, 2015 » [[Maverick]]
* [http://www.talkchess.com/forum/viewtopic.php?t=59046 Best way to debug perft?] by Meni Rosenfeld, [[CCC]], January 25, 2016 » [[Perft]]
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=60912 Best way to debug search speed?] by [[Vincent Tang]], [[CCC]], July 23, 2016
* [http://www.talkchess.com/forum/viewtopic.php?t=61551 Help with Debugging My Chess Engine] by Pranav Deshpande, [[CCC]], September 28, 2016
* [http://www.talkchess.com/forum/viewtopic.php?t=61565 Help with Debugging My Chess Engine - 2] by Pranav Deshpande, [[CCC]], September 30, 2016
* [http://www.talkchess.com/forum/viewtopic.php?t=66124 How do I debug cutechess-cli engine input/output?] by [[Daniel Dugovic]], [[CCC]], December 25, 2017 » [[Cutechess-cli]]
* [http://www.talkchess.com/forum/viewtopic.php?t=66366 Debugging UCI engine] by Cadel Watson, [[CCC]], January 19, 2018 » [[InBetween]], [[UCI]]
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=67599 Debugging a transposition table] by [[Vincent Tang]], [[CCC]], May 29, 2018 » [[Transposition Table]], [[Lasker-Reichhelm Position]]
=External Links=

Navigation menu