Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bench hangs at depth 28 #2126

Closed
mstembera opened this issue May 3, 2019 · 41 comments
Closed

Bench hangs at depth 28 #2126

mstembera opened this issue May 3, 2019 · 41 comments

Comments

@mstembera
Copy link
Contributor

After #2121 bench hangs on position 36 of 42 when run with depth 28.
stockfish.exe bench 16 1 28 default depth 1>nul
for reference the bench before the patch is 3286847698.

@MJZ1977
Copy link
Contributor

MJZ1977 commented May 4, 2019

The position is this one :
8/8/3P3k/8/1p6/8/1P6/1K3n2 b - - 0 1

The explanation is that SF is struggling to find a solution to a draw position. It is not a bug for me, but it is sure that SF can do better in different ways :

  • send every N minutes a partial search result,
  • limit shuffling to N moves like the "original" shuffling procedure,
  • restart search without looping over all possible moves in case of fail low (in some special conditions of course)

@mcostalba
Copy link

mcostalba commented May 4, 2019

Even better: drop the shuffle hack all together.

I am really no convinced we need it. To be even more clear I will not keep adding hacks over hacks until it "seems" to work. It is not the way SF has been developed so far. If the solution is not intrinsically sound and stable IMO it should be left out.

@joergoster
Copy link
Contributor

I think the problem is even more serious because SF doesn't respond to the 'stop' nor the 'quit' command in this case.

info depth 26 seldepth 56 multipv 1 score cp -39 lowerbound nodes 21970271 nps 1845465 hashfull 294 tbhits 0 time 11905 pv f1d2
info depth 24 currmove f1d2 currmovenumber 1
stop
quit
^C

@MJZ1977
Copy link
Contributor

MJZ1977 commented May 4, 2019

My personal point of view about the shuffling patch is that it is a big improvement to SF because it do verification at very high depths. So of course when you do something ambitious, you have some difficulties in the beginning. But if each time we go back to the beginning we cannot go ahead with the idea.

For information : if you only take the original shuffle procedure before simplification, this position is not hanging and return a draw ...

@mcostalba
Copy link

mcostalba commented May 4, 2019

@joergoster could you please verify if hangs with the following?

      else if (   PvNode
               && pos.rule50_count() > 18
               && ttHit
               && tte->depth() >= 3 * ONE_PLY
               && depth < 3 * ONE_PLY)
               extension = ONE_PLY;

@joergoster
Copy link
Contributor

The reported non-responsive run was maybe just bad luck.
Now it finished 'go depth 28' normally, though taking quite some time.

info depth 28 seldepth 51 multipv 1 score cp -86 nodes 647216911 nps 1768448 hashfull 421 tbhits 0 time 365980 pv f1d2 b1a2 b4b3 a2a1 h6g5 d6d7 g5f4 d7d8r f4e3 d8d7 e3e2 d7h7 e2d3 h7h2 d2e4 h2h3 d3c4 h3h4 c4d3 a1b1 d3d4 h4f4 d4d3 f4g4 e4d2 b1c1 d2e4 g4h4 d3d4 h4f4 d4d3 c1d1 d3e3 f4h4 e3d3 d1e1 e4c5 e1f2 d3c2 h4c4 c2b2 c4c5 b2b1
bestmove f1d2 ponder b1a2

@mcostalba Done. No hang for this position with your modified code and 'go depth 28'.

info depth 28 seldepth 46 multipv 1 score cp -678 nodes 1846074 nps 2107390 tbhits 0 time 876 pv f1d2 b1a2 b4b3 a2a1 h6g5 d6d7 g5f4 d7d8q f4e3 d8d5 e3e2 d5d4 e2d1 d4d3 d1c1 d3e3 c1c2 e3e1 c2d3 e1e8 d3c2 e8c8 c2d1 c8c6 d1e2 c6e8 e2d1 e8e7 d1c2 e7d6 c2d1 d6g3 d1c2 g3g2 c2d3 g2h3 d3e2 h3g4 e2d3 g4f5 d3e2 f5f4 e2d1 f4g4 d1c1
bestmove f1d2 ponder b1a2

But now a 3 min search shows that iteration 32 takes some time. It looks like the problem is simply postponed to higher iterations.

info depth 32 seldepth 46 multipv 1 score cp -601 upperbound nodes 74561950 nps 1772120 hashfull 324 tbhits 0 time 42075 pv f1d2 b1a2
info depth 32 currmove f1d2 currmovenumber 1
info depth 32 seldepth 46 multipv 1 score cp -552 lowerbound nodes 74572317 nps 1772155 hashfull 324 tbhits 0 time 42080 pv f1d2
info depth 31 currmove f1d2 currmovenumber 1
info depth 32 seldepth 46 multipv 1 score cp -552 nodes 314879458 nps 1749320 hashfull 324 tbhits 0 time 180001 pv f1d2
bestmove f1d2 ponder b1a2

Even after a 10 minute search iteration 32 isn't resolved.

info depth 32 seldepth 46 multipv 1 score cp -601 upperbound nodes 74561950 nps 1771741 hashfull 324 tbhits 0 time 42084 pv f1d2 b1a2
info depth 32 currmove f1d2 currmovenumber 1
info depth 32 seldepth 46 multipv 1 score cp -552 lowerbound nodes 74572317 nps 1771776 hashfull 324 tbhits 0 time 42089 pv f1d2
info depth 31 currmove f1d2 currmovenumber 1
info depth 32 seldepth 46 multipv 1 score cp -491 lowerbound nodes 638272609 nps 1749252 hashfull 324 tbhits 0 time 364883 pv f1d2
info depth 30 currmove f1d2 currmovenumber 1
info depth 32 seldepth 46 multipv 1 score cp -413 lowerbound nodes 766700317 nps 1756887 hashfull 324 tbhits 0 time 436397 pv f1d2
info depth 29 currmove f1d2 currmovenumber 1
info depth 32 seldepth 46 multipv 1 score cp -413 nodes 1039904268 nps 1733170 hashfull 324 tbhits 0 time 600001 pv f1d2
bestmove f1d2 ponder b1a2

@MJZ1977
Copy link
Contributor

MJZ1977 commented May 4, 2019

I think I found the problem :
Line 411,
replace :

failedHighCnt = 0;

by :

failedHighCnt = std::max(0, failedHighCnt - 1);

It should solve the problem of this position ...

Edit : I just launch a test of it as bugfix
http://tests.stockfishchess.org/tests/view/5ccd9c220ebc5925cf03ede8

@ddugovic
Copy link

ddugovic commented May 4, 2019

@MJZ1977 Please help us understand the nature of this problem & of the solution.

@MJZ1977
Copy link
Contributor

MJZ1977 commented May 4, 2019

The problem is that SF playout shuffling position at PV line only. First, it thinks the position is lost. But when it suddenly discover that PV line is shuffling, there is a big fail high and fail high counter is reaching sometimes big values.
After this SF tests other nonPV line. Because they did'nt have extension, it thinks first that position is lost again and have fail low before going again to fail high when it tests new PV line.
These up and down leads to big aspiration windows at high depths, then it hangs because there is too much positions and lines to evaluate. When we slow down the fail high / fail low movement it helps him to go progressivly to the "good" solution.

@MJZ1977
Copy link
Contributor

MJZ1977 commented May 5, 2019

PR added here :
#2128

@CoffeeOne
Copy link

@MJZ1977 I don't like your new pull-request.

@mcostalba The patch in its original form was good, and did not need a fix, it was just crippled by the simplification (as already pointed out). So let's just revert the simplification.

@vondele
Copy link
Member

vondele commented May 5, 2019

@joergoster if it doesn't stop to stop or quit there is a different bug.

@CoffeeOne
Copy link

I also had this kind of "hang", but only during a bench run. It still reacts normally, when setting up the position, go depth 28 and then quit.

@joergoster
Copy link
Contributor

@CoffeeOne That's exactly what happened here, too!

