Test position
Moderator: Ras
-
cdani
- Posts: 2204
- Joined: Sat Jan 18, 2014 10:24 am
- Location: Andorra
Re: Test position
My current version of Andscacs needs depth 29 to find it. It reduces too much, and more because it's able to increase the black advantage without the sacrifice.
Daniel José -
http://www.andscacs.com
-
zd3nik
- Posts: 193
- Joined: Wed Mar 11, 2015 3:34 am
- Location: United States
Re: Test position
Thanks for the feedback everyone! 
1st problem: Turns out my version of delta pruning wasn't working very well. I'm still not sure why since it only seemed to be failing on this position and none of the other positions I use for testing. I changed it to only apply delta pruning at depth < 0 instead of depth <= 0 in the bitboard version of clubfoot and now it's seeing Qxf3 in a more reasonable time frame. Still not as fast as I'd like, but it's a major improvement over what it was.
2nd problem: My check extension logic in the clubfoot family of programs was too simple, causing a huge explosion of the search tree in this position. So even with the delta pruning fix it would take about 90 seconds to work out the complete line once it finally realized Qxf3 was a good move. In the bitboard version of clubfoot this was easy to improve. Only extend checks that are either a double check or that leave the king with less than 2 moves. Doing those calculations will be much more costly in the vanilla open-source clubfoot. Unfortunately it's still getting bogged down working out the Qxf3 line, but it's not taking a minute and a half any more...
As of now here's where the bitboard version of clubfoot is at with this position:
Looks like my aspiration window logic could use some TLC too...
I took an hour or two and tried just about every variation of engine options. And discovered it was mostly effected by 2 factors: delta pruning and check extensions.RolandoFurioso wrote:PS: I have just re-run Fischerle 0.9.61 64-Bit on this position with all extensions and reductions switched of. Even then and somewhat surprising, it founds mate fairly quickly, i.e. in a couple of seconds at nominal depth 12. Thus, it looks like whether the position isn't really malign in a general sense. No idea why your engines have problems with this position - maybe indeed a rather deep issue with your particular blend of restrictions and extensions.
1st problem: Turns out my version of delta pruning wasn't working very well. I'm still not sure why since it only seemed to be failing on this position and none of the other positions I use for testing. I changed it to only apply delta pruning at depth < 0 instead of depth <= 0 in the bitboard version of clubfoot and now it's seeing Qxf3 in a more reasonable time frame. Still not as fast as I'd like, but it's a major improvement over what it was.
2nd problem: My check extension logic in the clubfoot family of programs was too simple, causing a huge explosion of the search tree in this position. So even with the delta pruning fix it would take about 90 seconds to work out the complete line once it finally realized Qxf3 was a good move. In the bitboard version of clubfoot this was easy to improve. Only extend checks that are either a double check or that leave the king with less than 2 moves. Doing those calculations will be much more costly in the vanilla open-source clubfoot. Unfortunately it's still getting bogged down working out the Qxf3 line, but it's not taking a minute and a half any more...
As of now here's where the bitboard version of clubfoot is at with this position:
Code: Select all
info depth 10 seldepth 22 nodes 533329 time 551 nps 967929 score cp 298 pv d6c4 e2d4 c7h2 g1h1 h2e5 h1g1 e5d4 b2c2 d4e5 a4a5 e5h2 g1h1 c6d5
info depth 11 seldepth 25 nodes 1010768 time 1025 nps 986115 score cp 310 pv d6c4 e2d4 c7h2 g1h1 h2e5 h1g1 e5d4 b2c1 d4e5 f3h4 c6b6 g2b7 b6b7
info depth 12 seldepth 25 nodes 1707481 time 1735 nps 984138 currmovenumber 1 currmove d6c4 score cp 335 lowerbound
info depth 12 seldepth 25 nodes 1909121 time 1942 nps 983069 score cp 597 pv d6c4 e2d4 c7h2 g1h1 h2e5 h1g1 e5d4 b2c1 c6f3 g2f3 b7f3 c1h6 h8h6 c3d4
info depth 13 seldepth 21 nodes 2260961 time 2311 nps 978347 score cp 605 pv d6c4 e2d4 c7h2 g1h1 h2e5 h1g1 e5d4 b2c1 c6f3 g2f3 b7f3 c1f4 c4e5 f4h2 h8h2 c3d4
info depth 14 seldepth 24 nodes 2950374 time 3011 nps 979865 score cp 605 pv d6c4 e2d4 c7h2 g1h1 h2e5 h1g1 e5d4 b2c1 c6f3 g2f3 b7f3 c1f4 c4e5 f4h2 h8h2 c3d4
info depth 15 seldepth 25 nodes 4028523 time 4103 nps 981848 currmovenumber 1 currmove d6c4
info depth 15 seldepth 25 nodes 4546017 time 4634 nps 981013 score cp 608 pv d6c4 e2d4 c7h2 g1h1 h2e5 h1g1 e5d4 b2c1 c6f3 g2f3 b7f3 c1f4 c4e5 f4h2 h8h2 g1h2 d4c3
info depth 15 seldepth 27 nodes 5628804 time 5704 nps 986816 currmovenumber 38 currmove h8h2
info depth 15 seldepth 27 nodes 5819248 time 5897 nps 986814 currmovenumber 44 currmove c6f3 score cp 609 lowerbound
info depth 15 seldepth 27 nodes 5891049 time 5990 nps 983480 currmovenumber 44 currmove c6f3 score cp 1109 lowerbound
info depth 15 seldepth 27 nodes 6367580 time 6497 nps 980080 currmovenumber 44 currmove c6f3 score cp 11109 lowerbound
info depth 15 seldepth 27 nodes 7529735 time 7506 nps 1003162 currmovenumber 44 currmove c6f3
info depth 15 seldepth 27 nodes 8666018 time 8506 nps 1018812 currmovenumber 44 currmove c6f3
info depth 15 seldepth 27 nodes 9805029 time 9507 nps 1031348 currmovenumber 44 currmove c6f3
info depth 15 seldepth 27 nodes 10148995 time 9840 nps 1031401 score mate 7 pv c6f3 g2f3 b7f3 e2g3 d6e4 b2e2 h8h1 g3h1 c7h2 g1h2 e8h8 h2g1 h8h1
info depth 15 seldepth 27 nodes 11181109 time 10908 nps 1025037 currmovenumber 45 currmove c6c3
info depth 15 seldepth 27 nodes 12113924 time 11909 nps 1017207 currmovenumber 45 currmove c6c3