Author: Stuart Cracraft
Date: 16:43:56 09/11/04
Hi, Added fractional extensions today and it boosted solution rate a little more than 1% for the problem set. This was just a set I threw in without much thought so that's pretty good considering improvements lately have been hard to come by though the board is helping to drive them a lot faster than if I were working it alone. I initialize variable "extend" to 0.75 on entry to main search but I'll probably make that 0 and the next number below a 1. I don't keep track of the number of checks in a row but could to do the skip so this isn't like Bob's. The 0.75 is just homage. If in check, add 0.75. If a recapture, add 0.75. If a pawn extension, add 0.50 (this one is disabled presently but now that fractional extensions are in, it and the other extensions I haven't left enabled for fear of blowup can be all added in most likely.) If extension total is >= 1.0, depth+=1 otherwise keep previous setting of depth. ... various non-extensions work here... test whether depth>=0 for call to quiescence, null move with adaptive null move, etc. (verified null move doesn't work as well for me for my short searches) Generate moves, score, and sort If only one legal move, give a free extension beyond the above. So, an example. If in check, extend by 1 (since 1.50 (0.75+0.75)). If in check and this node is after a recapture extend by 1 (0.75+0.75+0.75>=1) If in check and only one legal move out extend null move by 1 but then 1-N moves by 2 (0.75+0.75>=1 + one legal move (1)) I was surprised to get a jump like this on the first attempt addition of the fractional extension feature. 99/100 times a new thing added drops solution rate slightly or more rarely by a lot. with fractional extensions + 6.19/24.31 82% 246/300 249.13 58736604 195789/1/235770 0/639780/1159759/415210 /12993546/0 pawnx/recapx/qcheckx/checkx/futilx/onereplyx Missed: 2 21 46 71 80 86 87 92 99 100 116 128 131 141 145 155 163 178 180 196 200 210 21 3 214 221 222 223 226 228 229 230 237 241 243 245 247 252 255 256 261 262 265 26 6 269 274 282 283 287 288 291 293 296 297 299 branching factor = 4.06 before fractional extensions + 6.37/23.52 80% 242/300 248.87 58082496 193608/1/233381 0/640257/1159613/384586 /13051686/0 pawnx/recapx/qcheckx/checkx/futilx/onereplyx Missed: 2 21 49 55 71 80 86 87 92 97 99 100 116 128 131 139 141 145 155 163 180 196 200 207 210 213 221 222 223 226 228 229 230 231 237 241 243 245 247 250 252 255 256 260 261 262 265 269 274 282 283 287 288 291 293 296 297 299 branching factor = 3.81 qcheckx refers to evading checks in the quiescence. This is just a measure of the handoffs to the main search from a quiescence that is entered in check, using depth=1 -- in these cases, the check extension in the main search is disabled and not used since it already received an extra ply from the handoff. Curious what are all the different fractional extensions people are using for the various types of extensions. Now's your chance to write all of yours in here. E-X-T-E-N-D yourself! Stuart
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.