@vondele
Copy link
Member

vondele commented May 5, 2019

Exactly that's my point. This is still search, and can be quit/stopped etc. The behavior is unusual, i.e. to complete a given depth can take a long while. I agree that's not expected behavior, so let's see if we can improve on this.

This behavior is also part of the patch since day 1. It is also quite clear why this is happening. Search is just finding the correct eval for a position (draw), and is trying to find new variants of shuffling that all need a lot of extensions to find again draw.

@gonzalezjo
Copy link

If reverting the simplification fixes this, it would definitely be preferable, IMO, to PR #2128. It's not very obvious what #2128 is for if you're looking at the code without this issue as context. It's easy to understand what the pre-simplification version is doing, even if it's a bit more code.

@MJZ1977
Copy link
Contributor

MJZ1977 commented May 5, 2019

Clearly, the PR #2128 resolves multiple hangs, and not only this one. Without this PR, the search can be like this :
depth 28 >> up bd
depth 27 >> up bd
.
.
.
depth 22 >> lw bd
depth 28 >> hang because we search with a window completely different from all previous searchs and we don't know in which direction we must go.
@vondele : did you tested the PR #2128 with this position ?

@vondele
Copy link
Member

vondele commented May 5, 2019

@MJZ1977 looking at it now, and clearly it improves for this fen. Yet, it is unclear (to me) if this the fundamental fix.

@gonzalezjo
Copy link

resolves multiple hangs, and not only this one

Are there any example positions of other hangs that the PR fixes, that aren't related to the shuffle patch? I think #2128 gets precluded by

To be even more clear I will not keep adding hacks over hacks until it "seems" to work. It is not the way SF has been developed so far. If the solution is not intrinsically sound and stable IMO it should be left out.

@MJZ1977
Copy link
Contributor

MJZ1977 commented May 6, 2019

For me, the shuffle patch just raised an existent problem of multiple high fails. I don't know if there is other positions where it can be useful, but I suppose yes. To search them, we can search positions with multiple high fails.
So it is not a hack but a bug fix for me since alpha beta is supposed to work as a progressive deepening and not to jump for depth 20 to depth 27 with different aspiration window.

@MichaelB7
Copy link
Contributor

If it looks like a duck, swims like a duck, and quacks like a duck, it is a duck. This is a bug. We need to make sure we understand the full scope of the issue and get it right on one bug fix hopefully. I appreciate all the hands on deck looking at this.

@vdbergh
Copy link
Contributor

vdbergh commented May 6, 2019

First, it thinks the position is lost. But when it suddenly discover that PV line is shuffling,

I must confess I do not understand how this works. How does SF discover that it is shuffling? If the cause of shuffling is erroneous large negative evaluations (e.g. because we have a fortress, but we are heavily down in material), then this is usually not cured by searching deeper (at least not until the 50 move limit is reached).
EDIT: So maybe the point of the recursive extension is to make SF hit the 50 move limit? I do not see how there could be an anti-shuffling effect otherwise (assuming that the position is sufficiently complex so that the party that thinks it is winning can avoid 3fold repetitions).
EDIT2: Ok I see. The combination of PvNode with depth<3 * ONE_PLY makes it so that at least the cost does not go up exponentially.

      // Shuffle extension
      else if (   PvNode
               && pos.rule50_count() > 18
               && depth < 3 * ONE_PLY
               && ss->ply < 3 * thisThread->rootDepth / ONE_PLY) // To avoid too deep searches
          extension = ONE_PLY;

@MJZ1977
Copy link
Contributor

MJZ1977 commented May 9, 2019

Can we correct the issue before TCEC super final please ?

@snicolet
Copy link
Member

snicolet commented May 9, 2019

hmm, what should we do for the TCEC super final build?

Should I revert for 24 hours the "Simplified shuffle extension version" patch of May, 2nd just to give the TCEC team an opportunity to catch a safe build ? And we could continue the discussion tomorrow or the day after?

@vondele
Copy link
Member

vondele commented May 9, 2019

I think there is no need to revert. In game play, it might result in a long think, but I actually think it is safe, and we've demonstrated clearly enough it is an elo gain.

@mstembera
Copy link
Contributor Author

@vondele I respectfully disagree, A simplification "may" be fine is not good enough. There is no upside in taking a chance on the TCEC final.

@vondele
Copy link
Member

vondele commented May 9, 2019

IMO, the source of the issue is not the simplification, but the extensions. Of course, the simplification will change which positions are affected.

@MJZ1977
Copy link
Contributor

MJZ1977 commented May 9, 2019

Just for information : I made some interresting tests at VLTC.

  • No simplification vs simplification :

http://tests.stockfishchess.org/tests/view/5ccb3b540ebc5925cf03aed3
conclusion : simplification seems to bring some positive effects.

  • PR#2128 vs simplification :

http://tests.stockfishchess.org/tests/view/5cd2dd410ebc5925cf048fe7
conclusion : results are quiet close, although PR#2128 should correct all the hangs attached to multiple high fails (even for other reasons than shuffling)

It seems that hanging positions are not a big problem since these positions are statistically too rare and in real games, the time limit corrects them in most of the cases.

@CoffeeOne
Copy link

CoffeeOne commented May 12, 2019

I really vote for reverting "simplified shuffle extension version".
I still see in engine-engine matches (16minutes+3secs or 12+2 time control) endless shuffling sequences from stockfish with a certain constant eval for 20 or 30 moves. Stockfish should try instead something that changes the position, if not possible then show 0.00.

Maybe on top of it, the pull-request PR #2128 makes sense, too, but I suggest to first make the revert in master.

@adentong
Copy link

So currently in TCEC I'm seeing SF use up to 17(!) minutes on moves earlier in the game, and in general just a lot more time per move on average than in the previous seasons. Could that be related to this issue? If yes then perhaps we need to deal with it somehow because it's clearly making SF waste time needlessly.u

@xoto10
Copy link
Contributor

xoto10 commented May 15, 2019 via email

@MJZ1977
Copy link
Contributor

MJZ1977 commented May 15, 2019

@adentong : can you please copy the FEN here ?
I proposed a solution in PR#2128, I will see if it is better with this patch.

@adentong
Copy link

@MJZ1977 Sorry I actually don't have the FEN. It was just a general observation that SF seems to be taking more time on average than before.

@mstembera
Copy link
Contributor Author

@vondele "IMO, the source of the issue is not the simplification, but the extensions. Of course, the simplification will change which positions are affected."
Do you have a sample position that hangs before the simplification?

@vondele
Copy link
Member

vondele commented May 16, 2019

Instead of examples, what about trying to rationalize the effect of the added or removed code? E.g. how can the 'corrective code' be effective in the limit of small (zero?) TT size. Maybe a good explanation/proof of how that code prevents deep searches, while maintaining correctness, would clarify things already?

@mstembera
Copy link
Contributor Author

I'm not discouraging you from providing any explanation. You claim the bug is not a result of the simplification and having a position that hangs before the simplification would prove that.

@vondele
Copy link
Member

vondele commented May 16, 2019

I can easily explain why the extensions lead to long search times, but that should be obvious, right?

I'm missing a good explanation why the removed code would reliably and correctly fix that behavior, so that's why I think we should not add it back... better fix than covering such things.

@CoffeeOne
Copy link

Hello,
I made some tests today on my amd 64 core machine.
It's very annoying now to run bench runs, I used to run "bench 1024 64 24", it hangs on position 36 for ever (at depth 24 with 64 threads)

