This issue is probably inconsequential for playing strength, but it is quite obvious when analyzing a won position.
The aspiration windows bounds always have the same delta and get increased by always the same amount during fail-highs/fail-lows. But the bigger the absolute eval, the more likely it is that a deeper search will see a significant value change. i.e., using the same delta no matter the eval can be very inefficient because at high absolute eval it becomes very likely to get many fail-highs in a row.
Here is part of a search I did on a won position :
info depth 86 seldepth 172 multipv 1 score cp 4796 nodes 277404220428 nps 5469063 hashfull 1000 tbhits 0 time 50722432 pv e2c4 h7g6 c3d2 e5e4 d2e3 d6e5 c4b5 e5d5 b5a6 d5e5 a6c4 g6h7 c4b3 h7g6 b4b5 e5d6 b3c2 g6f7 c2e4 d6c5 e4d3 e6e5 g4g5 f7e8 d3f1 c5d6 f1e2 e8f7 e2d3 d6c5 d3f1 f7g6 f1e2 e5e4 e2f1 c5d6 e3d4 d6c7 f1g2 e4e3 d4e3 g6f7 e3d4 f7h5 g2e4 c7b6 e4f5 b6b5 d4e5 b5c5 f5c2 h5e8 c2b3 e8g6 b3d5 c5b4 d5e4 g6h5 e5f6 b4a5 e4c2 a5b4 c2g6 h5f3 g6e8 f3e4 e8d7 b4c5 d7e6 c5d6 e6f5 e4d5 g5g6 d5c4 g6g7 c4d5 f5g6 d6c7 f6e7 c7b7 g6f7 d5e4 g7g8q b7a7 g8g1 a7b7 g1g4
info depth 87 currmove e2c4 currmovenumber 1
info depth 87 seldepth 151 multipv 1 score cp 4805 lowerbound nodes 322628517148 nps 5662993 hashfull 1000 tbhits 0 time 56971369 pv e2c4
info depth 86 currmove e2c4 currmovenumber 1
info depth 87 seldepth 151 multipv 1 score cp 4815 lowerbound nodes 401846639709 nps 5854291 hashfull 1000 tbhits 0 time 68641381 pv e2c4
info depth 85 currmove e2c4 currmovenumber 1
info depth 87 seldepth 151 multipv 1 score cp 4829 lowerbound nodes 504747199945 nps 6138058 hashfull 1000 tbhits 0 time 82232391 pv e2c4
info depth 84 currmove e2c4 currmovenumber 1
info depth 87 seldepth 151 multipv 1 score cp 4848 lowerbound nodes 605619796489 nps 6395168 hashfull 1000 tbhits 0 time 94699586 pv e2c4
info depth 83 currmove e2c4 currmovenumber 1
info depth 87 seldepth 151 multipv 1 score cp 4875 lowerbound nodes 764351168225 nps 6601214 hashfull 1000 tbhits 0 time 115789470 pv e2c4
info depth 82 currmove e2c4 currmovenumber 1
info depth 87 seldepth 151 multipv 1 score cp 4911 lowerbound nodes 866192316936 nps 6655896 hashfull 1000 tbhits 0 time 130139094 pv e2c4
info depth 81 currmove e2c4 currmovenumber 1
info depth 87 seldepth 151 multipv 1 score cp 4958 lowerbound nodes 951064189024 nps 6662858 hashfull 1000 tbhits 0 time 142741159 pv e2c4
info depth 80 currmove e2c4 currmovenumber 1
info depth 87 seldepth 151 multipv 1 score cp 5019 lowerbound nodes 1035912090981 nps 6637582 hashfull 1000 tbhits 0 time 156067678 pv e2c4
info depth 79 currmove e2c4 currmovenumber 1
info depth 87 seldepth 151 multipv 1 score cp 5097 lowerbound nodes 1078609802593 nps 6630081 hashfull 1000 tbhits 0 time 162684239 pv e2c4
info depth 78 currmove e2c4 currmovenumber 1
info depth 87 seldepth 159 multipv 1 score cp 5197 lowerbound nodes 1110732114657 nps 6621915 hashfull 1000 tbhits 0 time 167735761 pv e2c4
info depth 77 currmove e2c4 currmovenumber 1
info depth 87 seldepth 172 multipv 1 score cp 5324 lowerbound nodes 1197109203644 nps 6601690 hashfull 1000 tbhits 0 time 181333737 pv e2c4
info depth 76 currmove e2c4 currmovenumber 1
info depth 76 currmove e2d1 currmovenumber 2
info depth 76 currmove b4b5 currmovenumber 3
info depth 76 currmove g4g5 currmovenumber 4
info depth 76 currmove e2d3 currmovenumber 5
info depth 76 currmove e2b5 currmovenumber 6
info depth 76 currmove e2a6 currmovenumber 7
info depth 76 currmove c3b2 currmovenumber 8
info depth 76 currmove c3b3 currmovenumber 9
info depth 76 currmove c3c4 currmovenumber 10
info depth 76 currmove e2f3 currmovenumber 11
info depth 76 currmove c3d2 currmovenumber 12
info depth 76 currmove e2f1 currmovenumber 13
info depth 87 seldepth 172 multipv 1 score cp 5430 nodes 1357975081130 nps 6610077 hashfull 1000 tbhits 0 time 205440124 pv e2c4 h7g8 c3d2 g8h7 d2e2 h7g6 e2e3 e5e4 e3f4 d6e7 f4e5 e4e3 e5f4 e3e2 c4e2 e7d6 f4e3 d6d5 e2d3 g6f7 g4g5 f7e8 d3e4 d5c4 e4h7 e8h5 h7g8 c4d5 b4b5 d5d6 g8h7 d6c5 h7d3 e6e5 d3f5 h5f7 e3e4 c5d6 g5g6 f7d5 e4e3 d6c5 f5d3 c5d6 g6g7 d5a2 d3e4 d6c5 e4c6 c5d6 e3d3 d6c7 c6e4 a2g8 d3e3 c7b6 e4g2 g8h7 g2h3 b6c5 h3f1 c5d6 b5b6 d6c6 f1h3 e5e4 h3f5 h7g8 e3e4 c6b6 e4e5 b6b5 f5e4 b5c5 e4d3 g8a2 d3f5 c5b6
info depth 88 currmove e2c4 currmovenumber 1
info depth 88 seldepth 157 multipv 1 score cp 5440 lowerbound nodes 1377227756651 nps 6614049 hashfull 1000 tbhits 0 time 208227625 pv e2c4
info depth 87 currmove e2c4 currmovenumber 1
info depth 88 seldepth 157 multipv 1 score cp 5449 lowerbound nodes 1411876886538 nps 6619634 hashfull 1000 tbhits 0 time 213286221 pv e2c4
info depth 86 currmove e2c4 currmovenumber 1
stop
info depth 88 seldepth 157 multipv 1 score cp 5449 nodes 1462979348737 nps 6626133 hashfull 1000 tbhits 0 time 220789289 pv e2c4
info depth 78 seldepth 149 multipv 1 score cp 5449 nodes 1462979348737 nps 6626133 hashfull 1000 tbhits 0 time 220789289 pv e2c4
bestmove e2c4 ponder d6e7
Notice how it takes 11 consecutive fail-highs, from 277B nodes to 1197B nodes, to go from +47.96 to +53.24.
And because the serie of fail-highs stopped for a moment, next starting from +54.3, the aspiration window bounds start again to be increased very slowly, to 54.4 and 54.49 in the first two iterations. At this point I stopped the search because it was obvious hundreds of billions of nodes would be wasted again in repeated fail-highs.
@Alayan-stk-2 Also note the different depths reported for the pv line(s) and the currmove lines. :-)
Edit: Tested increasing the aspiration window dependent on the score here
Does this patch fix it? https://github.com/official-stockfish/Stockfish/pull/2128
I've written a patch increasing proportionally the aspiration window size and by how much the delta is increased on fail-highs when the absolute eval goes over 500 internal units ; as this seemed to be the most natural way to try and address this issue.
On my test position (8/7b/3kp3/4p3/1P4P1/2K5/4B3/8 w - - ; running with 3 threads and 2GB hash), it is doing nicely :
However the values used in the patch are all guesstimates, and with fishtest adjudications I'm not so sure any effect on playing strength (good or bad) could be measured.
Imho, this would be similar to a bugfix, as the aim isn't to gain elo (though maybe an adapted variant could manage to do so) but to improve analysis of some positions.
@Alayan-stk-2 Also note the different depths reported for the pv line(s) and the currmove lines. :-)
I've noticed this but it isn't an issue, is it ? I interpreted this as retrying on a lower depth after a fail-high/low.
@Alayan-stk-2 I think it's still worth running a [-3;1] on fishtest for this.
@Alayan-stk-2 By the way, did you ever find mate for that position?
you can bypass fishtest win adjudications by tampering with the output, for example always output cp 200 if abs(cp)>200, and play against a master modified the same way
@Alayan-stk-2 : did you have the original position ?
My PR #2128 is aimed to correct this problem of multiple high fails. Infortunately it does'nt been accepted. If you just change line 403 in actual master
failedHighCnt = 0;
by
failedHighCnt /= 2;
Did it correct the problem ? It should at least improve the situation ...
@adentong My system got rebooted before I could get a mate score. I had no TB in that search so it would have taken a while, but it got to +147 after about 1T nodes.
@MJZ1977 The position and parameters I used are specified in my 2nd post in this issue. I can't test your patch for the next few days at least.
In my computer (very weak ...). This position 8/7b/3kp3/4p3/1P4P1/2K5/4B3/8 w - -
is much better with the patch
info depth 40 seldepth 58 multipv 1 score cp 482 lowerbound nodes 55353379 nps 5808938 hashfull 99 tbhits 356602 time 9529 pv c3d2
info depth 35 currmove c3d2 currmovenumber 1
info depth 40 seldepth 58 multipv 1 score cp 517 lowerbound nodes 62524032 nps 6020609 hashfull 106 tbhits 381399 time 10385 pv c3d2
info depth 34 currmove c3d2 currmovenumber 1
info depth 40 seldepth 58 multipv 1 score cp 564 lowerbound nodes 69781054 nps 6232677 hashfull 109 tbhits 403052 time 11196 pv c3d2
info depth 33 currmove c3d2 currmovenumber 1
info depth 40 seldepth 58 multipv 1 score cp 625 lowerbound nodes 78277844 nps 6425697 hashfull 114 tbhits 429640 time 12182 pv c3d2
info depth 32 currmove c3d2 currmovenumber 1
info depth 32 currmove c3b2 currmovenumber 13
info depth 40 seldepth 58 multipv 1 score cp 644 nodes 86500192 nps 6610132 hashfull 122 tbhits 453296 time 13086 pv c3d2 h7g6 d2e3 e5e4 e2d1 e6e5 d1b3 d6e7 b3d5 g6e8 d5c4 e8g6 c4a6 e7d6 a6b7 g6f7 b7e4 f7e8 e4f3 d6e7 f3e2 e7d6 b4b5 e8g6 e2d3 g6f7 d3f5 f7c4 b5b6 d6c6 e3e4 c6d6 f5c8 c4d5 e4f5 e5e4 f5f4 d6c6 c8f5 e4e3
info depth 41 currmove c3d2 currmovenumber 1
info depth 41 seldepth 48 multipv 1 score cp 653 lowerbound nodes 101629824 nps 6827667 hashfull 135 tbhits 518884 time 14885 pv c3d2
info depth 40 currmove c3d2 currmovenumber 1
info depth 41 seldepth 50 multipv 1 score cp 663 lowerbound nodes 109030581 nps 6937111 hashfull 138 tbhits 536572 time 15717 pv c3d2
info depth 39 currmove c3d2 currmovenumber 1
info depth 41 seldepth 50 multipv 1 score cp 677 lowerbound nodes 131533671 nps 7229905 hashfull 148 tbhits 577969 time 18193 pv c3d2
info depth 38 currmove c3d2 currmovenumber 1
info depth 41 seldepth 53 multipv 1 score cp 687 nodes 135277592 nps 7263226 hashfull 150 tbhits 590234 time 18625 pv c3d2 h7g6 d2e3 e5e4 e2d1 e6e5 d1b3 d6e7 b3d5 g6e8 d5c4 e8g6 c4a6 e7d6 a6b7 g6e8 b7e4 e8d7 e4f5 d7a4 f5d3 a4e8 d3e2 e8g6 g4g5 d6d5 e2b5 g6f7 b5d3 d5c6 d3e2 f7g6 e2c4 c6b6 c4d3 g6h5 d3f5 h5e8 f5h7 b6b5 e3e4 e8f7 e4e5 b5b6 b4b5 f7h5 e5f6 h5e8 h7d3
info depth 42 currmove c3d2 currmovenumber 1
info depth 42 seldepth 61 multipv 1 score cp 697 lowerbound nodes 144594022 nps 7348750 hashfull 155 tbhits 608470 time 19676 pv c3d2
info depth 41 currmove c3d2 currmovenumber 1
info depth 42 seldepth 61 multipv 1 score cp 706 lowerbound nodes 155853086 nps 7438933 hashfull 161 tbhits 628473 time 20951 pv c3d2
info depth 40 currmove c3d2 currmovenumber 1
info depth 42 seldepth 61 multipv 1 score cp 720 lowerbound nodes 168248153 nps 7503039 hashfull 163 tbhits 654719 time 22424 pv c3d2
info depth 39 currmove c3d2 currmovenumber 1
info depth 42 seldepth 61 multipv 1 score cp 740 lowerbound nodes 182170035 nps 7589469 hashfull 166 tbhits 674642 time 24003 pv c3d2
info depth 38 currmove c3d2 currmovenumber 1
info depth 42 seldepth 61 multipv 1 score cp 767 lowerbound nodes 195597976 nps 7674722 hashfull 171 tbhits 692906 time 25486 pv c3d2
info depth 37 currmove c3d2 currmovenumber 1
info depth 42 seldepth 61 multipv 1 score cp 802 lowerbound nodes 210116467 nps 7733399 hashfull 179 tbhits 716613 time 27170 pv c3d2
info depth 36 currmove c3d2 currmovenumber 1
info depth 42 seldepth 61 multipv 1 score cp 849 lowerbound nodes 226662895 nps 7812729 hashfull 185 tbhits 749556 time 29012 pv c3d2
info depth 35 currmove c3d2 currmovenumber 1
info depth 42 seldepth 61 multipv 1 score cp 910 lowerbound nodes 243608037 nps 7871018 hashfull 198 tbhits 787789 time 30950 pv c3d2
info depth 34 currmove c3d2 currmovenumber 1
info depth 42 seldepth 61 multipv 1 score cp 929 nodes 289247844 nps 8048747 hashfull 213 tbhits 890957 time 35937 pv c3d2 e5e4 d2e3 d6c6 e2c4 c6d6 c4b3 h7g6 b3c2 e6e5 c2e4 g6e8 e4d3 d6c6 d3e2 e8g6 g4g5 c6d5 e2d3 g6f7 d3h7 f7e8 h7g8 d5c6 g8e6 e8g6 e6c4 e5e4 c4b3 c6b6 b3d5 g6h5 b4b5 b6a7 d5e6 a7b6 e6f5 h5f7 f5e4 b6c5
info depth 43 currmove c3d2 currmovenumber 1
info depth 43 seldepth 53 multipv 1 score cp 938 lowerbound nodes 313423408 nps 8108643 hashfull 228 tbhits 958959 time 38653 pv c3d2
info depth 42 currmove c3d2 currmovenumber 1
@MJZ1977 You convinced me to pause my other tests and do a trial run with your patch, with the same settings as previously.
Now, the base fish version being used is not the same compared to my previous tests ; but it took 364B nodes to cross +21 which is much slower than the "vanilla" fish which pushed me to open this issue. It also displays similar massive fail-high sequences.
Hence I think your patch is in no way a fix for this issue.
Sorry for that ...
You can try a softer transition :
failedHighCnt = std::max(failedHighCnt - 2, 0);
I connot try it (not on my PC today)
Edit : of course your patch is also another solution that can be useful for general positions.
@Alayan-stk-2 I think we can observe many things working together causing this massive number of nodes searched.
and, most important,
Here a search snippet of a search of your position 8/7b/3kp3/4p3/1P4P1/2K5/4B3/8 w - - 0 1
with my fh_patch branch https://github.com/joergoster/Stockfish/tree/fh_patch with @vondele's progress fix included, which already gives a positive effect.
3 Threads, 1 GB Hash
info depth 56 seldepth 69 multipv 1 score cp 490 nodes 257193333 nps 7158377 hashfull 389 tbhits 0 time 35929 pv e2d1 h7e4 c3d2 d6d5 d2e3 e4h7 d1b3 d5d6 b3c4 e5e4 c4b3 e6e5 b3f7 d6c6 f7e6 h7g6 e6f5 g6e8 e3e4 c6d6 e4e3 e8a4 f5d3 a4e8 d3e2 e8g6 e2c4 d6c7 c4d3 g6e8 g4g5 c7c6 d3e2 e8g6 e2c4 e5e4 e3d4 c6d6 b4b5 g6f5 b5b6 d6c6 c4d5 c6b6 d5e4 f5e6 g5g6 b6c7 d4e5 e6c4 e4f5 c7c6 f5e6 c4d3 g6g7 d3h7 e6d5 c6c5 d5e4 h7g8 e4g6 g8d5 g6f5 d5g8 f5e4
info depth 57 currmove e2d1 currmovenumber 1
info depth 57 seldepth 69 multipv 1 score cp 500 lowerbound nodes 319956340 nps 7207684 hashfull 443 tbhits 0 time 44391 pv e2d1
info depth 57 currmove e2d1 currmovenumber 1
info depth 57 seldepth 69 multipv 1 score cp 509 lowerbound nodes 379774096 nps 7241240 hashfull 485 tbhits 0 time 52446 pv e2d1
info depth 57 currmove e2d1 currmovenumber 1
info depth 57 seldepth 89 multipv 1 score cp 523 lowerbound nodes 443139021 nps 7299756 hashfull 507 tbhits 0 time 60706 pv e2d1
info depth 57 currmove e2d1 currmovenumber 1
info depth 57 seldepth 89 multipv 1 score cp 543 lowerbound nodes 513856002 nps 7329073 hashfull 553 tbhits 0 time 70112 pv e2d1
info depth 57 currmove e2d1 currmovenumber 1
info depth 57 seldepth 89 multipv 1 score cp 569 lowerbound nodes 603989752 nps 7334066 hashfull 605 tbhits 0 time 82354 pv e2d1
info depth 57 currmove e2d1 currmovenumber 1
info depth 57 seldepth 89 multipv 1 score cp 605 lowerbound nodes 715457142 nps 7371287 hashfull 653 tbhits 0 time 97060 pv e2d1
info depth 57 currmove e2d1 currmovenumber 1
info depth 57 seldepth 89 multipv 1 score cp 652 lowerbound nodes 837908807 nps 7392943 hashfull 694 tbhits 0 time 113339 pv e2d1
info depth 57 currmove e2d1 currmovenumber 1
info depth 57 seldepth 89 multipv 1 score cp 713 lowerbound nodes 998482456 nps 7419634 hashfull 752 tbhits 0 time 134573 pv e2d1
info depth 57 currmove e2d1 currmovenumber 1
info depth 57 seldepth 89 multipv 1 score cp 792 lowerbound nodes 1215459775 nps 7413012 hashfull 808 tbhits 0 time 163963 pv e2d1
info depth 57 currmove e2d1 currmovenumber 1
info depth 57 seldepth 95 multipv 1 score cp 892 lowerbound nodes 1584536868 nps 7431847 hashfull 881 tbhits 0 time 213209 pv e2d1
info depth 57 currmove e2d1 currmovenumber 1
info depth 57 seldepth 95 multipv 1 score cp 1019 lowerbound nodes 2115773279 nps 7449092 hashfull 936 tbhits 0 time 284031 pv e2d1
info depth 57 currmove e2d1 currmovenumber 1
info depth 57 seldepth 95 multipv 1 score cp 1180 lowerbound nodes 2793433802 nps 7431203 hashfull 967 tbhits 0 time 375906 pv e2d1
info depth 57 currmove e2d1 currmovenumber 1
info depth 57 seldepth 120 multipv 1 score cp 1383 lowerbound nodes 3739810542 nps 7328722 hashfull 998 tbhits 0 time 510295 pv e2d1
info depth 57 currmove e2d1 currmovenumber 1
info depth 57 seldepth 120 multipv 1 score cp 1639 lowerbound nodes 5180812693 nps 7277055 hashfull 1000 tbhits 0 time 711938 pv e2d1
info depth 57 currmove e2d1 currmovenumber 1
stop
info depth 57 seldepth 120 multipv 1 score cp 1639 nodes 5936846626 nps 7230428 hashfull 1000 tbhits 0 time 821092 pv e2d1
bestmove e2d1 ponder d6c6
However, now without the shuffle extension patch:
info depth 53 seldepth 60 multipv 1 score cp 464 nodes 181392786 nps 7000339 hashfull 267 tbhits 0 time 25912 pv c3d2 h7g6 d2e3 d6d5 e2b5 e5e4 b5d7 d5c4 b4b5 c4c5 d7c6 e6e5 c6e4 g6f7 e4d3 c5d5 d3e2 f7g6 e2c4 d5d6 c4d3 g6f7 d3e2 f7g6 e2c4 d6c5 c4d3 g6e8 d3e2 e8g6 g4g5 e5e4 e3f4 c5d5 e2f1 d5d6 b5b6 e4e3 f1b5 e3e2 b5e2 d6c6 f4e5 c6b6 e2g4 b6c5 e5f6 g6d3 g4f5 d3c4 g5g6 c5d6 f5g4 c4d5 g4h5 d5g8 g6g7 d6d7 h5g6 d7d6
info depth 54 currmove c3d2 currmovenumber 1
info depth 54 seldepth 65 multipv 1 score cp 473 lowerbound nodes 205595220 nps 7027695 hashfull 292 tbhits 0 time 29255 pv c3d2
info depth 54 currmove c3d2 currmovenumber 1
info depth 54 seldepth 65 multipv 1 score cp 483 lowerbound nodes 242530342 nps 7087385 hashfull 330 tbhits 0 time 34220 pv c3d2
info depth 54 currmove c3d2 currmovenumber 1
info depth 54 seldepth 65 multipv 1 score cp 497 lowerbound nodes 288157998 nps 7156004 hashfull 349 tbhits 0 time 40268 pv c3d2
info depth 54 currmove c3d2 currmovenumber 1
info depth 54 seldepth 65 multipv 1 score cp 516 lowerbound nodes 321690204 nps 7190053 hashfull 368 tbhits 0 time 44741 pv c3d2
info depth 54 currmove c3d2 currmovenumber 1
info depth 54 seldepth 65 multipv 1 score cp 543 lowerbound nodes 359431712 nps 7214027 hashfull 390 tbhits 0 time 49824 pv c3d2
info depth 54 currmove c3d2 currmovenumber 1
info depth 54 seldepth 67 multipv 1 score cp 579 lowerbound nodes 407342036 nps 7247563 hashfull 408 tbhits 0 time 56204 pv c3d2
info depth 54 currmove c3d2 currmovenumber 1
info depth 54 seldepth 67 multipv 1 score cp 626 lowerbound nodes 466891625 nps 7290055 hashfull 440 tbhits 0 time 64045 pv c3d2
info depth 54 currmove c3d2 currmovenumber 1
info depth 54 seldepth 67 multipv 1 score cp 687 lowerbound nodes 549401720 nps 7332786 hashfull 466 tbhits 0 time 74924 pv c3d2
info depth 54 currmove c3d2 currmovenumber 1
info depth 54 seldepth 73 multipv 1 score cp 765 lowerbound nodes 687580690 nps 7365936 hashfull 506 tbhits 0 time 93346 pv c3d2
info depth 54 currmove c3d2 currmovenumber 1
info depth 54 seldepth 73 multipv 1 score cp 865 lowerbound nodes 822847877 nps 7367511 hashfull 583 tbhits 0 time 111686 pv c3d2
info depth 54 currmove c3d2 currmovenumber 1
info depth 54 seldepth 73 multipv 1 score cp 992 lowerbound nodes 1030471706 nps 7359881 hashfull 696 tbhits 0 time 140012 pv c3d2
info depth 54 currmove c3d2 currmovenumber 1
info depth 54 seldepth 73 multipv 1 score cp 1153 lowerbound nodes 1369081922 nps 7322742 hashfull 782 tbhits 0 time 186963 pv c3d2
info depth 54 currmove c3d2 currmovenumber 1
info depth 54 seldepth 76 multipv 1 score cp 1357 lowerbound nodes 1738647078 nps 7251523 hashfull 892 tbhits 0 time 239763 pv c3d2
info depth 54 currmove c3d2 currmovenumber 1
info depth 54 seldepth 84 multipv 1 score cp 1613 lowerbound nodes 2234617598 nps 7184595 hashfull 953 tbhits 0 time 311029 pv c3d2
info depth 54 currmove c3d2 currmovenumber 1
info depth 54 seldepth 84 multipv 1 score cp 1936 lowerbound nodes 2714411576 nps 7105789 hashfull 990 tbhits 0 time 382000 pv c3d2
info depth 54 currmove c3d2 currmovenumber 1
info depth 54 seldepth 84 multipv 1 score cp 2341 lowerbound nodes 3169871246 nps 7036043 hashfull 995 tbhits 0 time 450519 pv c3d2
info depth 54 currmove c3d2 currmovenumber 1
info depth 54 seldepth 84 multipv 1 score cp 2849 lowerbound nodes 3943664117 nps 6988743 hashfull 998 tbhits 0 time 564288 pv c3d2
info depth 54 currmove c3d2 currmovenumber 1
info depth 54 seldepth 84 multipv 1 score cp 3487 lowerbound nodes 4338839833 nps 6965089 hashfull 998 tbhits 0 time 622941 pv c3d2
info depth 54 currmove c3d2 currmovenumber 1
info depth 54 seldepth 84 multipv 1 score cp 4286 lowerbound nodes 4584793873 nps 6966459 hashfull 998 tbhits 0 time 658124 pv c3d2
info depth 54 currmove c3d2 currmovenumber 1
stop
info depth 54 seldepth 84 multipv 1 score cp 4286 nodes 4800697339 nps 6969774 hashfull 998 tbhits 0 time 688788 pv c3d2
bestmove c3d2 ponder h7g6
What a difference!
I can highly recommend to take a careful look at the reported selective search depths!
I would like to close this issue if possible. Is the behaviour still a problem now?
Yes, this behaviour has not changed.
Would a patch that only kicks in above 400cp or so (and hence shouldn't impact playing strength) be ok with a non-regression test ? Though considering fishtest adjudication, this may not be measurable.
Closing with my patch merged, this should be less of an issue now.
With #2598, this behavior is back.
@Alayan-stk-2 would be useful to raise this kind of issues in the pull request... hard to remember all past issues.
@Alayan-stk-2
Ah, I see, my bad. I was looking at delta for other reasons and my thought process was that "interesting" evals are up to say 100-200cp, how can an increase to delta of just 1 or 2 points have any meaningful impact? And of course the tests agreed.
Even for higher evals, I was thinking of 400-500 cp, not the 5000 cp kind of levels that can be seen when finding a mate. But finding / analysing a mating line is an obvious use case for sf, so now I see how this can be important.
I'm quite happy for Joost to revert this if he thinks appropriate.
@Alayan-stk-2 would be useful to raise this kind of issues in the pull request... hard to remember all past issues.
艤orry, I noticed it late.
Improving hash collision detection seems to significantly improve the search for this position. See https://github.com/official-stockfish/Stockfish/pull/2755#issuecomment-647114783
I'll close this, needs to be reinvestigated after NNUE has been tuned.
Most helpful comment
I've written a patch increasing proportionally the aspiration window size and by how much the delta is increased on fail-highs when the absolute eval goes over 500 internal units ; as this seemed to be the most natural way to try and address this issue.
On my test position (8/7b/3kp3/4p3/1P4P1/2K5/4B3/8 w - - ; running with 3 threads and 2GB hash), it is doing nicely :
However the values used in the patch are all guesstimates, and with fishtest adjudications I'm not so sure any effect on playing strength (good or bad) could be measured.
Imho, this would be similar to a bugfix, as the aim isn't to gain elo (though maybe an adapted variant could manage to do so) but to improve analysis of some positions.
I've noticed this but it isn't an issue, is it ? I interpreted this as retrying on a lower depth after a fail-high/low.