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

Purposely repeating moves #4029

Open
dav1312 opened this issue May 21, 2022 · 28 comments
Open

Purposely repeating moves #4029

dav1312 opened this issue May 21, 2022 · 28 comments

Comments

@dav1312
Copy link
Contributor

dav1312 commented May 21, 2022

I was looking at Navs stream (https://www.twitch.tv/videos/1488780810?t=18h26m47s) and I saw Stockfish doing some very very weird things.
It did 7 useless moves to just take a pawn that it could've taken in 1, wasting a lot of time in the process.
So I decided to check with homefish and see what it would do and the results were even more weird.
Stockfish wanted to purposely repeat moves for absolutely no reason.
Repeating the same position throughout the game is not an issue, but wanting to repeat moves when you have a clear advantage and when it's just making you waste time makes no sense.

Stockfish 22b7909

Stockfish 150522 by the Stockfish developers (see AUTHORS file)
uci
id name Stockfish 150522
id author the Stockfish developers (see AUTHORS file)

option name Debug Log File type string default
option name Threads type spin default 1 min 1 max 512
option name Hash type spin default 16 min 1 max 33554432
option name Clear Hash type button
option name Ponder type check default false
option name MultiPV type spin default 1 min 1 max 500
option name Skill Level type spin default 20 min 0 max 20
option name Move Overhead type spin default 10 min 0 max 5000
option name Slow Mover type spin default 100 min 10 max 1000
option name nodestime type spin default 0 min 0 max 10000
option name UCI_Chess960 type check default false
option name UCI_AnalyseMode type check default false
option name UCI_LimitStrength type check default false
option name UCI_Elo type spin default 1350 min 1350 max 2850
option name UCI_ShowWDL type check default false
option name SyzygyPath type string default <empty>
option name SyzygyProbeDepth type spin default 1 min 1 max 100
option name Syzygy50MoveRule type check default true
option name SyzygyProbeLimit type spin default 7 min 0 max 7
option name Use NNUE type check default true
option name EvalFile type string default nn-3c0aa92af1da.nnue
uciok
setoption name Hash value 128
ucinewgame
position fen rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1 moves d2d4 g8f6 c2c4 g7g6 b1c3 f8g7 e2e4 d7d6 f2f3 e8g8 c1g5 b8c6 g1e2 a7a6 d1d2 f8e8 h2h4 h7h5 e1c1 a8b8 g2g4 h5g4 h4h5 f6h5 c3d5 f7f6 g5h6 g4f3 e2g3 h5g3 h6g7 g6g5 d2h2 g3h1 h2h8 g8f7 h8h7 e8g8 g7h6 f7e6 h7f5 e6f7 f5h7 f7e6 d5f4 e6d7 f1h3 g5g4 h7f5 d7e8 f5h5 e8d7 h3g4 g8g4 h5g4 d7e8
d

 +---+---+---+---+---+---+---+---+
 |   | r | b | q | k |   |   |   | 8
 +---+---+---+---+---+---+---+---+
 |   | p | p |   | p |   |   |   | 7
 +---+---+---+---+---+---+---+---+
 | p |   | n | p |   | p |   | B | 6
 +---+---+---+---+---+---+---+---+
 |   |   |   |   |   |   |   |   | 5
 +---+---+---+---+---+---+---+---+
 |   |   | P | P | P | N | Q |   | 4
 +---+---+---+---+---+---+---+---+
 |   |   |   |   |   | p |   |   | 3
 +---+---+---+---+---+---+---+---+
 | P | P |   |   |   |   |   |   | 2
 +---+---+---+---+---+---+---+---+
 |   |   | K | R |   |   |   | n | 1
 +---+---+---+---+---+---+---+---+
   a   b   c   d   e   f   g   h

Fen: 1rbqk3/1pp1p3/p1np1p1B/8/2PPPNQ1/5p2/PP6/2KR3n w - - 1 29
Key: D1C84C7B7836A670
Checkers:

image

In this position black is basically forced to go back and forth with the king from d7 to e8 waiting for white to do something and this is what Stockfish wants to do:

go depth 30
info string NNUE evaluation using nn-3c0aa92af1da.nnue enabled
info depth 1 seldepth 1 multipv 1 score cp 285 nodes 57 nps 57000 tbhits 0 time 1 pv g4g8 e8d7
info depth 2 seldepth 2 multipv 1 score cp 353 nodes 114 nps 114000 tbhits 0 time 1 pv g4f3 e8d7
info depth 3 seldepth 3 multipv 1 score cp 398 nodes 221 nps 110500 tbhits 0 time 2 pv g4g8 e8d7 g8g4 f6f5 g4f5 d7e8
info depth 4 seldepth 4 multipv 1 score cp 398 nodes 281 nps 140500 tbhits 0 time 2 pv g4g8 e8d7 g8g4 f6f5
info depth 5 seldepth 5 multipv 1 score cp 515 nodes 629 nps 314500 tbhits 0 time 2 pv g4f3 e7e5 f4d5 c6d4
info depth 6 seldepth 6 multipv 1 score cp 475 nodes 788 nps 394000 tbhits 0 time 2 pv g4f3 e8d7 f3g4 d7e8 g4g8 e8d7
info depth 7 seldepth 9 multipv 1 score cp 521 nodes 2756 nps 551200 tbhits 0 time 5 pv g4f3 e8d7 f3h3 d7e8 h3h1 c8g4
info depth 8 seldepth 8 multipv 1 score cp 318 nodes 4474 nps 745666 tbhits 0 time 6 pv g4f3 c6d4 d1d4 e7e5 d4d1 e5f4 d1g1 e8d7
info depth 9 seldepth 13 multipv 1 score cp 293 nodes 10981 nps 915083 tbhits 0 time 12 pv g4f3 c6d4 d1d4 e8d7 e4e5 f6e5 f3h3 d7e8 h3h5 e8d7
info depth 10 seldepth 15 multipv 1 score cp 205 nodes 27601 nps 951758 tbhits 0 time 29 pv g4g8 e8d7 g8g4 d7e8 g4h5 e8d7 h5h3 d7e8 h3h1 c8g4 d1g1 e8d7 g1g4 d8h8 f4g6
info depth 11 seldepth 21 multipv 1 score cp 285 nodes 46525 nps 949489 tbhits 0 time 49 pv g4g8 e8d7 g8g4 d7e8 g4h5 e8d7
info depth 12 seldepth 23 multipv 1 score cp 250 nodes 77687 nps 959098 tbhits 0 time 81 pv g4g8 e8d7 g8g4 d7e8 g4h5 e8d7 h5h3 d7e8 h3f3 h1f2 f3f2 e8d7 d1g1 b7b5 g1g7 b5c4 d4d5 c6e5 f2h4 d8f8 f4g6 e5g6 h4g4 d7d8
info depth 13 seldepth 25 multipv 1 score cp 254 nodes 127310 nps 915899 tbhits 0 time 139 pv g4g6 e8d7 g6f5 d7e8 f5h5 e8d7 h5h3 d7e8 h3f3 h1f2 f3f2 e8d7 d1g1 b7b5 g1g7 b5c4 f4d5
info depth 14 seldepth 28 multipv 1 score cp 257 nodes 227464 nps 899067 tbhits 0 time 253 pv g4g8 e8d7 g8g4 d7e8 g4f3 h1f2 f3f2 c8g4 d1g1 d8d7 h6g7 c6b4 a2a3 e7e5 d4e5 d7g7
info depth 15 seldepth 30 multipv 1 score cp 277 nodes 485694 nps 921620 tbhits 0 time 527 pv g4g8 e8d7 g8g4 d7e8 g4f3 h1f2 f3f2 e8d7 d1g1 b7b5 g1g7 b5c4 f2g3 d8e8 f4d5 c6d4 g3g2 e8h8 h6e3 d4e6 d5f6 d7c6
info depth 16 seldepth 34 multipv 1 score cp 284 nodes 869395 nps 973566 tbhits 0 time 893 pv g4f3 c6d4 d1d4 e7e5 f4d5 e5d4 d5f6 e8e7 f3h1 d8h8 h1h4 c8g4 h6f8 b8f8 f6g8 e7f7 h4h8 f8g8 h8d4 g4e6 d4a7 e6c4
info depth 17 seldepth 33 multipv 1 score cp 306 nodes 979428 nps 977473 hashfull 41 tbhits 0 time 1002 pv g4g6 e8d7 g6g4 d7e8 g4h5 e8d7 h5h3 d7e8 h3f3 h1f2 f3f2 c8g4 d1g1 d8d7 f4d5 e8f7 d5e3 b8g8 f2g2 f7e8 e3g4 e8d8 h6e3 c6b4 a2a3 b4d3 c1c2 f6f5 c2d3 g8g4 g2h2 g4g1 h2g1
info depth 18 seldepth 36 multipv 1 score cp 293 nodes 1210378 nps 963676 hashfull 50 tbhits 0 time 1256 pv g4g6 e8d7 g6g4 d7e8 g4f3 c6d4 d1d4 e7e5 f4d5 e5d4 d5f6 e8e7 f3h1 d8h8 h1h4 c8g4 h6f8 b8f8 f6g8 e7f7 h4h8 f8g8 h8d4 g4e6 d4a7 e6c4 a7b7 c4a2 b2b3 g8g1 c1b2 g1g2 b2a1 a2b3 b7b3 f7e8
info depth 19 seldepth 43 multipv 1 score cp 256 nodes 2035053 nps 951848 hashfull 80 tbhits 0 time 2138 pv g4f3 h1f2 f3f2 c8g4 d1g1 d8d7 f4d5 e8d8 f2h4 g4e6 g1g7 c6d4 h6e3 e6d5 e4d5 c7c5 d5c6 d4e2 c1d2 b7c6 b2b3 d7e6 d2e2 d8d7 h4h5 e6e4 h5h7 e4h7 g7h7 b8g8 a2a4
info depth 20 seldepth 41 multipv 1 score cp 265 nodes 2237302 nps 944806 hashfull 90 tbhits 0 time 2368 pv g4g6 e8d7 g6g4 d7e8 g4f3 h1f2 f3f2 c8g4 d1g1 d8d7 f4d5 e8d8 f2h4 g4e6 g1g7 c6d4 h6e3 e6d5 e4d5 c7c5 d5c6 d4e2 c1d2 b7c6 b2b3 d7e6 d2e2 d8d7 h4h7 c6c5 e2d3 b8e8
info depth 21 seldepth 42 multipv 1 score cp 244 lowerbound nodes 2865341 nps 937304 hashfull 118 tbhits 0 time 3057 pv g4g6
info depth 20 currmove g4g6 currmovenumber 1
info depth 21 seldepth 42 multipv 1 score cp 269 lowerbound nodes 2957234 nps 935537 hashfull 123 tbhits 0 time 3161 pv g4g6
info depth 19 currmove g4g6 currmovenumber 1
info depth 19 currmove g4f3 currmovenumber 2
info depth 19 currmove d1h1 currmovenumber 3
info depth 19 currmove g4g8 currmovenumber 4
info depth 19 currmove g4g7 currmovenumber 5
info depth 19 currmove g4h5 currmovenumber 6
info depth 19 currmove g4g1 currmovenumber 7
info depth 19 currmove g4h4 currmovenumber 8
info depth 19 currmove g4h3 currmovenumber 9
info depth 19 currmove g4f5 currmovenumber 10
info depth 19 currmove g4g3 currmovenumber 11
info depth 19 currmove g4d7 currmovenumber 12
info depth 19 currmove g4e6 currmovenumber 13
info depth 19 currmove f4e6 currmovenumber 14
info depth 19 currmove d1g1 currmovenumber 15
info depth 19 currmove f4d5 currmovenumber 16
info depth 19 currmove c1b1 currmovenumber 17
info depth 19 currmove f4h5 currmovenumber 18
info depth 19 currmove h6g7 currmovenumber 19
info depth 19 currmove a2a3 currmovenumber 20
info depth 19 currmove e4e5 currmovenumber 21
info depth 19 currmove d4d5 currmovenumber 22
info depth 19 currmove c4c5 currmovenumber 23
info depth 19 currmove b2b3 currmovenumber 24
info depth 19 currmove h6g5 currmovenumber 25
info depth 19 currmove b2b4 currmovenumber 26
info depth 19 currmove a2a4 currmovenumber 27
info depth 19 currmove g4g2 currmovenumber 28
info depth 19 currmove f4d3 currmovenumber 29
info depth 19 currmove d1f1 currmovenumber 30
info depth 19 currmove g4g5 currmovenumber 31
info depth 19 currmove h6f8 currmovenumber 32
info depth 19 currmove d1e1 currmovenumber 33
info depth 19 currmove c1d2 currmovenumber 34
info depth 19 currmove c1c2 currmovenumber 35
info depth 19 currmove d1d3 currmovenumber 36
info depth 19 currmove f4g6 currmovenumber 37
info depth 19 currmove d1d2 currmovenumber 38
info depth 19 currmove f4e2 currmovenumber 39
info depth 19 currmove f4g2 currmovenumber 40
info depth 19 currmove f4h3 currmovenumber 41
info depth 19 currmove g4c8 currmovenumber 42
info depth 21 seldepth 42 multipv 1 score cp 271 nodes 3004964 nps 918949 hashfull 126 tbhits 0 time 3270 pv g4g6 e8d7 g6g4 d7e8 g4f3 h1f2 f3f2 c8g4 d1g1 d8d7 h6g7 c6b4 a2a3 e7e5 d4e5 f6e5 a3b4 e5f4 g7c3 f4f3 f2h4 f3f2 h4h8 e8e7 h8f6 e7e8 f6f2 g4e6 f2h4 d7f7 c3f6
info depth 22 currmove g4g6 currmovenumber 1
info depth 22 seldepth 36 multipv 1 score cp 282 lowerbound nodes 3329207 nps 905167 hashfull 145 tbhits 0 time 3678 pv g4g6
info depth 21 currmove g4g6 currmovenumber 1
info depth 21 currmove g4f3 currmovenumber 2
info depth 22 seldepth 46 multipv 1 score cp 298 lowerbound nodes 3884934 nps 898874 hashfull 172 tbhits 0 time 4322 pv g4f3
info depth 20 currmove g4f3 currmovenumber 1
info depth 20 currmove d1h1 currmovenumber 2
info depth 20 currmove g4g6 currmovenumber 3
info depth 20 currmove g4g8 currmovenumber 4
info depth 20 currmove g4g7 currmovenumber 5
info depth 20 currmove g4h5 currmovenumber 6
info depth 20 currmove g4g1 currmovenumber 7
info depth 20 currmove g4h3 currmovenumber 8
info depth 20 currmove g4h4 currmovenumber 9
info depth 20 currmove g4g3 currmovenumber 10
info depth 20 currmove g4f5 currmovenumber 11
info depth 20 currmove g4e6 currmovenumber 12
info depth 20 currmove g4d7 currmovenumber 13
info depth 20 currmove d1g1 currmovenumber 14
info depth 20 currmove d4d5 currmovenumber 15
info depth 20 currmove f4e6 currmovenumber 16
info depth 20 currmove f4d5 currmovenumber 17
info depth 20 currmove e4e5 currmovenumber 18
info depth 20 currmove h6g7 currmovenumber 19
info depth 20 currmove d1e1 currmovenumber 20
info depth 20 currmove g4g5 currmovenumber 21
info depth 20 currmove h6f8 currmovenumber 22
info depth 20 currmove d1d2 currmovenumber 23
info depth 20 currmove f4g6 currmovenumber 24
info depth 20 currmove a2a3 currmovenumber 25
info depth 20 currmove c1d2 currmovenumber 26
info depth 20 currmove b2b3 currmovenumber 27
info depth 20 currmove c4c5 currmovenumber 28
info depth 20 currmove g4g2 currmovenumber 29
info depth 20 currmove c1c2 currmovenumber 30
info depth 20 currmove b2b4 currmovenumber 31
info depth 20 currmove h6g5 currmovenumber 32
info depth 20 currmove c1b1 currmovenumber 33
info depth 20 currmove d1d3 currmovenumber 34
info depth 20 currmove f4e2 currmovenumber 35
info depth 20 currmove a2a4 currmovenumber 36
info depth 20 currmove f4g2 currmovenumber 37
info depth 20 currmove f4d3 currmovenumber 38
info depth 20 currmove f4h3 currmovenumber 39
info depth 20 currmove f4h5 currmovenumber 40
info depth 20 currmove d1f1 currmovenumber 41
info depth 20 currmove g4c8 currmovenumber 42
info depth 22 seldepth 46 multipv 1 score cp 290 nodes 3978564 nps 885502 hashfull 174 tbhits 0 time 4493 pv g4f3 h1f2 f3f2 c8g4 d1g1 d8d7 h6g7 e8d8 f2h4 d8c8 g1g4 b7b6 f4e2 c8b7 c1d2 b8g8 g4g3 d7e8 h4h7 c6b4 a2a3 b4c6 h7f5 e8f7 f5g6 f7g6 g3g6 e7e5 g6g3 c6d4 e2d4 e5d4 b2b3
info depth 23 currmove g4f3 currmovenumber 1
info depth 23 currmove d1h1 currmovenumber 2
info depth 23 currmove g4g6 currmovenumber 3
info depth 23 currmove g4g8 currmovenumber 4
info depth 23 currmove g4h5 currmovenumber 5
info depth 23 currmove g4g1 currmovenumber 6
info depth 23 currmove g4g7 currmovenumber 7
info depth 23 currmove g4h4 currmovenumber 8
info depth 23 currmove g4h3 currmovenumber 9
info depth 23 currmove g4g3 currmovenumber 10
info depth 23 currmove g4d7 currmovenumber 11
info depth 23 currmove g4f5 currmovenumber 12
info depth 23 currmove g4e6 currmovenumber 13
info depth 23 currmove d1g1 currmovenumber 14
info depth 23 currmove h6g5 currmovenumber 15
info depth 23 currmove e4e5 currmovenumber 16
info depth 23 currmove h6g7 currmovenumber 17
info depth 23 currmove f4d5 currmovenumber 18
info depth 23 currmove f4e6 currmovenumber 19
info depth 23 currmove c1b1 currmovenumber 20
info depth 23 currmove a2a3 currmovenumber 21
info depth 23 currmove b2b4 currmovenumber 22
info depth 23 currmove d4d5 currmovenumber 23
info depth 23 currmove c4c5 currmovenumber 24
info depth 23 currmove a2a4 currmovenumber 25
info depth 23 currmove f4g6 currmovenumber 26
info depth 23 currmove b2b3 currmovenumber 27
info depth 23 currmove h6f8 currmovenumber 28
info depth 23 currmove c1c2 currmovenumber 29
info depth 23 currmove c1d2 currmovenumber 30
info depth 23 currmove f4e2 currmovenumber 31
info depth 23 currmove g4g5 currmovenumber 32
info depth 23 currmove f4d3 currmovenumber 33
info depth 23 currmove f4h5 currmovenumber 34
info depth 23 currmove f4h3 currmovenumber 35
info depth 23 currmove f4g2 currmovenumber 36
info depth 23 currmove d1e1 currmovenumber 37
info depth 23 currmove d1f1 currmovenumber 38
info depth 23 currmove d1d3 currmovenumber 39
info depth 23 currmove g4g2 currmovenumber 40
info depth 23 currmove d1d2 currmovenumber 41
info depth 23 currmove g4c8 currmovenumber 42
info depth 23 seldepth 36 multipv 1 score cp 272 upperbound nodes 4116735 nps 874970 hashfull 179 tbhits 0 time 4705 pv g4f3 h1f2
info depth 23 currmove g4f3 currmovenumber 1
info depth 23 currmove d1h1 currmovenumber 2
info depth 23 currmove g4g6 currmovenumber 3
info depth 23 currmove g4g8 currmovenumber 4
info depth 23 currmove g4h5 currmovenumber 5
info depth 23 currmove g4g7 currmovenumber 6
info depth 23 currmove g4h4 currmovenumber 7
info depth 23 currmove g4g1 currmovenumber 8
info depth 23 currmove g4h3 currmovenumber 9
info depth 23 currmove g4f5 currmovenumber 10
info depth 23 currmove g4d7 currmovenumber 11
info depth 23 currmove g4e6 currmovenumber 12
info depth 23 currmove g4g3 currmovenumber 13
info depth 23 currmove g4g5 currmovenumber 14
info depth 23 currmove f4g6 currmovenumber 15
info depth 23 currmove g4g2 currmovenumber 16
info depth 23 currmove d1g1 currmovenumber 17
info depth 23 currmove f4e6 currmovenumber 18
info depth 23 currmove d4d5 currmovenumber 19
info depth 23 currmove e4e5 currmovenumber 20
info depth 23 currmove f4d5 currmovenumber 21
info depth 23 currmove h6f8 currmovenumber 22
info depth 23 currmove d1d2 currmovenumber 23
info depth 23 currmove h6g7 currmovenumber 24
info depth 23 currmove c1c2 currmovenumber 25
info depth 23 currmove f4e2 currmovenumber 26
info depth 23 currmove c4c5 currmovenumber 27
info depth 23 currmove a2a4 currmovenumber 28
info depth 23 currmove d1f1 currmovenumber 29
info depth 23 currmove h6g5 currmovenumber 30
info depth 23 currmove c1b1 currmovenumber 31
info depth 23 currmove f4d3 currmovenumber 32
info depth 23 currmove b2b3 currmovenumber 33
info depth 23 currmove f4h5 currmovenumber 34
info depth 23 currmove d1e1 currmovenumber 35
info depth 23 currmove c1d2 currmovenumber 36
info depth 23 currmove d1d3 currmovenumber 37
info depth 23 currmove a2a3 currmovenumber 38
info depth 23 currmove b2b4 currmovenumber 39
info depth 23 currmove f4g2 currmovenumber 40
info depth 23 currmove f4h3 currmovenumber 41
info depth 23 currmove g4c8 currmovenumber 42
info depth 23 seldepth 40 multipv 1 score cp 273 nodes 4428409 nps 862733 hashfull 197 tbhits 0 time 5133 pv g4g6 e8d7 g6f5 d7e8 f5h5 e8d7 h5h3 d7e8 h3f3 h1f2 f3f2 c8g4 d1g1 d8d7 h6g7 e8d8 f2h4 d8c8 g1g4 b7b5 d4d5 c6e5 g4g3 b5c4 h4h3 c8b7 h3d7 e5d7 b2b3 b8g8 b3c4 d7c5 f4e6 b7b6 e6d4 c5e4 g3e3 g8g7 e3e4
info depth 24 currmove g4g6 currmovenumber 1
info depth 24 seldepth 40 multipv 1 score cp 286 lowerbound nodes 4671860 nps 863400 hashfull 208 tbhits 0 time 5411 pv g4g6
info depth 23 currmove g4g6 currmovenumber 1
info depth 24 seldepth 40 multipv 1 score cp 301 lowerbound nodes 4932073 nps 863307 hashfull 218 tbhits 0 time 5713 pv g4g6
info depth 22 currmove g4g6 currmovenumber 1
info depth 24 seldepth 40 multipv 1 score cp 321 lowerbound nodes 5226026 nps 862665 hashfull 229 tbhits 0 time 6058 pv g4g6
info depth 21 currmove g4g6 currmovenumber 1
info depth 21 currmove g4f3 currmovenumber 2
info depth 21 currmove d1h1 currmovenumber 3
info depth 21 currmove g4g8 currmovenumber 4
info depth 21 currmove g4g7 currmovenumber 5
info depth 21 currmove g4h5 currmovenumber 6
info depth 21 currmove g4h4 currmovenumber 7
info depth 21 currmove g4h3 currmovenumber 8
info depth 21 currmove g4g1 currmovenumber 9
info depth 21 currmove g4f5 currmovenumber 10
info depth 21 currmove g4d7 currmovenumber 11
info depth 21 currmove g4e6 currmovenumber 12
info depth 21 currmove g4g3 currmovenumber 13
info depth 21 currmove e4e5 currmovenumber 14
info depth 21 currmove f4h5 currmovenumber 15
info depth 21 currmove d4d5 currmovenumber 16
info depth 21 currmove g4g5 currmovenumber 17
info depth 21 currmove f4g6 currmovenumber 18
info depth 21 currmove g4g2 currmovenumber 19
info depth 21 currmove f4d5 currmovenumber 20
info depth 21 currmove d1g1 currmovenumber 21
info depth 21 currmove h6g7 currmovenumber 22
info depth 21 currmove c1d2 currmovenumber 23
info depth 21 currmove h6g5 currmovenumber 24
info depth 21 currmove f4e6 currmovenumber 25
info depth 21 currmove f4e2 currmovenumber 26
info depth 21 currmove d1d3 currmovenumber 27
info depth 21 currmove a2a3 currmovenumber 28
info depth 21 currmove h6f8 currmovenumber 29
info depth 21 currmove d1e1 currmovenumber 30
info depth 21 currmove d1f1 currmovenumber 31
info depth 21 currmove c1b1 currmovenumber 32
info depth 21 currmove d1d2 currmovenumber 33
info depth 21 currmove c1c2 currmovenumber 34
info depth 21 currmove f4d3 currmovenumber 35
info depth 21 currmove b2b4 currmovenumber 36
info depth 21 currmove b2b3 currmovenumber 37
info depth 21 currmove c4c5 currmovenumber 38
info depth 21 currmove a2a4 currmovenumber 39
info depth 21 currmove f4g2 currmovenumber 40
info depth 21 currmove f4h3 currmovenumber 41
info depth 21 currmove g4c8 currmovenumber 42
info depth 24 seldepth 40 multipv 1 score cp 317 nodes 5500457 nps 855037 hashfull 242 tbhits 0 time 6433 pv g4g6 e8d7 g6g4 d7e8 g4f3 h1f2 f3f2 c8g4 d1g1 d8d7 h6g7 c6b4 a2a3 e8f7 a3b4 b8g8 g7h6 d7a4 f2c2 a4a1 c2b1 g4f5 g1g8 a1b1 c1b1 f5e4 b1c1 f7g8 f4e6 g8h7 h6d2 c7c6 c4c5 e4f5 e6d8
info depth 25 currmove g4g6 currmovenumber 1
info depth 25 currmove g4f3 currmovenumber 2
info depth 25 currmove d1h1 currmovenumber 3
info depth 25 currmove g4g8 currmovenumber 4
info depth 25 currmove g4h5 currmovenumber 5
info depth 25 currmove g4g7 currmovenumber 6
info depth 25 currmove g4g1 currmovenumber 7
info depth 25 currmove g4h4 currmovenumber 8
info depth 25 currmove g4h3 currmovenumber 9
info depth 25 currmove g4d7 currmovenumber 10
info depth 25 currmove d4d5 currmovenumber 11
info depth 25 currmove g4e6 currmovenumber 12
info depth 25 currmove g4f5 currmovenumber 13
info depth 25 currmove g4g3 currmovenumber 14
info depth 25 currmove d1g1 currmovenumber 15
info depth 25 currmove f4g6 currmovenumber 16
info depth 25 currmove f4e6 currmovenumber 17
info depth 25 currmove c1d2 currmovenumber 18
info depth 25 currmove b2b3 currmovenumber 19
info depth 25 currmove c1b1 currmovenumber 20
info depth 25 currmove e4e5 currmovenumber 21
info depth 25 currmove f4d3 currmovenumber 22
info depth 25 currmove c1c2 currmovenumber 23
info depth 25 currmove c4c5 currmovenumber 24
info depth 25 currmove f4d5 currmovenumber 25
info depth 25 currmove h6g5 currmovenumber 26
info depth 25 currmove h6f8 currmovenumber 27
info depth 25 currmove f4e2 currmovenumber 28
info depth 25 currmove f4h5 currmovenumber 29
info depth 25 currmove b2b4 currmovenumber 30
info depth 25 currmove h6g7 currmovenumber 31
info depth 25 currmove a2a4 currmovenumber 32
info depth 25 currmove f4g2 currmovenumber 33
info depth 25 currmove f4h3 currmovenumber 34
info depth 25 currmove g4g5 currmovenumber 35
info depth 25 currmove d1f1 currmovenumber 36
info depth 25 currmove d1d2 currmovenumber 37
info depth 25 currmove d1d3 currmovenumber 38
info depth 25 currmove d1e1 currmovenumber 39
info depth 25 currmove a2a3 currmovenumber 40
info depth 25 currmove g4g2 currmovenumber 41
info depth 25 currmove g4c8 currmovenumber 42
info depth 25 seldepth 49 multipv 1 score cp 297 upperbound nodes 5980806 nps 847379 hashfull 264 tbhits 0 time 7058 pv g4g6 e8d7
info depth 25 currmove g4g6 currmovenumber 1
info depth 25 seldepth 49 multipv 1 score cp 315 lowerbound nodes 6693718 nps 835670 hashfull 302 tbhits 0 time 8010 pv g4g6
info depth 24 currmove g4g6 currmovenumber 1
info depth 24 currmove g4f3 currmovenumber 2
info depth 24 currmove d1h1 currmovenumber 3
info depth 24 currmove g4g8 currmovenumber 4
info depth 24 currmove g4h5 currmovenumber 5
info depth 24 currmove g4g7 currmovenumber 6
info depth 24 currmove g4g1 currmovenumber 7
info depth 24 currmove g4h3 currmovenumber 8
info depth 24 currmove g4h4 currmovenumber 9
info depth 24 currmove g4f5 currmovenumber 10
info depth 24 currmove g4d7 currmovenumber 11
info depth 24 currmove g4e6 currmovenumber 12
info depth 24 currmove g4g3 currmovenumber 13
info depth 24 currmove f4g6 currmovenumber 14
info depth 24 currmove f4d5 currmovenumber 15
info depth 24 currmove d1g1 currmovenumber 16
info depth 24 currmove e4e5 currmovenumber 17
info depth 24 currmove h6g5 currmovenumber 18
info depth 24 currmove g4g5 currmovenumber 19
info depth 24 currmove d4d5 currmovenumber 20
info depth 24 currmove c1b1 currmovenumber 21
info depth 24 currmove f4e6 currmovenumber 22
info depth 24 currmove c4c5 currmovenumber 23
info depth 24 currmove c1d2 currmovenumber 24
info depth 24 currmove d1f1 currmovenumber 25
info depth 24 currmove h6g7 currmovenumber 26
info depth 24 currmove c1c2 currmovenumber 27
info depth 24 currmove d1d2 currmovenumber 28
info depth 24 currmove d1e1 currmovenumber 29
info depth 24 currmove a2a3 currmovenumber 30
info depth 24 currmove h6f8 currmovenumber 31
info depth 24 currmove a2a4 currmovenumber 32
info depth 24 currmove b2b3 currmovenumber 33
info depth 24 currmove g4g2 currmovenumber 34
info depth 24 currmove f4d3 currmovenumber 35
info depth 24 currmove b2b4 currmovenumber 36
info depth 24 currmove f4e2 currmovenumber 37
info depth 24 currmove f4g2 currmovenumber 38
info depth 24 currmove f4h3 currmovenumber 39
info depth 24 currmove f4h5 currmovenumber 40
info depth 24 currmove d1d3 currmovenumber 41
info depth 24 currmove g4c8 currmovenumber 42
info depth 25 seldepth 49 multipv 1 score cp 326 nodes 7046600 nps 832439 hashfull 318 tbhits 0 time 8465 pv g4g6 e8d7 g6g4 d7e8 g4f3 h1f2 f3f2 c8g4 d1g1 d8d7 h6g7 c6b4 a2a3 e8f7 a3b4 b8g8 g7h6 d7a4 f2c2 a4a1 c2b1 a1b1 c1b1 g4f3 g1g8 f3e4 b1c1 f7g8 f4e6 g8h7 h6d2 c7c6 e6d8 b7b6 d8e6 h7g8 e6c7 g8f7 c4c5 d6c5 b4c5 b6c5 d4c5
info depth 26 currmove g4g6 currmovenumber 1
info depth 26 currmove g4f3 currmovenumber 2
info depth 26 currmove d1h1 currmovenumber 3
info depth 26 currmove g4g8 currmovenumber 4
info depth 26 currmove g4h5 currmovenumber 5
info depth 26 currmove g4g7 currmovenumber 6
info depth 26 currmove g4g1 currmovenumber 7
info depth 26 currmove g4h3 currmovenumber 8
info depth 26 currmove g4h4 currmovenumber 9
info depth 26 currmove g4d7 currmovenumber 10
info depth 26 currmove g4f5 currmovenumber 11
info depth 26 currmove g4g3 currmovenumber 12
info depth 26 currmove g4e6 currmovenumber 13
info depth 26 currmove h6g5 currmovenumber 14
info depth 26 currmove f4e6 currmovenumber 15
info depth 26 currmove g4g2 currmovenumber 16
info depth 26 currmove c1c2 currmovenumber 17
info depth 26 currmove g4g5 currmovenumber 18
info depth 26 currmove c1b1 currmovenumber 19
info depth 26 currmove h6g7 currmovenumber 20
info depth 26 currmove f4d5 currmovenumber 21
info depth 26 currmove f4d3 currmovenumber 22
info depth 26 currmove d1g1 currmovenumber 23
info depth 26 currmove d1d3 currmovenumber 24
info depth 26 currmove d1e1 currmovenumber 25
info depth 26 currmove d1f1 currmovenumber 26
info depth 26 currmove d1d2 currmovenumber 27
info depth 26 currmove b2b3 currmovenumber 28
info depth 26 currmove h6f8 currmovenumber 29
info depth 26 currmove e4e5 currmovenumber 30
info depth 26 currmove d4d5 currmovenumber 31
info depth 26 currmove c1d2 currmovenumber 32
info depth 26 currmove f4e2 currmovenumber 33
info depth 26 currmove c4c5 currmovenumber 34
info depth 26 currmove f4g6 currmovenumber 35
info depth 26 currmove f4h3 currmovenumber 36
info depth 26 currmove f4g2 currmovenumber 37
info depth 26 currmove a2a3 currmovenumber 38
info depth 26 currmove a2a4 currmovenumber 39
info depth 26 currmove f4h5 currmovenumber 40
info depth 26 currmove b2b4 currmovenumber 41
info depth 26 currmove g4c8 currmovenumber 42
info depth 26 seldepth 50 multipv 1 score cp 302 upperbound nodes 7961614 nps 834988 hashfull 354 tbhits 0 time 9535 pv g4g6 e8d7
info depth 26 currmove g4g6 currmovenumber 1
info depth 26 currmove g4f3 currmovenumber 2
info depth 26 currmove d1h1 currmovenumber 3
info depth 26 currmove g4g8 currmovenumber 4
info depth 26 currmove g4h5 currmovenumber 5
info depth 26 currmove g4g7 currmovenumber 6
info depth 26 currmove g4h3 currmovenumber 7
info depth 26 currmove g4g1 currmovenumber 8
info depth 26 currmove g4h4 currmovenumber 9
info depth 26 currmove g4f5 currmovenumber 10
info depth 26 currmove g4e6 currmovenumber 11
info depth 26 currmove g4d7 currmovenumber 12
info depth 26 currmove g4g3 currmovenumber 13
info depth 26 currmove d1g1 currmovenumber 14
info depth 26 currmove e4e5 currmovenumber 15
info depth 26 currmove f4e6 currmovenumber 16
info depth 26 currmove c1c2 currmovenumber 17
info depth 26 currmove d4d5 currmovenumber 18
info depth 26 currmove b2b3 currmovenumber 19
info depth 26 currmove c1b1 currmovenumber 20
info depth 26 currmove h6g5 currmovenumber 21
info depth 26 currmove c1d2 currmovenumber 22
info depth 26 currmove g4g5 currmovenumber 23
info depth 26 currmove h6g7 currmovenumber 24
info depth 26 currmove f4d5 currmovenumber 25
info depth 26 currmove f4h5 currmovenumber 26
info depth 26 currmove f4d3 currmovenumber 27
info depth 26 currmove c4c5 currmovenumber 28
info depth 26 currmove d1d3 currmovenumber 29
info depth 26 currmove g4g2 currmovenumber 30
info depth 26 currmove a2a3 currmovenumber 31
info depth 26 currmove f4g6 currmovenumber 32
info depth 26 currmove h6f8 currmovenumber 33
info depth 26 currmove d1e1 currmovenumber 34
info depth 26 currmove b2b4 currmovenumber 35
info depth 26 currmove d1f1 currmovenumber 36
info depth 26 currmove a2a4 currmovenumber 37
info depth 26 currmove f4e2 currmovenumber 38
info depth 26 currmove f4g2 currmovenumber 39
info depth 26 currmove f4h3 currmovenumber 40
info depth 26 currmove d1d2 currmovenumber 41
info depth 26 currmove g4c8 currmovenumber 42
info depth 26 seldepth 53 multipv 1 score cp 313 nodes 10152064 nps 835698 hashfull 451 tbhits 0 time 12148 pv g4g6 e8d7 g6g4 d7e8 g4f3 c6d4 d1d4 h1f2 f3f2 e7e5 f4d5 e5d4 d5f6 e8f7 f6h7 f7g6 h6g5 d8d7 h7f8 g6g5 f8d7 c8d7 f2d4 d7c6 d4g7 g5f4 g7c7 b8e8 c4c5 e8e4 c5d6 f4e3 c7b6 e4d4 d6d7 c6d7 c1c2 d7c6 c2c3
info depth 27 currmove g4g6 currmovenumber 1
info depth 27 currmove g4f3 currmovenumber 2
info depth 27 currmove d1h1 currmovenumber 3
info depth 27 currmove g4g8 currmovenumber 4
info depth 27 currmove g4h5 currmovenumber 5
info depth 27 currmove g4g7 currmovenumber 6
info depth 27 currmove g4g1 currmovenumber 7
info depth 27 currmove g4h4 currmovenumber 8
info depth 27 currmove g4h3 currmovenumber 9
info depth 27 currmove g4d7 currmovenumber 10
info depth 27 currmove g4e6 currmovenumber 11
info depth 27 currmove g4f5 currmovenumber 12
info depth 27 currmove g4g3 currmovenumber 13
info depth 27 currmove h6g5 currmovenumber 14
info depth 27 currmove h6g7 currmovenumber 15
info depth 27 currmove g4g2 currmovenumber 16
info depth 27 currmove d1g1 currmovenumber 17
info depth 27 currmove d1f1 currmovenumber 18
info depth 27 currmove e4e5 currmovenumber 19
info depth 27 currmove d1e1 currmovenumber 20
info depth 27 currmove f4d5 currmovenumber 21
info depth 27 currmove d1d2 currmovenumber 22
info depth 27 currmove d1d3 currmovenumber 23
info depth 27 currmove c1c2 currmovenumber 24
info depth 27 currmove d4d5 currmovenumber 25
info depth 27 currmove c1d2 currmovenumber 26
info depth 27 currmove h6f8 currmovenumber 27
info depth 27 currmove f4g6 currmovenumber 28
info depth 27 currmove c4c5 currmovenumber 29
info depth 27 currmove c1b1 currmovenumber 30
info depth 27 currmove f4e6 currmovenumber 31
info depth 27 currmove f4d3 currmovenumber 32
info depth 27 currmove b2b3 currmovenumber 33
info depth 27 currmove a2a3 currmovenumber 34
info depth 27 currmove g4g5 currmovenumber 35
info depth 27 currmove b2b4 currmovenumber 36
info depth 27 currmove a2a4 currmovenumber 37
info depth 27 currmove f4h3 currmovenumber 38
info depth 27 currmove f4e2 currmovenumber 39
info depth 27 currmove f4g2 currmovenumber 40
info depth 27 currmove f4h5 currmovenumber 41
info depth 27 currmove g4c8 currmovenumber 42
info depth 27 seldepth 44 multipv 1 score cp 321 nodes 11283996 nps 834800 hashfull 498 tbhits 0 time 13517 pv g4g6 e8d7 g6g4 d7e8 g4f3 h1f2 f3f2 c8g4 d1g1 d8d7 h6g7 c6b4 a2a3 e8f7 a3b4 b8g8 g7h6 d7a4 f2c2 a4a1 c2b1 g4f3 g1g8 a1b1 c1b1 f3e4 b1c1 f7g8 f4e6 g8h7 h6d2 c7c6 e6d8 b7b6 d8e6 h7g6 e6c7 g6f7 b2b3 b6b5 c4c5 e4d5 c1b2 d5e4
info depth 28 currmove g4g6 currmovenumber 1
info depth 28 currmove d1h1 currmovenumber 2
info depth 28 currmove g4g8 currmovenumber 3
info depth 28 currmove g4h5 currmovenumber 4
info depth 28 currmove g4h3 currmovenumber 5
info depth 28 currmove g4g7 currmovenumber 6
info depth 28 currmove g4g1 currmovenumber 7
info depth 28 currmove g4h4 currmovenumber 8
info depth 28 currmove g4d7 currmovenumber 9
info depth 28 currmove g4f5 currmovenumber 10
info depth 28 currmove g4g3 currmovenumber 11
info depth 28 currmove h6g5 currmovenumber 12
info depth 28 currmove g4e6 currmovenumber 13
info depth 28 currmove g4g2 currmovenumber 14
info depth 28 currmove c1b1 currmovenumber 15
info depth 28 currmove h6g7 currmovenumber 16
info depth 28 currmove d1d3 currmovenumber 17
info depth 28 currmove d1f1 currmovenumber 18
info depth 28 currmove d1e1 currmovenumber 19
info depth 28 currmove c1c2 currmovenumber 20
info depth 28 currmove g4g5 currmovenumber 21
info depth 28 currmove b2b3 currmovenumber 22
info depth 28 currmove d1d2 currmovenumber 23
info depth 28 currmove c1d2 currmovenumber 24
info depth 28 currmove h6f8 currmovenumber 25
info depth 28 currmove e4e5 currmovenumber 26
info depth 28 currmove c4c5 currmovenumber 27
info depth 28 currmove d1g1 currmovenumber 28
info depth 28 currmove f4e6 currmovenumber 29
info depth 28 currmove f4d5 currmovenumber 30
info depth 28 currmove a2a3 currmovenumber 31
info depth 28 currmove b2b4 currmovenumber 32
info depth 28 currmove d4d5 currmovenumber 33
info depth 28 currmove f4d3 currmovenumber 34
info depth 28 currmove a2a4 currmovenumber 35
info depth 28 currmove f4e2 currmovenumber 36
info depth 28 currmove f4h5 currmovenumber 37
info depth 28 currmove f4h3 currmovenumber 38
info depth 28 currmove f4g2 currmovenumber 39
info depth 28 currmove f4g6 currmovenumber 40
info depth 28 currmove g4c8 currmovenumber 41
info depth 28 currmove g4f3 currmovenumber 42
info depth 28 seldepth 51 multipv 1 score cp 326 nodes 13635736 nps 836394 hashfull 587 tbhits 0 time 16303 pv g4g6 e8d7 g6g4 d7e8 g4f3 h1f2 f3f2 c8g4 d1g1 d8d7 h6g7 c6b4 a2a3 e8f7 a3b4 b8g8 g7h6 d7a4 f2c2 a4a1 c2b1 g4f3 g1g8 a1b1 c1b1 f3e4 b1c1 f7g8 f4e6 g8h7 h6d2 c7c6 e6d8 b7b6 d8e6 h7g8 e6c7 g8f7 c7a6 e4d3 b2b3 b6b5 c4c5 d3e4 a6c7 d6c5 b4c5 e7e5 d4e5 f6e5
info depth 29 currmove g4g6 currmovenumber 1
info depth 29 currmove g4f3 currmovenumber 2
info depth 29 currmove d1h1 currmovenumber 3
info depth 29 currmove g4g8 currmovenumber 4
info depth 29 currmove g4h5 currmovenumber 5
info depth 29 currmove g4h3 currmovenumber 6
info depth 29 currmove g4h4 currmovenumber 7
info depth 29 currmove g4g7 currmovenumber 8
info depth 29 currmove g4g1 currmovenumber 9
info depth 29 currmove g4f5 currmovenumber 10
info depth 29 currmove g4g3 currmovenumber 11
info depth 29 currmove g4e6 currmovenumber 12
info depth 29 currmove h6g5 currmovenumber 13
info depth 29 currmove g4d7 currmovenumber 14
info depth 29 currmove e4e5 currmovenumber 15
info depth 29 currmove h6g7 currmovenumber 16
info depth 29 currmove d1d2 currmovenumber 17
info depth 29 currmove c1b1 currmovenumber 18
info depth 29 currmove f4e6 currmovenumber 19
info depth 29 currmove d1d3 currmovenumber 20
info depth 29 currmove c1c2 currmovenumber 21
info depth 29 currmove d1f1 currmovenumber 22
info depth 29 currmove g4g2 currmovenumber 23
info depth 29 currmove f4d5 currmovenumber 24
info depth 29 currmove d1e1 currmovenumber 25
info depth 29 currmove h6f8 currmovenumber 26
info depth 29 currmove b2b3 currmovenumber 27
info depth 29 currmove d4d5 currmovenumber 28
info depth 29 currmove d1g1 currmovenumber 29
info depth 29 currmove g4g5 currmovenumber 30
info depth 29 currmove c4c5 currmovenumber 31
info depth 29 currmove a2a3 currmovenumber 32
info depth 29 currmove b2b4 currmovenumber 33
info depth 29 currmove a2a4 currmovenumber 34
info depth 29 currmove c1d2 currmovenumber 35
info depth 29 currmove f4e2 currmovenumber 36
info depth 29 currmove f4d3 currmovenumber 37
info depth 29 currmove f4h5 currmovenumber 38
info depth 29 currmove f4g2 currmovenumber 39
info depth 29 currmove f4h3 currmovenumber 40
info depth 29 currmove f4g6 currmovenumber 41
info depth 29 currmove g4c8 currmovenumber 42
info depth 29 seldepth 56 multipv 1 score cp 304 upperbound nodes 14319744 nps 837411 hashfull 611 tbhits 0 time 17100 pv g4g6 e8d7
info depth 29 currmove g4g6 currmovenumber 1
info depth 29 currmove g4f3 currmovenumber 2
info depth 29 currmove d1h1 currmovenumber 3
info depth 29 currmove g4g8 currmovenumber 4
info depth 29 currmove g4g7 currmovenumber 5
info depth 29 currmove g4h4 currmovenumber 6
info depth 29 currmove g4h5 currmovenumber 7
info depth 29 currmove g4g1 currmovenumber 8
info depth 29 currmove g4h3 currmovenumber 9
info depth 29 currmove g4d7 currmovenumber 10
info depth 29 currmove g4f5 currmovenumber 11
info depth 29 currmove g4e6 currmovenumber 12
info depth 29 currmove g4g3 currmovenumber 13
info depth 29 currmove d1g1 currmovenumber 14
info depth 29 currmove e4e5 currmovenumber 15
info depth 29 currmove f4e6 currmovenumber 16
info depth 29 currmove c4c5 currmovenumber 17
info depth 29 currmove a2a3 currmovenumber 18
info depth 29 currmove f4d5 currmovenumber 19
info depth 29 currmove g4g5 currmovenumber 20
info depth 29 currmove b2b3 currmovenumber 21
info depth 29 currmove h6g5 currmovenumber 22
info depth 29 currmove h6g7 currmovenumber 23
info depth 29 currmove h6f8 currmovenumber 24
info depth 29 currmove c1b1 currmovenumber 25
info depth 29 currmove d1e1 currmovenumber 26
info depth 29 currmove d4d5 currmovenumber 27
info depth 29 currmove d1d2 currmovenumber 28
info depth 29 currmove d1d3 currmovenumber 29
info depth 29 currmove f4e2 currmovenumber 30
info depth 29 currmove d1f1 currmovenumber 31
info depth 29 currmove f4d3 currmovenumber 32
info depth 29 currmove b2b4 currmovenumber 33
info depth 29 currmove c1d2 currmovenumber 34
info depth 29 currmove a2a4 currmovenumber 35
info depth 29 currmove f4g6 currmovenumber 36
info depth 29 currmove c1c2 currmovenumber 37
info depth 29 currmove f4g2 currmovenumber 38
info depth 29 currmove f4h3 currmovenumber 39
info depth 29 currmove f4h5 currmovenumber 40
info depth 29 currmove g4g2 currmovenumber 41
info depth 29 currmove g4c8 currmovenumber 42
info depth 29 seldepth 58 multipv 1 score cp 306 nodes 16688985 nps 835828 hashfull 687 tbhits 0 time 19967 pv g4g6 e8d7 g6g4 d7e8 g4f3 h1f2 f3f2 c8g4 d1g1 d8d7 h6g7 c6b4 a2a3 e8f7 a3b4 b8g8 g7h6 d7a4 f2c2 a4a1 c2b1 g4f3 g1g8 a1b1 c1b1 f3e4 b1c1 f7g8 f4e6 g8h7 h6e3 c7c6 e6d8 b7b6 d8e6 h7g6 e6c7 b6b5 c7a6 b5c4 c1d2 g6f5 a6c7 e4h1 d2c3 f5e4 e3f2 e4f3 f2h4
info depth 30 currmove g4g6 currmovenumber 1
info depth 30 currmove d1h1 currmovenumber 2
info depth 30 currmove g4g8 currmovenumber 3
info depth 30 currmove g4h5 currmovenumber 4
info depth 30 currmove g4g7 currmovenumber 5
info depth 30 currmove g4h3 currmovenumber 6
info depth 30 currmove g4g1 currmovenumber 7
info depth 30 currmove g4h4 currmovenumber 8
info depth 30 currmove g4d7 currmovenumber 9
info depth 30 currmove g4f5 currmovenumber 10
info depth 30 currmove g4g3 currmovenumber 11
info depth 30 currmove g4e6 currmovenumber 12
info depth 30 currmove h6g5 currmovenumber 13
info depth 30 currmove h6g7 currmovenumber 14
info depth 30 currmove f4d5 currmovenumber 15
info depth 30 currmove c1b1 currmovenumber 16
info depth 30 currmove f4e6 currmovenumber 17
info depth 30 currmove d1d2 currmovenumber 18
info depth 30 currmove d1d3 currmovenumber 19
info depth 30 currmove e4e5 currmovenumber 20
info depth 30 currmove d1e1 currmovenumber 21
info depth 30 currmove d1f1 currmovenumber 22
info depth 30 currmove c1c2 currmovenumber 23
info depth 30 currmove d1g1 currmovenumber 24
info depth 30 currmove c4c5 currmovenumber 25
info depth 30 currmove a2a3 currmovenumber 26
info depth 30 currmove h6f8 currmovenumber 27
info depth 30 currmove b2b3 currmovenumber 28
info depth 30 currmove d4d5 currmovenumber 29
info depth 30 currmove f4d3 currmovenumber 30
info depth 30 currmove b2b4 currmovenumber 31
info depth 30 currmove g4g2 currmovenumber 32
info depth 30 currmove a2a4 currmovenumber 33
info depth 30 currmove c1d2 currmovenumber 34
info depth 30 currmove f4h5 currmovenumber 35
info depth 30 currmove g4g5 currmovenumber 36
info depth 30 currmove f4e2 currmovenumber 37
info depth 30 currmove f4h3 currmovenumber 38
info depth 30 currmove f4g2 currmovenumber 39
info depth 30 currmove f4g6 currmovenumber 40
info depth 30 currmove g4c8 currmovenumber 41
info depth 30 currmove g4f3 currmovenumber 42
info depth 30 seldepth 56 multipv 1 score cp 304 nodes 18908492 nps 839966 hashfull 745 tbhits 0 time 22511 pv g4g6 e8d7 g6g4 d7e8 g4f3 h1f2 f3f2 c8g4 d1g1 d8d7 h6g7 c6b4 a2a3 e8f7 a3b4 b8g8 g7h6 d7a4 f2c2 a4a1 c2b1 g4f3 g1g8 a1b1 c1b1 f3e4 b1c1 f7g8 f4e6 g8h7 h6e3 c7c6 e6d8 b7b6 b2b3 h7g8 d8e6 b6b5 c1b2 e4g2 e6c7 g8f7 c7a6 g2f1 a6c7 b5c4 d4d5 c6d5 b4b5
bestmove g4g6 ponder e8d7

Stockfish basically wants to go to g6 to check the king expecting it to go back to d7 and then go back to g4?!?! WHY? It literally makes no sense, just take the pawn (g4f3) now!

This "bug" makes Stockfish look dumb during analysis and during games

@nathan-lc0
Copy link

Although this was game was completely winning, if this also occurs in games in the balance of drawn and winning then a solution might bring elo as that wasted time would help stockfish convert.

@ghost
Copy link

ghost commented May 22, 2022

its not an issues , I Test this Position via stockfish 15 and result was correct g4f3
But I don't Know why your Best move is g4g6 !!!!!

info depth 30 seldepth 64 multipv 1 score cp 318 nodes 30879487 nps 859649 hashfull 1000 tbhits 0 time 35921 pv g4f3 h1f2 f3f2 c8g4 d1g1 d8d7 h6g7 c6b4 a2a3 e8f7 a3b4 b8g8 g7h6 d7a4 f2c2 a4a1 c2b1 a1b1 c1b1 g4f3 g1g8 f3e4 b1c1 f7g8 f4e6 c7c6 e6d8 b7b5 b2b3 e4h1 c1c2 h1e4 c2b2 e4g2 b2a3 g2e4 c4c5 d6c5 b4c5 a6a5 d8b7 g8f7 b7a5 f7e6 a3b4 e6d5
bestmove g4f3 ponder h1f2

@dav1312
Copy link
Contributor Author

dav1312 commented May 22, 2022

I Test this Position via stockfish 15

@movepicker I specified the version that I was using for a reason, don't just ignore it and use something else... The results can change with the version and depth
But regardless of the version, Stockfish does this in a lot of occasions and needs a proper fix, it is a real issue

@dav1312
Copy link
Contributor Author

dav1312 commented May 22, 2022

Another example, black again can't do anything and Stockfish again only wants to check the king and go back to g3 for no reason instead of directly playing Bf8
This kinds of moves should be filtered or ignored or something... it just doesn't make sense to even consider them, It's a waste of time!!

Stockfish cc7bcd5

Stockfish 210522 by the Stockfish developers (see AUTHORS file)
uci
id name Stockfish 210522
id author the Stockfish developers (see AUTHORS file)

option name Debug Log File type string default
option name Threads type spin default 1 min 1 max 512
option name Hash type spin default 16 min 1 max 33554432
option name Clear Hash type button
option name Ponder type check default false
option name MultiPV type spin default 1 min 1 max 500
option name Skill Level type spin default 20 min 0 max 20
option name Move Overhead type spin default 10 min 0 max 5000
option name Slow Mover type spin default 100 min 10 max 1000
option name nodestime type spin default 0 min 0 max 10000
option name UCI_Chess960 type check default false
option name UCI_AnalyseMode type check default false
option name UCI_LimitStrength type check default false
option name UCI_Elo type spin default 1350 min 1350 max 2850
option name UCI_ShowWDL type check default false
option name SyzygyPath type string default <empty>
option name SyzygyProbeDepth type spin default 1 min 1 max 100
option name Syzygy50MoveRule type check default true
option name SyzygyProbeLimit type spin default 7 min 0 max 7
option name Use NNUE type check default true
option name EvalFile type string default nn-3c0aa92af1da.nnue
uciok
setoption name Hash value 128
ucinewgame
position fen rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1 moves d2d4 g8f6 c2c4 c7c5 g1f3 c5d4 f3d4 e7e5 d4b5 d7d5 c4d5 a7a6 b5c3 f8c5 g2g3 e8g8 f1g2 c8g4 h2h3 g4f5 e2e4 f5g6 e1g1 b8d7 b1d2 c5d4 c3e2 d4a7 g3g4 h7h5 e2g3 h5g4 h3g4 a8c8 g2f3 f6e8 a2a4 e8d6 g1g2 a7d4 f3e2 d7c5 f2f3 d8b6 a1a2 b6b4 f1e1 b7b5 b2b3 b4a5 c1a3 a5d8 a4b5 a6b5 a3b4 d8b6 d1b1 c8a8 e1c1 f7f6 d2f1 f8c8 c1c2 g6e8 g3f5 d6f5 g4f5 d4g1 f1g3 g1e3 b1a1 a8a2 a1a2 b6b8 g3h1 b8b7 h1f2 e3d4 a2b1 b7b8 f2g4 c8c7 b1e1 c5e6 d5e6 c7c2 g4f6 g7f6 e1g3 g8h7
d

 +---+---+---+---+---+---+---+---+
 |   | q |   |   | b |   |   |   | 8
 +---+---+---+---+---+---+---+---+
 |   |   |   |   |   |   |   | k | 7
 +---+---+---+---+---+---+---+---+
 |   |   |   |   | P | p |   |   | 6
 +---+---+---+---+---+---+---+---+
 |   | p |   |   | p | P |   |   | 5
 +---+---+---+---+---+---+---+---+
 |   | B |   | b | P |   |   |   | 4
 +---+---+---+---+---+---+---+---+
 |   | P |   |   |   | P | Q |   | 3
 +---+---+---+---+---+---+---+---+
 |   |   | r |   | B |   | K |   | 2
 +---+---+---+---+---+---+---+---+
 |   |   |   |   |   |   |   |   | 1
 +---+---+---+---+---+---+---+---+
   a   b   c   d   e   f   g   h

Fen: 1q2b3/7k/4Pp2/1p2pP2/1B1bP3/1P3PQ1/2r1B1K1/8 w - - 2 46
Key: CF2FE70B73A7DB27
Checkers:

image

go depth 28
info string NNUE evaluation using nn-3c0aa92af1da.nnue enabled
info depth 1 seldepth 1 multipv 1 score cp 367 nodes 77 nps 38500 tbhits 0 time 2 pv g3h2 e8h5
info depth 2 seldepth 2 multipv 1 score cp 367 nodes 113 nps 56500 tbhits 0 time 2 pv g3h2 e8h5 h2h5 h7g7
info depth 3 seldepth 3 multipv 1 score cp 200 nodes 263 nps 131500 tbhits 0 time 2 pv g3g4 c2e2 g2f1
info depth 4 seldepth 4 multipv 1 score cp 321 nodes 323 nps 161500 tbhits 0 time 2 pv g3h3 h7g7
info depth 5 seldepth 6 multipv 1 score cp 178 nodes 1536 nps 384000 tbhits 0 time 4 pv g2h3 b8a7 e2b5 a7a1
info depth 6 seldepth 6 multipv 1 score cp 0 nodes 2472 nps 494400 tbhits 0 time 5 pv b4d2 c2d2 g3h3 h7g7
info depth 7 seldepth 8 multipv 1 score cp 0 nodes 3350 nps 558333 tbhits 0 time 6 pv g3h4 h7g7 h4g3 g7h7
info depth 8 seldepth 7 multipv 1 score cp 49 nodes 3922 nps 560285 tbhits 0 time 7 pv g3h4 h7g8 h4f6 c2e2 g2f1
info depth 9 seldepth 7 multipv 1 score cp 147 nodes 4943 nps 617875 tbhits 0 time 8 pv g3h4 h7g8 b4e7 c2e2 g2h3
info depth 10 seldepth 15 multipv 1 score cp 112 nodes 14371 nps 756368 tbhits 0 time 19 pv g3h4 h7g8 h4f6 b8a7 f6f8 g8h7 f5f6 c2e2 g2h3 e2f2 e6e7 f2f3 h3g4 f3f4 g4g5
info depth 11 seldepth 18 multipv 1 score cp 147 nodes 23913 nps 797100 tbhits 0 time 30 pv g3h4 h7g8 h4f6 c2e2 g2h3 b8a7 f6f8 g8h7 f5f6 e2f2 b4e7 f2f3 h3g4
info depth 12 seldepth 15 multipv 1 score cp 147 nodes 30831 nps 811342 tbhits 0 time 38 pv g3h4 h7g8 h4f6 c2e2 g2h3 b8a7 f6f8 g8h7 f5f6 e2f2 b4e7 f2f3 h3g4 f3f4 g4g5
info depth 13 seldepth 13 multipv 1 score cp 242 nodes 39012 nps 848086 tbhits 0 time 46 pv g3h4 h7g8 h4g4 g8h7 b4f8 b8a7 e6e7 c2e2 g2h3
info depth 14 seldepth 19 multipv 1 score cp 528 nodes 78112 nps 1041493 tbhits 0 time 75 pv g3h3 h7g7 h3g4 g7h7 b4f8 c2c7 e6e7 c7e7 g4h4 h7g8 f8e7 b8a7 e7f6 a7h7 h4g5 g8f7 f6e7
info depth 15 seldepth 23 multipv 1 score cp 588 nodes 97377 nps 1106556 tbhits 0 time 88 pv g3h4 h7g8 h4g4 g8h7 b4f8 c2c7 e6e7 c7e7 g4h4 h7g8 f8e7 b8a7 e7f6 a7h7 h4h7 g8h7
info depth 16 seldepth 25 multipv 1 score cp 632 nodes 205642 nps 1117619 tbhits 0 time 184 pv g3h3 h7g7 h3g4 g7h7 b4f8 c2c7 e6e7 c7e7 g4h4 h7g8 f8e7 b8a7 e7f6 a7h7 h4g5 g8f7 f3f4 e8c6 e2f3
info depth 17 seldepth 31 multipv 1 score cp 786 nodes 279888 nps 1147081 tbhits 0 time 244 pv g3h3 h7g7 h3g3 g7h7 g3h4 h7g8 h4g4 g8h7 b4f8 c2c7 e6e7 c7e7 g4h4 h7g8 f8e7 b8a7 e7f6 a7h7 h4g5 g8f7 f3f4 e8c6 e2f3 f7e8 f6e5 d4e5 f4e5
info depth 18 seldepth 35 multipv 1 score cp 774 nodes 325554 nps 1154446 tbhits 0 time 282 pv g3h4 h7g8 h4g4 g8h7 b4f8 c2c7 e6e7 c7e7 g4h4 h7g8 f8e7 b8a7 e7f6 a7h7 h4g3 g8f8 f6e5 d4e5 g3e5 h7h6 f3f4 h6h7 e5c3 e8c6 e2f3
info depth 19 seldepth 32 multipv 1 score cp 755 nodes 397131 nps 1134660 tbhits 0 time 350 pv g3h4 h7g8 h4g4 g8h7 b4f8 c2c7 e6e7 c7e7 g4h4 h7g8 f8e7 b8a7 e7f6 a7h7 h4g5 g8f8 f3f4 e8c6 e2f3 f8e8 f6e5 e8d7 g2g3 d7c8 e5d4 c8b7
info depth 20 seldepth 34 multipv 1 score cp 802 nodes 501381 nps 1129236 tbhits 0 time 444 pv g3h4 h7g8 h4g4 g8h7 b4f8 c2c7 e6e7 c7e7 g4h4 h7g8 f8e7 b8c7 e7f6 c7h7 h4g5 g8f8 f3f4 d4c5 f4e5 e8c6 e2f3 b5b4 g5h4 h7h4 f6h4 c5e7 f5f6 e7f6 h4f6
info depth 21 seldepth 35 multipv 1 score cp 768 nodes 578623 nps 1127920 tbhits 0 time 513 pv g3h4 h7g8 h4g4 g8h7 b4f8 c2c7 e6e7 c7e7 g4h4 h7g8 f8e7 b8c7 e7f6 c7h7 h4g5 g8f8 f3f4 d4c5 f4e5 e8c6 e2f3 b5b4 g2g3 c6d7 e5e6 c5d6 g3g4 d7c6 g5h4
info depth 22 seldepth 43 multipv 1 score cp 776 nodes 919837 nps 1073322 tbhits 0 time 857 pv g3h4 h7g8 h4g4 g8h7 b4f8 c2c7 e6e7 c7e7 g4h4 h7g8 f8e7 b8c7 e7f6 c7h7 h4g5 g8f8 f3f4 d4e3 f6e5 e3c5 e2f3 h7g8 f3g4 g8h7 g5d8 h7h6 f5f6 h6g6 g2f3 f8g8 e5d6 c5d6 d8d6
info depth 23 seldepth 51 multipv 1 score cp 806 nodes 1852452 nps 1037788 hashfull 89 tbhits 0 time 1785 pv g3h4 h7g8 h4g4 g8h7 b4f8 c2c7 e6e7 c7e7 g4h4 h7g8 f8e7 b8c7 e7f6 c7h7 h4g5 g8f8 f3f4 d4e3 f6e5 e3c5 e2f3 c5e7 f5f6 e7c5 e5c3 h7g6 g5g6 e8g6 b3b4 c5e3 g2g3 g6f7 f3g4 f7e8 e4e5 e3c1 e5e6
info depth 24 seldepth 49 multipv 1 score cp 806 nodes 1959884 nps 1043046 hashfull 94 tbhits 0 time 1879 pv g3h4 h7g8 h4g4 g8h7 b4f8 c2c7 e6e7 c7e7 g4h4 h7g8 f8e7 b8c7 e7f6 c7h7 h4g5 g8f8 f3f4 d4e3 f6e5 e3c5 g5f6 f8g8 f6d8 g8f8 e5d6 c5d6 d8d6 f8g8 d6d8 g8f8 d8f6 f8g8 f6g5 g8f8 e2f3 b5b4 g5f6 e8f7 f6d8 f8g7 d8g5 g7f8 f3d1 f7e8 g5f6 f8g8 f6d8 h7g7 d8g5
info depth 25 seldepth 46 multipv 1 score cp 816 nodes 2353899 nps 1048974 hashfull 111 tbhits 0 time 2244 pv g3h4 h7g8 h4g4 g8h7 b4f8 c2c7 e6e7 c7e7 g4h4 h7g8 f8e7 b8c7 e7f6 c7h7 h4g5 g8f8 f3f4 d4e3 f6e5 e3c5 g5f6 f8g8 f6d8 h7e7 d8e7 c5e7 e5c3 e8c6 e2f3 b5b4 c3a1 e7h4 e4e5 h4e1 f3c6 e1c3 c6d5 g8g7
info depth 26 currmove g3h3 currmovenumber 2
info depth 26 currmove g2h3 currmovenumber 3
info depth 26 currmove g3g7 currmovenumber 4
info depth 26 currmove g3g6 currmovenumber 5
info depth 26 currmove e6e7 currmovenumber 6
info depth 26 currmove b4e7 currmovenumber 7
info depth 26 currmove g3g8 currmovenumber 8
info depth 26 currmove g3g4 currmovenumber 9
info depth 26 currmove g2h2 currmovenumber 10
info depth 26 currmove g3f2 currmovenumber 11
info depth 26 currmove g3h2 currmovenumber 12
info depth 26 currmove g2h1 currmovenumber 13
info depth 26 currmove b4d6 currmovenumber 14
info depth 26 currmove g3g5 currmovenumber 15
info depth 26 currmove b4d2 currmovenumber 16
info depth 26 currmove b4c3 currmovenumber 17
info depth 26 currmove b4f8 currmovenumber 18
info depth 26 currmove b4c5 currmovenumber 19
info depth 26 currmove b4a5 currmovenumber 20
info depth 26 currmove b4a3 currmovenumber 21
info depth 26 currmove b4e1 currmovenumber 22
info depth 26 currmove g2f1 currmovenumber 23
info depth 26 currmove g3f4 currmovenumber 24
info depth 26 currmove f3f4 currmovenumber 25
info depth 26 currmove g3e1 currmovenumber 26
info depth 26 currmove g3e5 currmovenumber 27
info depth 26 seldepth 50 multipv 1 score cp 839 nodes 3410579 nps 1047153 hashfull 161 tbhits 0 time 3257 pv g3h4 h7g8 h4g3 g8h7 b4f8 c2c7 e6e7 c7e7 g3h4 h7g8 f8e7 b8c7 e7f6 c7h7 h4g5 g8f8 f3f4 d4e3 f6e5 e3c5 g5f6 f8g8 f6d8 h7e7 d8e7 c5e7 e5c3 e8c6 e2f3 b5b4 c3d4 g8f8 e4e5 c6d7 f5f6 e7f6 e5f6 d7e6 f3d1 e6f7 g2f2
info depth 27 currmove g3h4 currmovenumber 1
info depth 27 currmove g3h3 currmovenumber 2
info depth 27 currmove g3g7 currmovenumber 3
info depth 27 currmove g3g6 currmovenumber 4
info depth 27 currmove e6e7 currmovenumber 5
info depth 27 currmove g2h3 currmovenumber 6
info depth 27 currmove b4e7 currmovenumber 7
info depth 27 currmove g3g8 currmovenumber 8
info depth 27 currmove g3h2 currmovenumber 9
info depth 27 currmove g3g4 currmovenumber 10
info depth 27 currmove g2h2 currmovenumber 11
info depth 27 currmove g3g5 currmovenumber 12
info depth 27 currmove g3f4 currmovenumber 13
info depth 27 currmove g3e1 currmovenumber 14
info depth 27 currmove b4f8 currmovenumber 15
info depth 27 currmove b4a5 currmovenumber 16
info depth 27 currmove b4c5 currmovenumber 17
info depth 27 currmove b4d6 currmovenumber 18
info depth 27 currmove f3f4 currmovenumber 19
info depth 27 currmove g3f2 currmovenumber 20
info depth 27 currmove b4d2 currmovenumber 21
info depth 27 currmove b4a3 currmovenumber 22
info depth 27 currmove b4e1 currmovenumber 23
info depth 27 currmove b4c3 currmovenumber 24
info depth 27 currmove g2f1 currmovenumber 25
info depth 27 currmove g2h1 currmovenumber 26
info depth 27 currmove g3e5 currmovenumber 27
info depth 27 seldepth 44 multipv 1 score cp 856 nodes 4021549 nps 1045916 hashfull 192 tbhits 0 time 3845 pv g3h4 h7g8 h4g3 g8h7 b4f8 c2c7 e6e7 c7e7 g3h4 h7g8 f8e7 b8c7 e7f6 c7h7 h4g5 g8f8 f3f4 d4e3 f6e5 e3c5 g5f6 f8g8 f6d8 h7e7 d8e7 c5e7 e5c3 e8c6 e2f3 e7c5 b3b4 c5e3 e4e5 c6d7 f3d5 g8f8 e5e6 d7c8 c3e5 e3d2 f5f6 d2b4
info depth 28 currmove g3h4 currmovenumber 1
info depth 28 currmove g3h3 currmovenumber 2
info depth 28 currmove g3g7 currmovenumber 3
info depth 28 currmove g2h3 currmovenumber 4
info depth 28 currmove g3g6 currmovenumber 5
info depth 28 currmove e6e7 currmovenumber 6
info depth 28 currmove b4e7 currmovenumber 7
info depth 28 currmove b4f8 currmovenumber 8
info depth 28 currmove g3g8 currmovenumber 9
info depth 28 currmove g3h2 currmovenumber 10
info depth 28 currmove g3g5 currmovenumber 11
info depth 28 currmove g3g4 currmovenumber 12
info depth 28 currmove b4c5 currmovenumber 13
info depth 28 currmove b4d6 currmovenumber 14
info depth 28 currmove b4d2 currmovenumber 15
info depth 28 currmove f3f4 currmovenumber 16
info depth 28 currmove g2f1 currmovenumber 17
info depth 28 currmove b4c3 currmovenumber 18
info depth 28 currmove b4a5 currmovenumber 19
info depth 28 currmove b4e1 currmovenumber 20
info depth 28 currmove b4a3 currmovenumber 21
info depth 28 currmove g3e1 currmovenumber 22
info depth 28 currmove g3f4 currmovenumber 23
info depth 28 currmove g3f2 currmovenumber 24
info depth 28 currmove g2h1 currmovenumber 25
info depth 28 currmove g2h2 currmovenumber 26
info depth 28 currmove g3e5 currmovenumber 27
info depth 28 seldepth 47 multipv 1 score cp 845 nodes 4467400 nps 1035798 hashfull 213 tbhits 0 time 4313 pv g3h4 h7g8 h4g3 g8h7 b4f8 c2c7 e6e7 c7e7 g3h4 h7g8 f8e7 b8c7 e7f6 c7h7 h4g5 g8f8 f3f4 d4e3 f6e5 e3c5 g5f6 f8g8 f6d8 h7e7 d8e7 c5e7 e5c3 b5b4 e2c4 g8f8 c3e5 e8c6 c4d5 c6b5 f5f6 e7c5 g2g3 b5d3 f4f5
bestmove g3h4 ponder h7g8

@ghost
Copy link

ghost commented May 22, 2022

I Test this Position also and result was b4f8
But I don't Know why your Best move is g3h4 !

info depth 28 seldepth 45 multipv 1 score cp 796 nodes 12582745 nps 1087908 hashfull 999 tbhits 0 time 11566 pv b4f8 c2c7 e6e7 c7e7 g3h3 h7g8 f8e7 b8c7 e7f6 c7h7 f3f4 h7h3 g2h3 d4c5 f6e5 g8h7 e5f6 e8f7 e2b5 f7b3 f6c3 b3c2 b5c6 h7h6 f5f6 h6h5 h3g3 h5g6 c6e8 g6h6 e4e5 c2f5 e8c6 h6g6 g3f3 f5e6 c6e4 g6h5 f3g3 e6f7 e4f5 f7b3 f5d7 b3c2 e5e6
bestmove b4f8 ponder c2c7

my stockfish version is stockfish_15_x64_avx2 , download this version & do test to see your problem solved or not ...

https://stockfishchess.org/files/stockfish_15_win_x64_avx2.zip

@dav1312
Copy link
Contributor Author

dav1312 commented May 22, 2022

my stockfish version is stockfish_15_x64_avx2 , download this version & do test to see your problem solved or not ...

Again... stop using an older/different version and expect the same result at the same depth...


Stockfish 15 by the Stockfish developers (see AUTHORS file)
position fen rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1 moves d2d4 g8f6 c2c4 g7g6 b1c3 f8g7 e2e4 d7d6 f2f3 e8g8 c1g5 b8c6 g1e2 a7a6 d1d2 f8e8 h2h4 h7h5 e1c1 a8b8 g2g4 h5g4 h4h5 f6h5 c3d5 f7f6 g5h6 g4f3 e2g3 h5g3 h6g7 g6g5 d2h2 g3h1 h2h8 g8f7 h8h7 e8g8 g7h6 f7e6 h7f5 e6f7 f5h7 f7e6 d5f4 e6d7 f1h3 g5g4 h7f5 d7e8 f5h5 e8d7 h3g4 g8g4 h5g4 d7e8
d

 +---+---+---+---+---+---+---+---+
 |   | r | b | q | k |   |   |   | 8
 +---+---+---+---+---+---+---+---+
 |   | p | p |   | p |   |   |   | 7
 +---+---+---+---+---+---+---+---+
 | p |   | n | p |   | p |   | B | 6
 +---+---+---+---+---+---+---+---+
 |   |   |   |   |   |   |   |   | 5
 +---+---+---+---+---+---+---+---+
 |   |   | P | P | P | N | Q |   | 4
 +---+---+---+---+---+---+---+---+
 |   |   |   |   |   | p |   |   | 3
 +---+---+---+---+---+---+---+---+
 | P | P |   |   |   |   |   |   | 2
 +---+---+---+---+---+---+---+---+
 |   |   | K | R |   |   |   | n | 1
 +---+---+---+---+---+---+---+---+
   a   b   c   d   e   f   g   h

Fen: 1rbqk3/1pp1p3/p1np1p1B/8/2PPPNQ1/5p2/PP6/2KR3n w - - 1 29
Key: D1C84C7B7836A670
Checkers:
go depth 21
info string NNUE evaluation using nn-6877cd24400e.nnue enabled
info depth 1 seldepth 1 multipv 1 score cp 206 nodes 59 nps 29500 tbhits 0 time 2 pv g4g8 e8d7
info depth 2 seldepth 2 multipv 1 score cp 320 nodes 116 nps 58000 tbhits 0 time 2 pv g4f3 e8d7
info depth 3 seldepth 3 multipv 1 score cp 290 nodes 234 nps 78000 tbhits 0 time 3 pv g4g8 e8d7 g8g4 f6f5 g4f5 d7e8
info depth 4 seldepth 4 multipv 1 score cp 290 nodes 307 nps 76750 tbhits 0 time 4 pv g4g8 e8d7 g8g4 f6f5
info depth 5 seldepth 5 multipv 1 score cp 302 nodes 543 nps 108600 tbhits 0 time 5 pv g4f3 e8d7 f3g4 d7e8 g4g7
info depth 6 seldepth 6 multipv 1 score cp 450 nodes 697 nps 139400 tbhits 0 time 5 pv g4f3 e8d7 f3g4 d7e8
info depth 7 seldepth 9 multipv 1 score cp 357 nodes 2802 nps 350250 tbhits 0 time 8 pv g4g6 e8d7 g6g4 d7e8 g4f3 e8d7 f3h3 d7e8
info depth 8 seldepth 12 multipv 1 score cp 330 nodes 4162 nps 416200 tbhits 0 time 10 pv g4g6 e8d7 g6g4 d7e8 g4f3 e8d7 f3h3 d7e8 h3h1 c8g4 d1g1
info depth 9 seldepth 11 multipv 1 score cp 345 nodes 6023 nps 463307 tbhits 0 time 13 pv g4g6 e8d7 g6g4 d7e8 g4f3 e8d7 f3h3 d7e8 h3h1 c8g4
info depth 10 seldepth 21 multipv 1 score cp 242 nodes 75022 nps 833577 tbhits 0 time 90 pv g4g6 e8d7 g6g4 d7e8 g4f3 h1f2 d1g1 e8d7 f3f2 d8h8
info depth 11 seldepth 20 multipv 1 score cp 209 nodes 148304 nps 915456 tbhits 0 time 162 pv g4f3 h1f2 d1g1 e8d7 f3f2 d8h8 h6g7 h8h7 f4d5 h7e4 g7f6 e4d3
info depth 12 seldepth 19 multipv 1 score cp 193 nodes 176985 nps 926623 tbhits 0 time 191 pv g4g8 e8d7 g8g4 d7e8 g4f3 h1f2 d1g1 e8d7 f3f2 d8h8 h6g7 h8h7 f4d5 d7e8 g7f6 c8e6 d5c7 e8d7 c7e6
info depth 13 seldepth 23 multipv 1 score cp 238 nodes 184968 nps 934181 tbhits 0 time 198 pv g4h5 e8d7 h5g4 d7e8 g4f3 h1f2 d1g1 e8d7 f3f2 d8h8
info depth 14 seldepth 28 multipv 1 score cp 250 nodes 444404 nps 949581 tbhits 0 time 468 pv g4h5 e8d7 h5g4 d7e8 g4f3 h1f2 f3f2 e8d7 d1g1 b7b5 g1g7 b5c4 f2h4 c6d4 h4f6 c7c5 f4d5 d7c6 g7e7
info depth 15 seldepth 25 multipv 1 score cp 183 nodes 639399 nps 952904 tbhits 0 time 671 pv g4g6 e8d7 g6f5 d7e8 f5h5 e8d7 h5h3 d7e8 h3f3 h1f2 f3f2 c8g4 d1g1 d8d7 h6g7 e8d8 f2h4 c6d4 g7f6 e7f6 h4f6 d8c8 f6d4 b7b5 d4d5
info depth 16 seldepth 33 multipv 1 score cp 217 nodes 902565 nps 951069 tbhits 0 time 949 pv g4f3 h1f2 f3f2 c8g4 d1g1 d8d7 h6g7 e7e5 f4d5 d7g7 g1g4 g7h6 c1d1 e8f7 g4h4 h6g6 d5f6 e5d4 f6d7 f7e6 d7b8 c6b8 f2d4 e6d7
info depth 17 seldepth 31 multipv 1 score cp 196 nodes 1039022 nps 938592 hashfull 352 tbhits 0 time 1107 pv g4g6 e8d7 g6g4 d7e8 g4f3 h1f2 f3f2 c8g4 d1g1 d8d7 h6g7 e7e5 f4d5 d7g7 g1g4 g7h6 c1d1 e8f7 g4h4 h6g6 d5f6 e5d4 f6d7 f7e6 d7b8 c6b8 f2d4 b8d7 d4e3
info depth 18 seldepth 32 multipv 1 score cp 195 nodes 1184858 nps 928572 hashfull 402 tbhits 0 time 1276 pv g4g6 e8d7 g6g4 d7e8 g4f3 h1f2 f3f2 c8g4 d1g1 d8d7 h6g7 e7e5 f4d5 d7g7 g1g4 g7h6 c1d1 e8f7 g4h4 h6g6 d5f6 e5d4 f6d7 f7e7 d7b8 c6b8 f2d4 b8d7 d4e3 b7b6 e3h3 g6g1 d1e2
info depth 19 seldepth 38 multipv 1 score cp 233 nodes 1332252 nps 931644 hashfull 442 tbhits 0 time 1430 pv g4g6 e8d7 g6g4 d7e8 g4f3 h1f2 f3f2 c8g4 d1g1 d8d7 h6g7 e7e5 f4d5 d7g7 g1g4 g7h6 c1d1 e8f7 g4h4 h6g6 d5f6 e5d4 f6d7 f7e7 d7b8 c6b8 f2d4 b8d7 d4f2 d7c5 f2f5 g6g1 d1e2
info depth 20 seldepth 34 multipv 1 score cp 227 nodes 1470783 nps 933830 hashfull 482 tbhits 0 time 1575 pv g4g6 e8d7 g6g4 d7e8 g4h5 e8d7 h5h3 d7e8 h3f3 h1f2 f3f2 c8g4 d1g1 d8d7 h6g7 e7e5 f4d5 d7g7 g1g4 g7h6 c1d1 e8f7 g4h4 h6g6 d5f6 e5d4 f6d7 f7e7 d7b8 c6b8 f2d4 b8d7 d4f2 d7e5
info depth 21 seldepth 34 multipv 1 score cp 252 nodes 1812422 nps 939078 hashfull 573 tbhits 0 time 1930 pv g4g6 e8d7 g6g4 d7e8 g4f3 h1f2 f3f2 c8g4 d1g1 d8d7 h6g7 e8d8 f2h4 c6d4 g7f6 e7f6 h4f6 d8c8 f6d4 b7b5 f4d5 c7c5 d4f6 c8b7 e4e5 b5c4 d5e3
bestmove g4g6 ponder e8d7

Happy now? sigh

@ghost
Copy link

ghost commented May 22, 2022

yes yes , that is Like Zugzwang Issues ,maybe exist a bug in Nnue Evaluation , Thanks Dav for Report This Issues

@dav1312
Copy link
Contributor Author

dav1312 commented May 22, 2022

maybe exist a bug in Nnue Evaluation

No, this happens in Stockfish Classical too

Stockfish 291021 64 POPCNT by T. Romstad, M. Costalba, J. Kiiski, G. Linscott
position fen rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1 moves d2d4 g8f6 c2c4 g7g6 b1c3 f8g7 e2e4 d7d6 f2f3 e8g8 c1g5 b8c6 g1e2 a7a6 d1d2 f8e8 h2h4 h7h5 e1c1 a8b8 g2g4 h5g4 h4h5 f6h5 c3d5 f7f6 g5h6 g4f3 e2g3 h5g3 h6g7 g6g5 d2h2 g3h1 h2h8 g8f7 h8h7 e8g8 g7h6 f7e6 h7f5 e6f7 f5h7 f7e6 d5f4 e6d7 f1h3 g5g4 h7f5 d7e8 f5h5 e8d7 h3g4 g8g4 h5g4 d7e8
d

 +---+---+---+---+---+---+---+---+
 |   | r | b | q | k |   |   |   | 8
 +---+---+---+---+---+---+---+---+
 |   | p | p |   | p |   |   |   | 7
 +---+---+---+---+---+---+---+---+
 | p |   | n | p |   | p |   | B | 6
 +---+---+---+---+---+---+---+---+
 |   |   |   |   |   |   |   |   | 5
 +---+---+---+---+---+---+---+---+
 |   |   | P | P | P | N | Q |   | 4
 +---+---+---+---+---+---+---+---+
 |   |   |   |   |   | p |   |   | 3
 +---+---+---+---+---+---+---+---+
 | P | P |   |   |   |   |   |   | 2
 +---+---+---+---+---+---+---+---+
 |   |   | K | R |   |   |   | n | 1
 +---+---+---+---+---+---+---+---+
   a   b   c   d   e   f   g   h

Fen: 1rbqk3/1pp1p3/p1np1p1B/8/2PPPNQ1/5p2/PP6/2KR3n w - - 1 29
Key: D1C84C7B7836A670
Checkers:
go depth 21
info depth 1 seldepth 1 multipv 1 score cp 306 nodes 71 nps 71000 tbhits 0 time 1 pv f4e6
info depth 2 seldepth 2 multipv 1 score cp 172 nodes 188 nps 94000 tbhits 0 time 2 pv g4f3 e8d7 f3h1
info depth 3 seldepth 3 multipv 1 score cp 29 nodes 334 nps 167000 tbhits 0 time 2 pv g4f3 b7b5 f3h1 b5c4
info depth 4 seldepth 4 multipv 1 score cp 96 nodes 396 nps 132000 tbhits 0 time 3 pv g4f3 b7b5 f3h1 b5c4
info depth 5 seldepth 6 multipv 1 score cp 124 nodes 517 nps 172333 tbhits 0 time 3 pv g4f3 b7b5 f3h1 b5c4
info depth 6 seldepth 8 multipv 1 score cp 48 nodes 1207 nps 301750 tbhits 0 time 4 pv g4f3 d8d7 f3h5 e8d8 h5h1 d7g4 a2a3
info depth 7 seldepth 11 multipv 1 score cp 273 nodes 1593 nps 318600 tbhits 0 time 5 pv g4f3 d8d7 d1g1
info depth 8 seldepth 10 multipv 1 score cp 266 nodes 4967 nps 827833 tbhits 0 time 6 pv g4f3 e8d7 d4d5 c6b4 d1h1 b4a2 c1b1 a2b4 f3g4 d7e8
info depth 9 seldepth 16 multipv 1 score cp 118 nodes 21827 nps 1364187 tbhits 0 time 16 pv g4f3 e8d7 f4d5 d8g8 f3h1 d7d8 d1g1 g8h8 g1g7 c8e6 c1b1
info depth 10 seldepth 18 multipv 1 score cp 242 nodes 27276 nps 1363800 tbhits 0 time 20 pv g4f3 e8d7 f3g4 d7e8 g4g2 e8d7 f4d5
info depth 11 seldepth 21 multipv 1 score cp 130 nodes 67255 nps 1681375 tbhits 0 time 40 pv g4f3 h1f2 f3f2 e8d7 f4d5 d8h8 h6e3 h8h3 d1g1 b7b5 c4b5 b8b5
info depth 12 seldepth 19 multipv 1 score cp 290 nodes 80098 nps 1704212 tbhits 0 time 47 pv g4f3 h1f2 f3f2 e8d7 d4d5 c6e5
info depth 13 seldepth 20 multipv 1 score cp 90 nodes 158010 nps 1795568 tbhits 0 time 88 pv g4f3 c6d4 d1d4 e7e5 d4d1 e5f4 d1h1 c8e6 h6f4 e8e7 f4d2 d8g8 d2c3 e7d7 f3f6 d7c6
info depth 14 seldepth 23 multipv 1 score cp 131 nodes 177658 nps 1794525 tbhits 0 time 99 pv g4f3 c6d4 d1d4 e7e5 d4d1 e5f4 d1h1 e8e7 h1g1 c8e6 f3f4 e6f7 h6g7
info depth 15 seldepth 18 multipv 1 score cp 136 nodes 194771 nps 1786889 tbhits 0 time 109 pv g4f3 c6d4 d1d4 e7e5 d4d1 e5f4 d1h1 e8e7 h1g1 c8e6 f3f4 e6f7 h6g7 d8e8 f4f5 e8a4 f5f6 e7e8
info depth 16 seldepth 28 multipv 1 score cp 265 nodes 260423 nps 1846971 tbhits 0 time 141 pv g4f3 c6d4 d1d4 e7e5 f4d5 e5d4 d5f6 e8f7 f3h5 f7e7 h6g5 d8f8 f6d5 e7d7 h5h1
info depth 17 seldepth 31 multipv 1 score cp 200 nodes 495455 nps 1841840 tbhits 0 time 269 pv g4f3 h1f2 f3f2 c8g4 d1g1 d8d7 h6g7 c6b4 a2a3 e7e5 a3b4 e5f4 g7f6 d7e6 d4d5 e6f6 g1g4 e8d7 g4f4 f6g5 c1c2 b8g8 f4f7 d7c8 f2f5 c8b8 f7f8 b8a7 f8g8 g5g8
info depth 18 seldepth 35 multipv 1 score cp 250 nodes 576452 nps 1847602 tbhits 0 time 312 pv g4f3 h1f2 f3f2 c8g4 d1g1 d8d7 h6g7 c6d4 f2d4 e7e5 d4a7 b8d8 g7f6 e5f4 f6d8 e8d8 a7b7 d8e7 b7a6
info depth 19 seldepth 32 multipv 1 score cp 126 nodes 1286937 nps 1889775 tbhits 0 time 681 pv g4f3 c6d4 d1d4 e7e5 d4d1 e5f4 h6f4 h1f2 f3f2 c8e6 d1h1 e6g8 b2b3 b7b5 f2g2 e8d7 c4c5 d7c6 c5d6 c7d6 h1d1 c6b7 d1d6
info depth 20 seldepth 40 multipv 1 score cp 149 nodes 2136010 nps 1922601 hashfull 796 tbhits 0 time 1111 pv g4f3 c6d4 d1d4 e7e5 d4d1 e5f4 h6f4 d8d7 d1h1 d7g7 f3h5 g7f7 h5h8 f7f8 h8h2 b7b6 b2b3 c8g4 h2g2 f8g8 h1h6 e8e7 g2h1 b6b5 h6h7 e7e6 c1b2 b5c4
info depth 21 seldepth 39 multipv 1 score cp 172 nodes 2432768 nps 1935376 hashfull 848 tbhits 0 time 1257 pv g4g6 e8d7 g6g4 d7e8 g4f3 c6d4 d1d4 e7e5 f4d5 e5d4 d5f6 e8e7 f3h1 d8h8 h1h4 h8f6 h6g5 f6g5 h4g5 e7d7 e4e5 b7b5 g5g4 d7c6 g4e4 c6d7 e4d4 b5c4 e5d6 c7d6
bestmove g4g6 ponder e8d7

@ghost
Copy link

ghost commented May 23, 2022

I Test this Position via komodo 12 and result was g4f3 , I did not see still this issues in other engine like komodo , fritz , ...

info depth 21 time 6773 nodes 12114232 score cp 138 lowerbound nps 1788451 hashfull 330 tbhits 0 pv g4f3 h1f2 f3f2
info time 6774 nodes 12114232 nps 1788182 hashfull 330
bestmove g4f3 ponder h1f2

Thanks Dav for found This Issues in Stockfish engine

@Karma-Tron
Copy link

I think that this is the commit that causes the issue.
95d7369

@dav1312
Copy link
Contributor Author

dav1312 commented May 23, 2022

I think that this is the commit that causes the issue. 95d7369

This doesn't seem to be a new issue created by a recent commit as it can be reproduced with very old versions of Stockfish like (as I already mentioned) Stockfish Classical but I tried with even older versions like Stockfish 9 and same things happen

@dubslow
Copy link
Contributor

dubslow commented Jun 13, 2022

A Discord user claims that weird shuffling can be found even in simple cases of KRvK, and that Stockfish 14 does not have a shuffling problem, while SFs 12, 13 and 15 all have a shuffling problem (even while 14 doesn't)

@vondele
Copy link
Member

vondele commented Jun 16, 2022

The shuffling in KRvK is probably because the NNUE nets don't score positions in KRvK in a way that makes the path to mate obvious, it is just a winning position. The classical eval has terms that pushes the king to the edge.

@vondele
Copy link
Member

vondele commented Jun 16, 2022

More generally, SF doesn't repeat moves 'on purpose' so there are no terms that obviously favor repetition. Nevertheless, this behavior could of course emerge from whatever combination of search heuristics.

@dav1312
Copy link
Contributor Author

dav1312 commented Jun 16, 2022

there are no terms that obviously favor repetition.

By "on purpose" I don't really mean "favor" as in "preferring" I mean more like "knowing and not caring".
If Stockfish sees in his PV that a sequence of moves leads to the exact same position that it has now it should just filter those moves and go directly to the move that doesn't repeat because there really isn't a point on playing the other ones.

@Matthies
Copy link
Contributor

Let w1-b1-w2-b2-w3-b3-w4-... be the pv with SF playing move w1 and lets assume a repetition of the current position after move b3. You suggest that we should cut the first 6 plies of the pv and directly play w4, right?
Lets assume that SF got this PV with a search of depth 30. Then w4 was searched with a depth of 24 or maybe even lower.
Why should we trust a move that was searched with this low depth?
Lets assume that w1 and b1 are played and now SF searches on this positions, gets a deeper search and finds a new move w2' that is better than w2 from the old pv. This new best move could not be played if we had cut the pv and already played the depth 24 move w4.
Red hearts don't gain Elo.

@official-stockfish official-stockfish deleted a comment Jun 18, 2022
@dav1312
Copy link
Contributor Author

dav1312 commented Jun 18, 2022

Lets assume that w1 and b1 are played and now SF searches on this positions, gets a deeper search and finds a new move w2' that is better than w2 from the old pv. This new best move could not be played if we had cut the pv and already played the depth 24 move w4.

The repetitions to which I refer:

  • Are usually just 2 moves so: w1, b1, w2, b2, w3
  • Usually involve a queen and putting the king in check so: Q1+, k1, Q2+, k2 (repetition), w3 (progress)

I think that limiting a filter to apply only in these situations could avoid trusting low depth moves
Or maybe not filtering them but giving more importance and depth to the progress move to see if Stockfish would stick to it?
Not sure if Stockfish can understand what progress in a position is tho

Red hearts don't gain Elo.

Please ignore the reactions, they are from a spammer that is now banned

@Matthies
Copy link
Contributor

Lets assume that w1 and b1 are played and now SF searches on this positions, gets a deeper search and finds a new move w2' that is better than w2 from the old pv. This new best move could not be played if we had cut the pv and already played the depth 24 move w4.

The repetitions to which I refer:

* Are usually just 2 moves so: w1, b1, w2, b2, w3

My argument "we may find a better w2' after w1-b1 are played" is still valid in your case.

I think that limiting a filter to apply only in these situations could avoid trusting low depth moves Or maybe not filtering them but giving more importance and depth to the progress move to see if Stockfish would stick to it? Not sure if Stockfish can understand what progress in a position is tho

Evaluating 2-fold repetition as a draw even in root (if expected score is > 0) should do what you want. No idea if this was already tested at some time.

@dav1312
Copy link
Contributor Author

dav1312 commented Jun 18, 2022

Evaluating 2-fold repetition as a draw even in root (if expected score is > 0) should do what you want. No idea if this was already tested at some time.

No idea if it was ever tested to be honest
I like the idea, maybe consider it a draw only if it happens in the next 2 moves and don't consider it a draw if it happened before?
So if w1 has already been played, don't consider w2 a draw but if you didn't play w1 yet then consider w2 a draw? 🤔
That would make Stockfish avoid thinking about w2 and look for other potential moves, look for w2' and if it doesn't find it then it would look at w3

@vondele
Copy link
Member

vondele commented Jun 18, 2022

there was old work on 2-fold vs 3-fold, multiple PRs IIRC see #1126 as a starter

@dav1312
Copy link
Contributor Author

dav1312 commented Jun 18, 2022

Hmm yeah I didn't consider MultiPV... but I guess this behaviour could've been disabled only when MultiPV was more than 1? Why not? That way you "hide" the trick when MultiPV is 1 and it would still work for real games
Or show the repeating move with the same eval (or maybe 1cp less?) than the top move? But score it internally as a draw so resources are not wasted looking at it
In this case I'm talking about 5r1k/6n1/B1b4N/8/8/8/P4P2/1K5R w - - 0 1 Nf7+

@RogerThiede
Copy link

Repeating the same position throughout the game is not an issue, but wanting to repeat moves when you have a clear advantage and when it's just making you waste time makes no sense.

I don't see how purposely repeating moves is considered an issue. Stockfish has determined a winning route, but has also determined that it can reach that same winning route via transposition by repeating moves, and if the opponent doesn't play the sharpest line which likely also repeats moves, the opponent would be even worse off than if Stockfish simply went directly for the winning route. Keep in mind the best PV will always try to optimize its evaluation, and it has determined that it has an opportunity to reach an even stronger evaluation. Isn't that the purpose of Stockfish?

The only argument I can think of is that if you have a clearly winning position, you should prioritize moves that reset the 50move rule over moves that might raise your evaluation?

@Swiddis
Copy link

Swiddis commented Sep 17, 2022

Another factor I haven't seen discussed (but touched on by @RogerThiede) is that it isn't guaranteed that a repetition in the PV is a repetition in the game. SF may not be decided between whether to repeat or choose another line. If A -> B -> A -> D and A -> B -> C are both good sequences but D looks slightly better than C at eval time, should we skip a chance to find something when at B?1

This gets messier when factoring in contempt (see Roger again), the time control, and ponder settings: probing for more eval time is a good thing in critical moments during competitive play. NNUE might even be optimizing for this in training.

In cases where it does matter (mate-in-N, 48-50 DTZ) SF should correct itself already, so I agree that this is a non-issue.

Footnotes

  1. On my tests of the original position with 82bb21d at depth 30, SF does exactly this, opting for g4g8 and switching between g8g4 and g8e6 at 1rbq2Q1/1ppkp3/p1np1p1B/8/2PPPN2/5p2/PP6/2KR3n w - - 3 30.

@abdulbadii
Copy link

abdulbadii commented Sep 29, 2022

bug, i agree for nothing but black king as it's checked on d7

how come it takes at least 4 sec to the inevitable forced move ?

@dsmsgms
Copy link
Contributor

dsmsgms commented Nov 21, 2022

I came up with a dirty trick that might solve the problem. It would be easy to test for regression, but it is a functional change nonetheless.

@vdbergh
Copy link
Contributor

vdbergh commented Nov 21, 2022

There is a general issue with tree search that winning a pawn in 5 moves has the same evaluation as winning a pawn in 1 move (all else being equal). So the engine has no reason to select one over the other and this may lead to shuffling. Some people like to dampen evaluations by depth (as is done for mates) to mitigate this problem. However this may potentially lead to hash table issues.

@dsmsgms
Copy link
Contributor

dsmsgms commented Nov 21, 2022

I forgot to put the link:
dsmsgms@2349455

I might test it in a latter occasion.

@silversolver1
Copy link

Here is a potentially relevant page: https://www.ics.uci.edu/~eppstein/180a/990202a.html

Here is also a very bootleg solution I came up with: silversolver1@56177af

value_to_tt()
  Value value_to_tt(Value v, int ply) {

  assert(v != VALUE_NONE);

  return  v >= VALUE_TB_WIN_IN_MAX_PLY  ? v + ply
        : v <= VALUE_TB_LOSS_IN_MAX_PLY ? v - ply : v;
}
value_from_tt()
Value value_from_tt(Value v, int ply, int r50c) {

  if (v == VALUE_NONE)
      return VALUE_NONE;

  if (v >= VALUE_TB_WIN_IN_MAX_PLY)  // TB win or better
  {
      if (v >= VALUE_MATE_IN_MAX_PLY && VALUE_MATE - v > 99 - r50c)
          return VALUE_MATE_IN_MAX_PLY - 1; // do not return a potentially false mate score

      return v - ply;
  }

  if (v <= VALUE_TB_LOSS_IN_MAX_PLY) // TB loss or worse
  {
      if (v <= VALUE_MATED_IN_MAX_PLY && VALUE_MATE + v > 99 - r50c)
          return VALUE_MATED_IN_MAX_PLY + 1; // do not return a potentially false mate score

      return v + ply;
  }

  return v;
}

This is obviously a very naive attempt at a solution but this is the reasoning:

this is clearly already done for values in the range of (greater than) VALUE_TB_WIN_IN_MAX_PLY and (less than) VALUE_TB_LOSS_IN_MAX_PLY

so why not then increase the range of values that this is done for, by decreasing the minimum values for which this ply adjustment occurs at?

For example, by decreasing VALUE_TB_WIN_IN_MAX_PLY to, say, VALUE_KNOWN_WIN * 2, we could have the effect of weighting clearly won positions by ply, without waiting so long for the positions to actually enter tb territory

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

No branches or pull requests

14 participants