Maximum is now 1024 64 22, but also here it needs sometimes 1 minute or more on position 36 (sometimes it's faster).
Can we remove position 36 from bench?

@MichaelB7
Copy link
Contributor

This is a problem- long bench runs, depth 26 or higher never complete in a reasonable time and its due to bench position number 36.
8/8/3P3k/8/1p6/8/1P6/1K3n2 b - - 0 1
If this an outlier type of position ,let's replace with something else, or just simply drop it. This one position with 16 threads takes almost 7 minutes by itself. Because it takes so long, this position now dominates the final result of the bench run since it is the extreme dominant position in time to completion. Also looks at the hash full % at completion - just 7% - something is clearly wrong here.

position fen 8/8/3P3k/8/1p6/8/1P6/1K3n2 b - - 0 1
go depth 26
info depth 1 seldepth 1 multipv 1 score cp 37 nodes 401 nps 401000 tbhits 0 time 1 pv b4b3
info depth 2 seldepth 2 multipv 1 score cp -22 nodes 1215 nps 1215000 tbhits 0 time 1 pv b4b3 d6d7
info depth 3 seldepth 5 multipv 1 score cp -299 nodes 2715 nps 2715000 tbhits 0 time 1 pv f1d2 b1c1 h6h5 c1d2
info depth 4 seldepth 7 multipv 1 score cp -788 nodes 6039 nps 3019500 tbhits 0 time 2 pv f1d2 b1c2 h6g5 d6d7 g5g6 d7d8q
info depth 5 seldepth 8 multipv 1 score cp -777 nodes 7577 nps 3788500 tbhits 0 time 2 pv f1d2 b1c2 d2f1 d6d7 h6g7
info depth 6 seldepth 8 multipv 1 score cp -23 nodes 12512 nps 6256000 tbhits 0 time 2 pv f1d2 b1c2 d2f3 c2b3 f3d4 b3b4
info depth 7 seldepth 10 multipv 1 score cp -13 nodes 21442 nps 10721000 tbhits 0 time 2 pv f1d2 b1a2 b4b3 a2a3 d2c4 a3b3 c4d6 b3b4 h6h5
info depth 8 seldepth 12 multipv 1 score cp -13 nodes 25754 nps 12877000 tbhits 0 time 2 pv f1d2 b1c2 d2f3 c2b3 f3e5 b3b4 e5d7 b4b5 d7f6
info depth 9 seldepth 16 multipv 1 score cp -858 nodes 97522 nps 24380500 tbhits 0 time 4 pv f1d2 b1a2 b4b3 a2a1 h6g5 d6d7 g5f4 d7d8q f4e3 d8c7 e3f2 c7c3
info depth 10 seldepth 19 multipv 1 score cp -863 nodes 120476 nps 24095200 tbhits 0 time 5 pv f1d2 b1a2 b4b3 a2a1 h6g5 d6d7 g5f4 d7d8q f4e3 d8g5 e3e2 g5b5 e2f2 b5d3 f2e1 d3d8
info depth 11 seldepth 21 multipv 1 score cp -850 nodes 145258 nps 24209666 tbhits 0 time 6 pv f1d2 b1a2 b4b3 a2a1 h6g5 d6d7 g5f4 d7d8q f4e3 d8g5 e3d3 g5g6 d3e2
info depth 12 seldepth 20 multipv 1 score cp -842 nodes 208789 nps 29827000 tbhits 0 time 7 pv f1d2 b1a2 b4b3 a2a1 h6g5 d6d7 g5f4 d7d8q f4e3 d8e8 e3d3 e8e1 d3c2
info depth 13 seldepth 21 multipv 1 score cp -842 nodes 228147 nps 28518375 tbhits 0 time 8 pv f1d2 b1a2 b4b3 a2a1 h6g5 d6d7 g5f4 d7d8q f4e3 d8e8 e3d3 e8e1 d3c2 e1e3 c2d1 e3g1 d1e2 g1g3 e2d1 g3g4 d1c2
info depth 14 seldepth 27 multipv 1 score cp -842 nodes 261057 nps 29006333 tbhits 0 time 9 pv f1d2 b1a2 b4b3 a2a1 h6g5 d6d7 g5f4 d7d8q f4e3 d8e8 e3d3 e8e1 d3c2 e1e3 c2d1 e3g1 d1c2 g1c5 c2d1 c5d6 d1e1 d6e6 e1d1 e6d7 d1e2 d7b5 e2d1
info depth 15 seldepth 36 multipv 1 score cp -833 nodes 304454 nps 30445400 tbhits 0 time 10 pv f1d2 b1a2 b4b3 a2a1 h6g5 d6d7 g5f4 d7d8q f4e3 d8e8 e3d3 e8e1 d3c2 e1e3 c2d1 e3g1 d1c2 g1c5 c2d1
info depth 16 seldepth 26 multipv 1 score cp -833 nodes 351284 nps 31934909 tbhits 0 time 11 pv f1d2 b1a2 b4b3 a2a1 h6g5 d6d7 g5f4 d7d8q f4e3 d8e8 e3d3 e8e1 d3c2 e1e3 c2d1 e3g1 d1c2 g1c5 c2d1 c5b4 d1c2 b4d6 c2d1 d6a6 d1c2 a6c6 c2d3 c6b5 d3c2
info depth 17 seldepth 38 multipv 1 score cp -823 nodes 411841 nps 31680076 tbhits 0 time 13 pv f1d2 b1a2 b4b3 a2a1 h6g5 d6d7 g5f4 d7d8q f4e3 d8e8 e3d3 e8e1 d3c2 e1e3 c2d1 e3c3 d1e2 c3d4 e2d1 d4g4 d1c2 g4h5 c2c1 h5g6 c1d1 g6f5
info depth 18 seldepth 44 multipv 1 score cp -813 nodes 470067 nps 31337800 tbhits 0 time 15 pv f1d2 b1a2 b4b3 a2a1 h6g5 d6d7 g5f4 d7d8q f4e3 d8e8 e3d3 e8e1 d3c2 e1e3 c2d1 e3c3 d1e2 c3a5 e2d3 a5a6 d3c2 a6g6 c2d1 g6c6 d1e2 c6d6 e2d1
info depth 19 seldepth 48 multipv 1 score cp -760 nodes 721114 nps 31352782 tbhits 0 time 23 pv f1d2 b1a2 b4b3 a2a1 h6g5 d6d7 g5f4 d7d8q f4e3 d8e8 e3d3 e8e1 d3c2 e1e3 c2d1 e3c5 d1e2 c5b5 e2d1 b5h5 d1c2 h5f5 c2d1 f5f6
info depth 20 seldepth 52 multipv 1 score cp -761 nodes 1338526 nps 32646975 tbhits 0 time 41 pv f1d2 b1a2 b4b3 a2a1 h6g5 d6d7 g5f4 d7d8q f4e3 d8e8 e3d3 e8e1 d3c2 e1g1 c2d3 g1g7 d3e2 g7e7 e2d3 e7a3 d3e2 a3d6 e2d1 d6d8 d1c2 d8d4 c2c1 d4b6 c1c2 b6g6 c2d1 g6g5 d1e2 g5b5 e2d1 b5h5 d1c2
info depth 21 seldepth 66 multipv 1 score cp -596 lowerbound nodes 146895641 nps 33430960 hashfull 4 tbhits 0 time 4394 pv f1d2
info depth 17 currmove f1d2 currmovenumber 1
info depth 17 currmove b4b3 currmovenumber 2
info depth 17 currmove f1e3 currmovenumber 3
info depth 17 currmove h6g5 currmovenumber 4
info depth 17 currmove h6h7 currmovenumber 5
info depth 17 currmove f1h2 currmovenumber 6
info depth 17 currmove f1g3 currmovenumber 7
info depth 17 currmove h6h5 currmovenumber 8
info depth 17 currmove h6g6 currmovenumber 9
info depth 17 currmove h6g7 currmovenumber 10
info depth 21 seldepth 66 multipv 1 score cp -617 nodes 297308918 nps 32642612 hashfull 4 tbhits 0 time 9108 pv f1d2 b1a2 b4b3 a2a1 h6g5 d6d7 g5f4 d7d8q f4e3 d8e8 e3d3 e8b5 d3c2 b5b4 c2d3 b4c3 d3e2 c3a5 e2d3 a5c7 d3e2 c7h7 e2e3 h7h5 e3d3 h5h3 d3e2 h3e6 e2d1 e6a6 d1c2 a6g6 c2c1 g6c6 c1d1 c6g2 d1c2 g2g3 c2c1 g3f4 c1d1 f4b8 d1e2 b8a8 e2d1 a8a7 d1e2 a7a6 e2d1 a6d3 d1e1 d3f5 e1d1 f5h5 d1c2 h5h4 c2d3 h4g3 d3c2 g3e3 c2d1 e3g1 d1c2 g1d4 c2d1
info depth 22 currmove f1d2 currmovenumber 1
info depth 22 currmove b4b3 currmovenumber 2
info depth 22 currmove f1e3 currmovenumber 3
info depth 22 currmove h6g5 currmovenumber 4
info depth 22 currmove h6h7 currmovenumber 5
info depth 22 currmove f1h2 currmovenumber 6
info depth 22 currmove f1g3 currmovenumber 7
info depth 22 currmove h6h5 currmovenumber 8
info depth 22 currmove h6g6 currmovenumber 9
info depth 22 currmove h6g7 currmovenumber 10
info depth 22 seldepth 60 multipv 1 score cp -626 upperbound nodes 300256401 nps 32636565 hashfull 4 tbhits 0 time 9200 pv f1d2 b1a2
info depth 22 currmove f1d2 currmovenumber 1
info depth 22 currmove b4b3 currmovenumber 2
info depth 22 currmove f1e3 currmovenumber 3
info depth 22 currmove h6g5 currmovenumber 4
info depth 22 currmove h6h7 currmovenumber 5
info depth 22 currmove f1h2 currmovenumber 6
info depth 22 currmove f1g3 currmovenumber 7
info depth 22 currmove h6h5 currmovenumber 8
info depth 22 currmove h6g6 currmovenumber 9
info depth 22 currmove h6g7 currmovenumber 10
info depth 22 seldepth 60 multipv 1 score cp -636 upperbound nodes 300276899 nps 32638793 hashfull 4 tbhits 0 time 9200 pv f1d2 b1a2
info depth 22 currmove f1d2 currmovenumber 1
info depth 22 seldepth 60 multipv 1 score cp -621 lowerbound nodes 300289121 nps 32636574 hashfull 4 tbhits 0 time 9201 pv f1d2
info depth 21 currmove f1d2 currmovenumber 1
info depth 21 currmove b4b3 currmovenumber 2
info depth 21 currmove f1e3 currmovenumber 3
info depth 21 currmove h6g5 currmovenumber 4
info depth 21 currmove h6h7 currmovenumber 5
info depth 21 currmove f1h2 currmovenumber 6
info depth 21 currmove f1g3 currmovenumber 7
info depth 21 currmove h6h5 currmovenumber 8
info depth 21 currmove h6g6 currmovenumber 9
info depth 21 currmove h6g7 currmovenumber 10
info depth 22 seldepth 64 multipv 1 score cp -650 upperbound nodes 310122268 nps 32630710 hashfull 4 tbhits 0 time 9504 pv f1d2 b1a2
info depth 22 currmove f1d2 currmovenumber 1
info depth 22 seldepth 64 multipv 1 score cp -625 lowerbound nodes 310145944 nps 32633201 hashfull 4 tbhits 0 time 9504 pv f1d2
info depth 21 currmove f1d2 currmovenumber 1
info depth 21 currmove b4b3 currmovenumber 2
info depth 21 currmove f1e3 currmovenumber 3
info depth 21 currmove h6g5 currmovenumber 4
info depth 21 currmove h6h7 currmovenumber 5
info depth 21 currmove f1h2 currmovenumber 6
info depth 21 currmove f1g3 currmovenumber 7
info depth 21 currmove h6h5 currmovenumber 8
info depth 21 currmove h6g6 currmovenumber 9
info depth 21 currmove h6g7 currmovenumber 10
info depth 22 seldepth 68 multipv 1 score cp -621 nodes 320267838 nps 32620476 hashfull 4 tbhits 0 time 9818 pv f1d2 b1a2 b4b3 a2a1 h6g5 d6d7 g5f4 d7d8q f4e3 d8e8 e3d3 e8b5 d3c2 b5c5 c2d1 c5c3 d1e2 c3g3 e2d1 g3g2 d1c2 g2h3 c2d1 h3h6 d1c2 h6h8 c2d3 h8h3 d3e2 h3g2 e2d3 g2g3 d3c2 g3e1 c2d3 e1d1 d3e3 d1h5 e3d3 h5f5 d3e2 f5f4 e2d1 f4f7 d1c2 f7e7 c2d3 e7b4 d3c2 b4d4 c2d1 d4d8 d1e2 d8b6 e2d1 b6b7 d1e2 b7a6 e2e1 a6a7 e1e2 a7b7 e2d1 b7a8 d1c2 a8d8 c2d1 d8e8
info depth 23 currmove f1d2 currmovenumber 1
info depth 23 currmove b4b3 currmovenumber 2
info depth 23 currmove f1e3 currmovenumber 3
info depth 23 currmove h6g5 currmovenumber 4
info depth 23 currmove h6h7 currmovenumber 5
info depth 23 currmove f1h2 currmovenumber 6
info depth 23 currmove f1g3 currmovenumber 7
info depth 23 currmove h6h5 currmovenumber 8
info depth 23 currmove h6g6 currmovenumber 9
info depth 23 currmove h6g7 currmovenumber 10
info depth 23 seldepth 60 multipv 1 score cp -630 upperbound nodes 320782094 nps 32623013 hashfull 4 tbhits 0 time 9833 pv f1d2 b1a2
info depth 23 currmove f1d2 currmovenumber 1
info depth 23 seldepth 60 multipv 1 score cp -621 lowerbound nodes 320818789 nps 32623427 hashfull 4 tbhits 0 time 9834 pv f1d2
info depth 22 currmove f1d2 currmovenumber 1
info depth 22 currmove b4b3 currmovenumber 2
info depth 22 currmove f1e3 currmovenumber 3
info depth 22 currmove h6g5 currmovenumber 4
info depth 22 currmove h6h7 currmovenumber 5
info depth 22 currmove f1h2 currmovenumber 6
info depth 22 currmove f1g3 currmovenumber 7
info depth 22 currmove h6h5 currmovenumber 8
info depth 22 currmove h6g6 currmovenumber 9
info depth 22 currmove h6g7 currmovenumber 10
info depth 23 seldepth 60 multipv 1 score cp -639 upperbound nodes 321408430 nps 32620362 hashfull 4 tbhits 0 time 9853 pv f1d2 b1a2
info depth 23 currmove f1d2 currmovenumber 1
info depth 23 seldepth 60 multipv 1 score cp -623 lowerbound nodes 321457691 nps 32622051 hashfull 4 tbhits 0 time 9854 pv f1d2
info depth 22 currmove f1d2 currmovenumber 1
info depth 22 currmove b4b3 currmovenumber 2
info depth 22 currmove h6h7 currmovenumber 3
info depth 22 currmove f1e3 currmovenumber 4
info depth 22 currmove h6g5 currmovenumber 5
info depth 22 currmove f1h2 currmovenumber 6
info depth 22 currmove f1g3 currmovenumber 7
info depth 22 currmove h6h5 currmovenumber 8
info depth 22 currmove h6g6 currmovenumber 9
info depth 22 currmove h6g7 currmovenumber 10
info depth 23 seldepth 60 multipv 1 score cp -659 upperbound nodes 321632482 nps 32619927 hashfull 4 tbhits 0 time 9860 pv f1d2 b1a2
info depth 23 currmove f1d2 currmovenumber 1
info depth 23 seldepth 60 multipv 1 score cp -628 lowerbound nodes 321734792 nps 32620378 hashfull 4 tbhits 0 time 9863 pv f1d2
info depth 22 currmove f1d2 currmovenumber 1
info depth 22 currmove b4b3 currmovenumber 2
info depth 22 currmove h6h7 currmovenumber 3
info depth 22 currmove f1e3 currmovenumber 4
info depth 22 currmove h6g5 currmovenumber 5
info depth 22 currmove f1h2 currmovenumber 6
info depth 22 currmove f1g3 currmovenumber 7
info depth 22 currmove h6h5 currmovenumber 8
info depth 22 currmove h6g6 currmovenumber 9
info depth 22 currmove h6g7 currmovenumber 10
info depth 23 seldepth 71 multipv 1 score cp -621 nodes 1166127778 nps 33054445 hashfull 4 tbhits 0 time 35279 pv f1d2 b1a2 b4b3 a2a1 h6g5 d6d7 g5f4 d7d8q f4e3 d8e8 e3d3 e8b5 d3c2 b5d7 c2d1 d7a4 d1c2 a4d4 c2d1 d4f6 d1e2 f6f5 e2d1 f5h5 d1c2 h5h1 c2d3 h1d5 d3e2 d5b5 e2d1 b5a6 d1c2 a6c8 c2d1 c8a8 d1e2 a8b8 e2d1 b8h2 d1c2 h2g2 c2d1 g2h1 d1c2 h1e1 c2d3 e1e8 d3c2 e8g8 c2d3 g8g5 d3e2 g5g4 e2d3 g4f4 d3e2 f4h2 e2d3 h2c7 d3e2 c7c1 e2d3 c1c3 d3e2 c3h3 e2d1 h3g2 d1c2 g2g7 c2d1
info depth 24 currmove f1d2 currmovenumber 1
info depth 24 currmove b4b3 currmovenumber 2
info depth 24 currmove h6h7 currmovenumber 3
info depth 24 currmove f1e3 currmovenumber 4
info depth 24 currmove h6h5 currmovenumber 5
info depth 24 currmove h6g5 currmovenumber 6
info depth 24 currmove f1h2 currmovenumber 7
info depth 24 currmove f1g3 currmovenumber 8
info depth 24 currmove h6g6 currmovenumber 9
info depth 24 currmove h6g7 currmovenumber 10
info depth 24 seldepth 60 multipv 1 score cp -630 upperbound nodes 1166459774 nps 33054486 hashfull 4 tbhits 0 time 35289 pv f1d2 b1a2
info depth 24 currmove f1d2 currmovenumber 1
info depth 24 seldepth 60 multipv 1 score cp -621 lowerbound nodes 1166525619 nps 33054479 hashfull 4 tbhits 0 time 35291 pv f1d2
info depth 23 currmove f1d2 currmovenumber 1
info depth 23 currmove b4b3 currmovenumber 2
info depth 23 currmove h6h7 currmovenumber 3
info depth 23 currmove h6h5 currmovenumber 4
info depth 23 currmove f1e3 currmovenumber 5
info depth 23 currmove h6g5 currmovenumber 6
info depth 23 currmove f1h2 currmovenumber 7
info depth 23 currmove f1g3 currmovenumber 8
info depth 23 currmove h6g6 currmovenumber 9
info depth 23 currmove h6g7 currmovenumber 10
info depth 24 seldepth 66 multipv 1 score cp -639 upperbound nodes 1173555058 nps 33049510 hashfull 4 tbhits 0 time 35509 pv f1d2 b1a2
info depth 24 currmove f1d2 currmovenumber 1
info depth 24 seldepth 66 multipv 1 score cp -623 lowerbound nodes 1173578573 nps 33049241 hashfull 4 tbhits 0 time 35510 pv f1d2
info depth 23 currmove f1d2 currmovenumber 1
info depth 23 currmove b4b3 currmovenumber 2
info depth 23 currmove h6h7 currmovenumber 3
info depth 23 currmove h6h5 currmovenumber 4
info depth 23 currmove f1e3 currmovenumber 5
info depth 23 currmove h6g5 currmovenumber 6
info depth 23 currmove f1h2 currmovenumber 7
info depth 23 currmove f1g3 currmovenumber 8
info depth 23 currmove h6g6 currmovenumber 9
info depth 23 currmove h6g7 currmovenumber 10
info depth 24 seldepth 68 multipv 1 score cp -659 upperbound nodes 1262944314 nps 33004346 hashfull 4 tbhits 0 time 38266 pv f1d2 b1a2
info depth 24 currmove f1d2 currmovenumber 1
info depth 24 seldepth 68 multipv 1 score cp -628 lowerbound nodes 1262951486 nps 33003671 hashfull 4 tbhits 0 time 38267 pv f1d2
info depth 23 currmove f1d2 currmovenumber 1
info depth 24 seldepth 72 multipv 1 score cp -581 lowerbound nodes 1520494933 nps 32862776 hashfull 4 tbhits 0 time 46268 pv f1d2
info depth 22 currmove f1d2 currmovenumber 1
info depth 24 seldepth 74 multipv 1 score cp -520 lowerbound nodes 2287648686 nps 32615464 hashfull 4 tbhits 0 time 70140 pv f1d2
info depth 21 currmove f1d2 currmovenumber 1
info depth 21 currmove b4b3 currmovenumber 2
info depth 21 currmove h6h5 currmovenumber 3
info depth 21 currmove h6h7 currmovenumber 4
info depth 21 currmove f1e3 currmovenumber 5
info depth 21 currmove h6g5 currmovenumber 6
info depth 21 currmove f1h2 currmovenumber 7
info depth 21 currmove f1g3 currmovenumber 8
info depth 21 currmove h6g6 currmovenumber 9
info depth 21 currmove h6g7 currmovenumber 10
info depth 24 seldepth 74 multipv 1 score cp -454 nodes 4714688221 nps 31896302 hashfull 4 tbhits 0 time 147813 pv f1d2 b1a2 b4b3 a2a1 h6g5 d6d7 g5f4 d7d8q f4e3 d8e8 e3d3 e8a4 d3e2 a4a3 e2d1 a3a6 d1c2 a6a4 c2d1 a4g4 d1c2 g4g7 c2d1 g7c7 d1e2 c7h2 e2d1 h2h5 d1c1 h5g5 c1c2 g5e5 c2d3 e5c3 d3e2 c3c7 e2d3 c7b6 d3e2 b6e6 e2d3 e6h3 d3c2 h3h8 c2d1 h8g7 d1e2 g7g8 e2d3 g8g2 d3c2 g2f2 c2c1 f2b6 c1d1 b6e6 d1c2 e6a6 c2d1 a6d3 d1c1 d3d7 c1d1 d7f5 d1e2 f5h5 e2d3 h5d1 d3e3 d1e1 e3d3 e1f2 d3c2 f2f5 c2d1
info depth 25 currmove f1d2 currmovenumber 1
info depth 25 currmove b4b3 currmovenumber 2
info depth 25 currmove h6h5 currmovenumber 3
info depth 25 currmove h6h7 currmovenumber 4
info depth 25 currmove f1e3 currmovenumber 5
info depth 25 currmove h6g5 currmovenumber 6
info depth 25 currmove f1h2 currmovenumber 7
info depth 25 currmove f1g3 currmovenumber 8
info depth 25 currmove h6g6 currmovenumber 9
info depth 25 currmove h6g7 currmovenumber 10
info depth 25 seldepth 46 multipv 1 score cp -464 upperbound nodes 4714701748 nps 31896178 hashfull 4 tbhits 0 time 147814 pv f1d2 b1a2
info depth 25 currmove f1d2 currmovenumber 1
info depth 25 currmove b4b3 currmovenumber 2
info depth 25 currmove h6h5 currmovenumber 3
info depth 25 currmove f1e3 currmovenumber 4
info depth 25 currmove h6h7 currmovenumber 5
info depth 25 currmove h6g5 currmovenumber 6
info depth 25 currmove f1h2 currmovenumber 7
info depth 25 currmove f1g3 currmovenumber 8
info depth 25 currmove h6g6 currmovenumber 9
info depth 25 currmove h6g7 currmovenumber 10
info depth 25 seldepth 46 multipv 1 score cp -473 upperbound nodes 4714715147 nps 31896269 hashfull 4 tbhits 0 time 147814 pv f1d2 b1a2
info depth 25 currmove f1d2 currmovenumber 1
info depth 25 currmove b4b3 currmovenumber 2
info depth 25 currmove h6h5 currmovenumber 3
info depth 25 currmove f1e3 currmovenumber 4
info depth 25 currmove h6h7 currmovenumber 5
info depth 25 currmove h6g5 currmovenumber 6
info depth 25 currmove f1h2 currmovenumber 7
info depth 25 currmove f1g3 currmovenumber 8
info depth 25 currmove h6g6 currmovenumber 9
info depth 25 currmove h6g7 currmovenumber 10
info depth 25 seldepth 46 multipv 1 score cp -487 upperbound nodes 4714727928 nps 31896139 hashfull 4 tbhits 0 time 147815 pv f1d2 b1a2
info depth 25 currmove f1d2 currmovenumber 1
info depth 25 seldepth 46 multipv 1 score cp -476 lowerbound nodes 4714737436 nps 31896204 hashfull 4 tbhits 0 time 147815 pv f1d2
info depth 24 currmove f1d2 currmovenumber 1
info depth 24 currmove b4b3 currmovenumber 2
info depth 24 currmove h6h5 currmovenumber 3
info depth 24 currmove f1e3 currmovenumber 4
info depth 24 currmove h6h7 currmovenumber 5
info depth 24 currmove h6g5 currmovenumber 6
info depth 24 currmove f1h2 currmovenumber 7
info depth 24 currmove f1g3 currmovenumber 8
info depth 24 currmove h6g6 currmovenumber 9
info depth 24 currmove h6g7 currmovenumber 10
info depth 25 seldepth 54 multipv 1 score cp -507 upperbound nodes 4714809943 nps 31896263 hashfull 4 tbhits 0 time 147817 pv f1d2 b1a2
info depth 25 currmove f1d2 currmovenumber 1
info depth 25 seldepth 54 multipv 1 score cp -478 lowerbound nodes 4714820526 nps 31896119 hashfull 4 tbhits 0 time 147818 pv f1d2
info depth 24 currmove f1d2 currmovenumber 1
info depth 24 currmove b4b3 currmovenumber 2
info depth 24 currmove f1e3 currmovenumber 3
info depth 24 currmove h6h5 currmovenumber 4
info depth 24 currmove h6h7 currmovenumber 5
info depth 24 currmove h6g5 currmovenumber 6
info depth 24 currmove f1h2 currmovenumber 7
info depth 24 currmove f1g3 currmovenumber 8
info depth 24 currmove h6g6 currmovenumber 9
info depth 24 currmove h6g7 currmovenumber 10
info depth 25 seldepth 64 multipv 1 score cp -543 upperbound nodes 4716076889 nps 31896634 hashfull 4 tbhits 0 time 147855 pv f1d2 b1a2
info depth 25 currmove f1d2 currmovenumber 1
info depth 25 seldepth 64 multipv 1 score cp -487 lowerbound nodes 4716130591 nps 31896566 hashfull 4 tbhits 0 time 147857 pv f1d2
info depth 24 currmove f1d2 currmovenumber 1
info depth 24 currmove b4b3 currmovenumber 2
info depth 24 currmove h6h5 currmovenumber 3
info depth 24 currmove f1e3 currmovenumber 4
info depth 24 currmove h6h7 currmovenumber 5
info depth 24 currmove h6g5 currmovenumber 6
info depth 24 currmove f1h2 currmovenumber 7
info depth 24 currmove f1g3 currmovenumber 8
info depth 24 currmove h6g6 currmovenumber 9
info depth 24 currmove h6g7 currmovenumber 10
info depth 25 seldepth 77 multipv 1 score cp -490 nodes 4746677748 nps 31894357 hashfull 5 tbhits 0 time 148825 pv f1d2 b1a2 b4b3 a2a1 h6g5 d6d7 g5f4 d7d8q f4e3 d8e8 e3d3 e8e6 d3c2 e6c8 c2d1 c8c3 d1e2 c3h8 e2d1 h8h5 d1c2 h5c5 c2d1 c5a3 d1c2 a3a4 c2c1 a4b4 c1d1 b4f4 d1c2 f4g3 c2c1 g3g1 c1c2 g1g2 c2d3 g2h3 d3c2 h3h5 c2d3 h5d1 d3e3 d1h1 e3e2 h1h2 e2d3 h2d6 d3e2 d6f8 e2d3 f8f6 d3c2 f6f4 c2d1 f4f7 d1c2 f7b7 c2d1 b7g2 d1c1 g2g3 c1c2 g3g1 c2d3 g1b6 d3e2 b6b5 e2d1 b5d3 d1c1 d3h7 c1d1 h7g6 d1c1 g6b6 c1d1
info depth 26 currmove f1d2 currmovenumber 1
info depth 26 currmove b4b3 currmovenumber 2
info depth 26 currmove h6h5 currmovenumber 3
info depth 26 currmove h6h7 currmovenumber 4
info depth 26 currmove f1e3 currmovenumber 5
info depth 26 currmove h6g5 currmovenumber 6
info depth 26 currmove f1h2 currmovenumber 7
info depth 26 currmove f1g3 currmovenumber 8
info depth 26 currmove h6g6 currmovenumber 9
info depth 26 currmove h6g7 currmovenumber 10
info depth 26 seldepth 56 multipv 1 score cp -499 upperbound nodes 4746874401 nps 31894392 hashfull 5 tbhits 0 time 148831 pv f1d2 b1a2
info depth 26 currmove f1d2 currmovenumber 1
info depth 26 seldepth 56 multipv 1 score cp -490 lowerbound nodes 4746883344 nps 31894238 hashfull 5 tbhits 0 time 148832 pv f1d2
info depth 25 currmove f1d2 currmovenumber 1
info depth 25 currmove b4b3 currmovenumber 2
info depth 25 currmove h6h5 currmovenumber 3
info depth 25 currmove h6h7 currmovenumber 4
info depth 25 currmove f1e3 currmovenumber 5
info depth 25 currmove h6g5 currmovenumber 6
info depth 25 currmove f1h2 currmovenumber 7
info depth 25 currmove f1g3 currmovenumber 8
info depth 25 currmove h6g6 currmovenumber 9
info depth 25 currmove h6g7 currmovenumber 10
info depth 26 seldepth 56 multipv 1 score cp -508 upperbound nodes 4746968360 nps 31894381 hashfull 5 tbhits 0 time 148834 pv f1d2 b1a2
info depth 26 currmove f1d2 currmovenumber 1
info depth 26 seldepth 56 multipv 1 score cp -490 lowerbound nodes 4746989210 nps 31894307 hashfull 5 tbhits 0 time 148835 pv f1d2
info depth 25 currmove f1d2 currmovenumber 1
info depth 26 seldepth 62 multipv 1 score cp -463 lowerbound nodes 4773429236 nps 31903257 hashfull 5 tbhits 0 time 149622 pv f1d2
info depth 24 currmove f1d2 currmovenumber 1
info depth 24 currmove b4b3 currmovenumber 2
info depth 24 currmove h6h5 currmovenumber 3
info depth 24 currmove f1e3 currmovenumber 4
info depth 24 currmove h6h7 currmovenumber 5
info depth 24 currmove h6g5 currmovenumber 6
info depth 24 currmove f1h2 currmovenumber 7
info depth 24 currmove f1g3 currmovenumber 8
info depth 24 currmove h6g6 currmovenumber 9
info depth 24 currmove h6g7 currmovenumber 10
info depth 26 seldepth 78 multipv 1 score cp -528 upperbound nodes 5781452759 nps 31884300 hashfull 5 tbhits 0 time 181326 pv f1d2 b1a2
info depth 26 currmove f1d2 currmovenumber 1
info depth 26 currmove b4b3 currmovenumber 2
info depth 26 currmove h6h5 currmovenumber 3
info depth 26 currmove h6h7 currmovenumber 4
info depth 26 currmove f1e3 currmovenumber 5
info depth 26 currmove h6g6 currmovenumber 6
info depth 26 currmove h6g5 currmovenumber 7
info depth 26 currmove f1h2 currmovenumber 8
info depth 26 currmove f1g3 currmovenumber 9
info depth 26 currmove h6g7 currmovenumber 10
info depth 26 seldepth 78 multipv 1 score cp -575 upperbound nodes 5966038135 nps 31881783 hashfull 5 tbhits 0 time 187130 pv f1d2 b1a2
info depth 26 currmove f1d2 currmovenumber 1
info depth 26 seldepth 78 multipv 1 score cp -509 lowerbound nodes 5966053366 nps 31881694 hashfull 5 tbhits 0 time 187131 pv f1d2
info depth 25 currmove f1d2 currmovenumber 1
info depth 26 seldepth 78 multipv 1 score cp -430 lowerbound nodes 6462953040 nps 31897230 hashfull 5 tbhits 0 time 202618 pv f1d2
info depth 24 currmove f1d2 currmovenumber 1
info depth 26 seldepth 80 multipv 1 score cp -330 lowerbound nodes 12072203498 nps 32098472 hashfull 5 tbhits 0 time 376099 pv f1d2
info depth 23 currmove f1d2 currmovenumber 1
info depth 23 currmove b4b3 currmovenumber 2
info depth 23 currmove h6h5 currmovenumber 3
info depth 23 currmove h6h7 currmovenumber 4
info depth 23 currmove f1e3 currmovenumber 5
info depth 23 currmove h6g6 currmovenumber 6
info depth 23 currmove h6g5 currmovenumber 7
info depth 23 currmove f1h2 currmovenumber 8
info depth 23 currmove f1g3 currmovenumber 9
info depth 23 currmove h6g7 currmovenumber 10
info depth 26 seldepth 80 multipv 1 score cp -270 nodes 12864998570 nps 32053913 hashfull 7 tbhits 0 time 401355 pv f1d2 b1a2 b4b3 a2a1 h6g5 d6d7 g5f4 d7d8q f4e3 d8e8 e3d3 e8e6 d3c2 e6g4 c2d3 g4f4 d3c2 f4c7 c2d1 c7h2 d1c2 h2f4 c2c1 f4f2 c1c2 f2c5 c2d1 c5f5 d1e2 f5e5 e2d3 e5c3 d3e2 c3b4 e2d1 b4a4 d1c2 a4b5 c2c1 b5d3 c1d1 d3h3 d1e2 h3h1 e2d3 h1h7 d3e2 h7e7 e2d1 e7e8 d1c1 e8e1 c1c2 e1e6 c2d1 e6g8 d1e2 g8a8 e2d3 a8a3 d3e2 a3d6 e2e1 d6e5 e1d1 e5h8 d1c2 h8c3 c2d1 c3d3 d1c1 d3h3 c1d1 h3g2 d1c2 g2b7 c2c1 b7a7 c1d1 a7a8
bestmove f1d2 ponder b1a2

@joergoster
Copy link
Contributor

@MichaelB7 The problem is not the position #36, this position just reveals that there is a problem! Removing this position would just hide again the underlying problem ...

@vondele
Copy link
Member

vondele commented Jun 14, 2019

I'm testing a patch that addresses this problem:

STC: http://tests.stockfishchess.org/tests/view/5d02b37a0ebc5925cf09f6da
LTC: http://tests.stockfishchess.org/tests/view/5d0319420ebc5925cf09fe57

The observation is that for these positions that make no progress, the number of extensions is essentially equal to the number of nodes computed. The patch limits the number of extensions relative to the number of nodes computed. This can replace the somewhat artificial restriction on plies.

vondele added a commit to vondele/Stockfish that referenced this issue Jun 18, 2019
Fixes issues official-stockfish#2126 and official-stockfish#2189 where no progress in rootDepth is made for particular fens:

8/8/3P3k/8/1p6/8/1P6/1K3n2 b - - 0 1
8/1r1rp1k1/1b1pPp2/2pP1Pp1/1pP3Pp/pP5P/P5K1/8 w - - 79 46

the cause are the shuffle extensions. Upon closer analysis, it appears that in these cases a shuffle extension is made for every node searched, and progess can not be made. This patch implements a fix, namely to limit the number of extensions relative to the number of nodes searched. The ratio employed is 1/4, which fixes the issues seen so far, but it is a heuristic, and I expect that certain positions might require an even smaller fraction.

The patch was tested as a bug fix and passed:

STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 56601 W: 12633 L: 12581 D: 31387
http://tests.stockfishchess.org/tests/view/5d02b37a0ebc5925cf09f6da

LTC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 52042 W: 8907 L: 8837 D: 34298
http://tests.stockfishchess.org/tests/view/5d0319420ebc5925cf09fe57

Furthermore, to confirm that the shuffle extension in this form indeed still brings Elo, one more test at VLTC was performed:
VLTC:
LLR: 2.96 (-2.94,2.94) [0.00,3.50]
Total: 142022 W: 20963 L: 20435 D: 100624
http://tests.stockfishchess.org/tests/view/5d03630d0ebc5925cf0a011a

Bench: 3961247
snicolet pushed a commit that referenced this issue Jun 20, 2019
Fixes issues #2126 and #2189 where no progress in rootDepth is made for particular fens:

8/8/3P3k/8/1p6/8/1P6/1K3n2 b - - 0 1
8/1r1rp1k1/1b1pPp2/2pP1Pp1/1pP3Pp/pP5P/P5K1/8 w - - 79 46

the cause are the shuffle extensions. Upon closer analysis, it appears that in these cases a shuffle extension is made for every node searched, and progess can not be made. This patch implements a fix, namely to limit the number of extensions relative to the number of nodes searched. The ratio employed is 1/4, which fixes the issues seen so far, but it is a heuristic, and I expect that certain positions might require an even smaller fraction.

The patch was tested as a bug fix and passed:

STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 56601 W: 12633 L: 12581 D: 31387
http://tests.stockfishchess.org/tests/view/5d02b37a0ebc5925cf09f6da

LTC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 52042 W: 8907 L: 8837 D: 34298
http://tests.stockfishchess.org/tests/view/5d0319420ebc5925cf09fe57

Furthermore, to confirm that the shuffle extension in this form indeed still brings Elo, one more test at VLTC was performed:
VLTC:
LLR: 2.96 (-2.94,2.94) [0.00,3.50]
Total: 142022 W: 20963 L: 20435 D: 100624
http://tests.stockfishchess.org/tests/view/5d03630d0ebc5925cf0a011a

Bench: 3961247
mstembera pushed a commit to mstembera/Stockfish that referenced this issue Jun 27, 2019
Fixes issues official-stockfish#2126 and official-stockfish#2189 where no progress in rootDepth is made for particular fens:

8/8/3P3k/8/1p6/8/1P6/1K3n2 b - - 0 1
8/1r1rp1k1/1b1pPp2/2pP1Pp1/1pP3Pp/pP5P/P5K1/8 w - - 79 46

the cause are the shuffle extensions. Upon closer analysis, it appears that in these cases a shuffle extension is made for every node searched, and progess can not be made. This patch implements a fix, namely to limit the number of extensions relative to the number of nodes searched. The ratio employed is 1/4, which fixes the issues seen so far, but it is a heuristic, and I expect that certain positions might require an even smaller fraction.

The patch was tested as a bug fix and passed:

STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 56601 W: 12633 L: 12581 D: 31387
http://tests.stockfishchess.org/tests/view/5d02b37a0ebc5925cf09f6da

LTC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 52042 W: 8907 L: 8837 D: 34298
http://tests.stockfishchess.org/tests/view/5d0319420ebc5925cf09fe57

Furthermore, to confirm that the shuffle extension in this form indeed still brings Elo, one more test at VLTC was performed:
VLTC:
LLR: 2.96 (-2.94,2.94) [0.00,3.50]
Total: 142022 W: 20963 L: 20435 D: 100624
http://tests.stockfishchess.org/tests/view/5d03630d0ebc5925cf0a011a

Bench: 3961247
mstembera pushed a commit to mstembera/Stockfish that referenced this issue Jun 27, 2019
Fixes issues official-stockfish#2126 and official-stockfish#2189 where no progress in rootDepth is made for particular fens:

8/8/3P3k/8/1p6/8/1P6/1K3n2 b - - 0 1
8/1r1rp1k1/1b1pPp2/2pP1Pp1/1pP3Pp/pP5P/P5K1/8 w - - 79 46

the cause are the shuffle extensions. Upon closer analysis, it appears that in these cases a shuffle extension is made for every node searched, and progess can not be made. This patch implements a fix, namely to limit the number of extensions relative to the number of nodes searched. The ratio employed is 1/4, which fixes the issues seen so far, but it is a heuristic, and I expect that certain positions might require an even smaller fraction.

The patch was tested as a bug fix and passed:

STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 56601 W: 12633 L: 12581 D: 31387
http://tests.stockfishchess.org/tests/view/5d02b37a0ebc5925cf09f6da

LTC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 52042 W: 8907 L: 8837 D: 34298
http://tests.stockfishchess.org/tests/view/5d0319420ebc5925cf09fe57

Furthermore, to confirm that the shuffle extension in this form indeed still brings Elo, one more test at VLTC was performed:
VLTC:
LLR: 2.96 (-2.94,2.94) [0.00,3.50]
Total: 142022 W: 20963 L: 20435 D: 100624
http://tests.stockfishchess.org/tests/view/5d03630d0ebc5925cf0a011a

Bench: 3961247
mstembera pushed a commit to mstembera/Stockfish that referenced this issue Jul 31, 2019
Fixes issues official-stockfish#2126 and official-stockfish#2189 where no progress in rootDepth is made for particular fens:

8/8/3P3k/8/1p6/8/1P6/1K3n2 b - - 0 1
8/1r1rp1k1/1b1pPp2/2pP1Pp1/1pP3Pp/pP5P/P5K1/8 w - - 79 46

the cause are the shuffle extensions. Upon closer analysis, it appears that in these cases a shuffle extension is made for every node searched, and progess can not be made. This patch implements a fix, namely to limit the number of extensions relative to the number of nodes searched. The ratio employed is 1/4, which fixes the issues seen so far, but it is a heuristic, and I expect that certain positions might require an even smaller fraction.

The patch was tested as a bug fix and passed:

STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 56601 W: 12633 L: 12581 D: 31387
http://tests.stockfishchess.org/tests/view/5d02b37a0ebc5925cf09f6da

LTC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 52042 W: 8907 L: 8837 D: 34298
http://tests.stockfishchess.org/tests/view/5d0319420ebc5925cf09fe57

Furthermore, to confirm that the shuffle extension in this form indeed still brings Elo, one more test at VLTC was performed:
VLTC:
LLR: 2.96 (-2.94,2.94) [0.00,3.50]
Total: 142022 W: 20963 L: 20435 D: 100624
http://tests.stockfishchess.org/tests/view/5d03630d0ebc5925cf0a011a

Bench: 3961247
mstembera pushed a commit to mstembera/Stockfish that referenced this issue Aug 1, 2019
Fixes issues official-stockfish#2126 and official-stockfish#2189 where no progress in rootDepth is made for particular fens:

8/8/3P3k/8/1p6/8/1P6/1K3n2 b - - 0 1
8/1r1rp1k1/1b1pPp2/2pP1Pp1/1pP3Pp/pP5P/P5K1/8 w - - 79 46

the cause are the shuffle extensions. Upon closer analysis, it appears that in these cases a shuffle extension is made for every node searched, and progess can not be made. This patch implements a fix, namely to limit the number of extensions relative to the number of nodes searched. The ratio employed is 1/4, which fixes the issues seen so far, but it is a heuristic, and I expect that certain positions might require an even smaller fraction.

The patch was tested as a bug fix and passed:

STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 56601 W: 12633 L: 12581 D: 31387
http://tests.stockfishchess.org/tests/view/5d02b37a0ebc5925cf09f6da

LTC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 52042 W: 8907 L: 8837 D: 34298
http://tests.stockfishchess.org/tests/view/5d0319420ebc5925cf09fe57

Furthermore, to confirm that the shuffle extension in this form indeed still brings Elo, one more test at VLTC was performed:
VLTC:
LLR: 2.96 (-2.94,2.94) [0.00,3.50]
Total: 142022 W: 20963 L: 20435 D: 100624
http://tests.stockfishchess.org/tests/view/5d03630d0ebc5925cf0a011a

Bench: 3961247
mstembera pushed a commit to mstembera/Stockfish that referenced this issue Aug 29, 2019
Fixes issues official-stockfish#2126 and official-stockfish#2189 where no progress in rootDepth is made for particular fens:

8/8/3P3k/8/1p6/8/1P6/1K3n2 b - - 0 1
8/1r1rp1k1/1b1pPp2/2pP1Pp1/1pP3Pp/pP5P/P5K1/8 w - - 79 46

the cause are the shuffle extensions. Upon closer analysis, it appears that in these cases a shuffle extension is made for every node searched, and progess can not be made. This patch implements a fix, namely to limit the number of extensions relative to the number of nodes searched. The ratio employed is 1/4, which fixes the issues seen so far, but it is a heuristic, and I expect that certain positions might require an even smaller fraction.

The patch was tested as a bug fix and passed:

STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 56601 W: 12633 L: 12581 D: 31387
http://tests.stockfishchess.org/tests/view/5d02b37a0ebc5925cf09f6da

LTC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 52042 W: 8907 L: 8837 D: 34298
http://tests.stockfishchess.org/tests/view/5d0319420ebc5925cf09fe57

Furthermore, to confirm that the shuffle extension in this form indeed still brings Elo, one more test at VLTC was performed:
VLTC:
LLR: 2.96 (-2.94,2.94) [0.00,3.50]
Total: 142022 W: 20963 L: 20435 D: 100624
http://tests.stockfishchess.org/tests/view/5d03630d0ebc5925cf0a011a

Bench: 3961247
pb00068 pushed a commit to pb00068/Stockfish that referenced this issue Sep 10, 2019
Fixes issues official-stockfish#2126 and official-stockfish#2189 where no progress in rootDepth is made for particular fens:

8/8/3P3k/8/1p6/8/1P6/1K3n2 b - - 0 1
8/1r1rp1k1/1b1pPp2/2pP1Pp1/1pP3Pp/pP5P/P5K1/8 w - - 79 46

the cause are the shuffle extensions. Upon closer analysis, it appears that in these cases a shuffle extension is made for every node searched, and progess can not be made. This patch implements a fix, namely to limit the number of extensions relative to the number of nodes searched. The ratio employed is 1/4, which fixes the issues seen so far, but it is a heuristic, and I expect that certain positions might require an even smaller fraction.

The patch was tested as a bug fix and passed:

STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 56601 W: 12633 L: 12581 D: 31387
http://tests.stockfishchess.org/tests/view/5d02b37a0ebc5925cf09f6da

LTC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 52042 W: 8907 L: 8837 D: 34298
http://tests.stockfishchess.org/tests/view/5d0319420ebc5925cf09fe57

Furthermore, to confirm that the shuffle extension in this form indeed still brings Elo, one more test at VLTC was performed:
VLTC:
LLR: 2.96 (-2.94,2.94) [0.00,3.50]
Total: 142022 W: 20963 L: 20435 D: 100624
http://tests.stockfishchess.org/tests/view/5d03630d0ebc5925cf0a011a

Bench: 3961247
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests