Author: Robert Hyatt
Date: 20:39:12 01/24/01
In another thread, someone asked about the one-reply to check extension, and I mentioned that I would run a test to give some idea about how effective all the various search extensions I use actually are. In Crafty, I use 5 well-known extensions: check, recapture, pushed passed pawns, mate threats and one-legal-reply-to-check. Check is obvious. If I check the other side, I extend the search instantly. recapture is a limited recapture extension. If two successive moves are captures to the same square, and the material score is the same before and after the two captures, then I extend. mate threats are done when the null-move search not only fails low, it fails low with a "mated" score. This means that if I don't do a thing, I get mated, which is a serious threat. One-reply is the obvious extension where one side is in check and has exactly one legal move. push passed pawns is an extension that is triggered if a passed pawn is pushed to the 7th rank only. I start all iterations of the search with depth=1.5, which means search to a depth of 1, unless at least a 1/2 ply extension is triggered... In the following test, I varied each of the 5 extensions in five steps, 0.0, 0.25, 0.5, 0.75 and 1.0. I treated each extension as an independent test, that is I did not run 5^5 test cases, I ran exactly 25. Here is the output: check 0.00 sum of times(squared)=82342 0.25 sum of times(squared)=50081 0.50 sum of times(squared)=34031 0.75 sum of times(squared)=33844 1.00 sum of times(squared)=29360 mate 0.00 sum of times(squared)=44028 0.25 sum of times(squared)=30249 0.50 sum of times(squared)=43572 0.75 sum of times(squared)=29359 1.00 sum of times(squared)=29556 onerep 0.00 sum of times(squared)=32288 0.25 sum of times(squared)=29310 0.50 sum of times(squared)=29351 0.75 sum of times(squared)=29386 1.00 sum of times(squared)=29536 pushpp 0.00 sum of times(squared)=29373 0.25 sum of times(squared)=29385 0.50 sum of times(squared)=29336 0.75 sum of times(squared)=29360 1.00 sum of times(squared)=29375 recap 0.00 sum of times(squared)=15902 0.25 sum of times(squared)=15922 0.50 sum of times(squared)=17482 0.75 sum of times(squared)=29370 1.00 sum of times(squared)=29257 the sum of times squared comes from the time to choose the right move for each of the 300 win at chess positions. Obviously a smaller number is better. Conclusions-> The check extension is best at 1.0, which is its normal value in Crafty. I need to check to see what would happen at 1.25 as well since it was getting better as it got larger. The best mate threat extension value was .75, which is exactly what I already use. One-reply is not clear in this test. values between .25 and 1.0 are almost equal. I am currently using .75 but need to test this further. pushing a passed pawn had hardly any effect, but that might be a result of the test suite rather than a useless extension. The default value for this is also .75 recapture is the most interesting case. It actually appears that removing this _completely_ gave the best score, which is surprising since win at chess is a tactical suite. Lowering this extension obviously speeds up the overall search. I currently use .75 here as well. The most interesting thing is the recapture extension. I have used it forever, and took the idea from Cray Blitz since I used it there as well. I am not yet sure why it actually hurts since it seems (to me) to be a logical idea. I am going to test this more, just for my own interest. Take this with a grain of salt, of course. Crafty is Crafty. Your program might behave differently. However it _is_ interesting. Even though WAC is a small test set. I use it because it is very quick to run 25 tests (no, I don't use parallel searches for these kinds of tests as the results have too much variability due to parallel search non-determinism). Other test suites might produce different results. But for now the recapture extension is under my microscope and might go away.
This page took 0.01 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.