Strange draw scores when searching Fine#70

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

konsolas
Posts: 182
Joined: Sun Jun 12, 2016 5:44 pm
Location: London
Full name: Vincent

Strange draw scores when searching Fine#70

Post by konsolas »

I'm getting some extremely strange behaviour on the Lasker-Reichhelm position:
[d]8/k7/3p4/p2P1p2/P2P1P2/8/8/K7 w - -

When Topple searches this position, the search is initially very fast and Topple finds the move reasonably quickly thanks to the transposition table, but the score randomly drops down to zero at depth 30, stays there until depth 33, before climbing back up until depth 33, and then dropping down to 0 again at depth 35, and climbing back up up to depth 37, and so on.

Code: Select all

info depth 28 seldepth 38 score cp 288 lowerbound time 444 nodes 610570 nps 1372000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c
2 d7c8 c2d2 c8d7 d2c3 d7c7 c3d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6g7 h5g5 g7g8 g5g6 g8h8 g6f6 h8h7 f6f
5
info depth 28 seldepth 38 score cp 303 lowerbound time 458 nodes 630825 nps 1374000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c
2 d7c8 c2d2 c8d7 d2c3 d7c7 c3d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6g7 h5g5 g7g8 g5g6 g8h8 g6f6 h8h7 f6f
5
info depth 28 seldepth 38 score cp 325 lowerbound time 478 nodes 654493 nps 1366000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c
2 d7c8 c2d2 c8d7 d2c3 d7c7 c3d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6g7 h5g5 g7g8 g5g6 g8h8 g6f6 h8h7 f6f
5
info depth 28 seldepth 38 score cp 358 lowerbound time 495 nodes 677365 nps 1365000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c
2 d7c8 c2d2 c8d7 d2c3 d7c7 c3d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6g7 h5g5 g7g8 g5g6 g8h8 g6f6 h8h7 f6f
5
info depth 28 seldepth 38 score cp 258 upperbound time 541 nodes 743940 nps 1372000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c
2 d7c8 c2d2 c8d7 d2c3 d7c7 c3d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6g7 h5g5 g7g8 g5g6 g8h8 g6f6 h8h7 f6f
5
info depth 28 seldepth 38 score cp 332 lowerbound time 571 nodes 771074 nps 1348000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c
2 d7c8 c2d2 c8d7 d2c3 d7c7 c3d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6g7 h5g5 g7g8 g5g6 g8h8 g6f6 h8h7 f6f
5
info depth 28 seldepth 39 score cp 354 time 599 nodes 818353 nps 1363000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7c8 c2d2
 c8b7 d2e2 b7c8 e2f3 c8d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5f4 f8g8 f4g4
 g8f7 g4f5
info depth 29 seldepth 40 score cp 369 lowerbound time 652 nodes 915201 nps 1401000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c
2 d7c8 c2d2 c8b7 d2e2 b7c8 e2f3 c8d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5f
4 f8g8 f4g4 g8f7 g4f5
info depth 29 seldepth 40 score cp 339 upperbound time 681 nodes 960383 nps 1408000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c
2 d7c8 c2d2 c8b7 d2e2 b7c8 e2f3 c8d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5f
4 f8g8 f4g4 g8f7 g4f5
info depth 29 seldepth 40 score cp 317 upperbound time 695 nodes 977562 nps 1404000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c
2 d7c8 c2d2 c8b7 d2e2 b7c8 e2f3 c8d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5f
4 f8g8 f4g4 g8f7 g4f5
info depth 29 seldepth 40 score cp 339 lowerbound time 706 nodes 986418 nps 1395000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c
2 d7c8 c2d2 c8b7 d2e2 b7c8 e2f3 c8d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5f
4 f8g8 f4g4 g8f7 g4f5
info depth 29 seldepth 40 score cp 284 upperbound time 719 nodes 1003494 nps 1393000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1
c2 d7c8 c2d2 c8b7 d2e2 b7c8 e2f3 c8d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5
f4 f8g8 f4g4 g8f7 g4f5
info depth 29 seldepth 40 score cp 336 lowerbound time 741 nodes 1033404 nps 1392000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1
c2 d7c8 c2d2 c8b7 d2e2 b7c8 e2f3 c8d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5
f4 f8g8 f4g4 g8f7 g4f5
info depth 29 seldepth 40 score cp 354 time 778 nodes 1096926 nps 1408000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7c7 c2d
3 c7b7 d3e3 b7c7 e3f3 c7d7 f3g3 d7c8 g3h3 c8c7 h3h4 c7d7 h4g5 d7e7 g5f5 e7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5f4 f8f7 f4f
5
info depth 30 seldepth 39 score cp 369 lowerbound time 804 nodes 1140927 nps 1417000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1
c2 d7c7 c2d3 c7b7 d3e3 b7c7 e3f3 c7d7 f3g3 d7c8 g3h3 c8c7 h3h4 c7d7 h4g5 d7e7 g5f5 e7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5
f4 f8f7 f4f5
info depth 30 seldepth 39 score cp 339 upperbound time 840 nodes 1197390 nps 1423000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1
c2 d7c7 c2d3 c7b7 d3e3 b7c7 e3f3 c7d7 f3g3 d7c8 g3h3 c8c7 h3h4 c7d7 h4g5 d7e7 g5f5 e7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5
f4 f8f7 f4f5
info depth 30 seldepth 39 score cp 317 upperbound time 873 nodes 1234384 nps 1412000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1
c2 d7c7 c2d3 c7b7 d3e3 b7c7 e3f3 c7d7 f3g3 d7c8 g3h3 c8c7 h3h4 c7d7 h4g5 d7e7 g5f5 e7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5
f4 f8f7 f4f5
info depth 30 seldepth 39 score cp 284 upperbound time 883 nodes 1246307 nps 1409000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1
c2 d7c7 c2d3 c7b7 d3e3 b7c7 e3f3 c7d7 f3g3 d7c8 g3h3 c8c7 h3h4 c7d7 h4g5 d7e7 g5f5 e7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5
f4 f8f7 f4f5
info depth 30 seldepth 39 score cp 235 upperbound time 894 nodes 1258810 nps 1406000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1
c2 d7c7 c2d3 c7b7 d3e3 b7c7 e3f3 c7d7 f3g3 d7c8 g3h3 c8c7 h3h4 c7d7 h4g5 d7e7 g5f5 e7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5
f4 f8f7 f4f5
info depth 30 seldepth 39 score cp 162 upperbound time 908 nodes 1278458 nps 1406000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1
c2 d7c7 c2d3 c7b7 d3e3 b7c7 e3f3 c7d7 f3g3 d7c8 g3h3 c8c7 h3h4 c7d7 h4g5 d7e7 g5f5 e7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5
f4 f8f7 f4f5
info depth 30 seldepth 39 score cp 53 upperbound time 920 nodes 1293829 nps 1404000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c
2 d7c7 c2d3 c7b7 d3e3 b7c7 e3f3 c7d7 f3g3 d7c8 g3h3 c8c7 h3h4 c7d7 h4g5 d7e7 g5f5 e7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5f
4 f8f7 f4f5
info depth 30 seldepth 39 score cp 0 time 947 nodes 1332558 nps 1405000 pv a1b1 a7b7 b1c1 b7c7 c1d2 c7c8 d2e2 c8d7 e2f2
d7e7 f2g3 e7f6 g3h4 f6g6 h4h3 g6h5 h3g3 h5h6 g3f3 h6g6 f3f2 g6h5 f2g3
info depth 31 seldepth 34 score cp 0 time 973 nodes 1363095 nps 1399000 pv a1b1 a7b7 b1c1 b7c7 c1d2 c7c8 d2e2 c8d7 e2f2
d7e7 f2g3 e7f6 g3h4 f6g6 h4h3 g6h5 h3g3 h5h6 g3f3 h6g6 f3f2 g6h5 f2g3
info currmove a1a2 currmovenumber 3
info depth 32 seldepth 38 score cp 0 time 1007 nodes 1412281 nps 1401000 pv a1b1 a7b7 b1c1 b7c7 c1d2 c7c8 d2e2 c8d7 e2f2
 d7e7 f2g3 e7f6 g3h4 f6g6 h4h3 g6h5 h3g3 h5h6 g3f3 h6g6 f3f2 g6h5 f2g3
info currmove a1b1 currmovenumber 1
info depth 33 seldepth 36 score cp 0 lowerbound time 1029 nodes 1439206 nps 1397000 pv a1b1 a7b7 b1c1 b7c7 c1d2 c7c8 d2e
2 c8d7 e2f2 d7e7 f2g3 e7f6 g3h4 f6g6 h4h3 g6h5 h3g3 h5h6 g3f3 h6g6 f3f2 g6h5 f2g3
info currmove a1b2 currmovenumber 2
info currmove a1a2 currmovenumber 3
info depth 33 seldepth 36 score cp 0 time 1038 nodes 1447834 nps 1393000 pv a1b1 a7b7 b1c1 b7c7 c1d2 c7c8 d2e2 c8d7 e2f2
 d7e7 f2g3 e7f6 g3h4 f6g6 h4h3 g6h5 h3g3 h5h6 g3f3 h6g6 f3f2 g6h5 f2g3
info currmove a1b1 currmovenumber 1
info depth 34 seldepth 37 score cp 15 lowerbound time 1158 nodes 1588760 nps 1370000 pv a1b1 a7b7 b1c1 b7c7 c1d2 c7c8 d2
e2 c8d7 e2f2 d7e7 f2g3 e7f6 g3h4 f6g6 h4h3 g6h5 h3g3 h5h6 g3f3 h6g6 f3f2 g6h5 f2g3
info currmove a1b1 currmovenumber 1
info depth 34 seldepth 37 score cp 30 lowerbound time 1170 nodes 1606454 nps 1371000 pv a1b1 a7b7 b1c1 b7c7 c1d2 c7c8 d2
e2 c8d7 e2f2 d7e7 f2g3 e7f6 g3h4 f6g6 h4h3 g6h5 h3g3 h5h6 g3f3 h6g6 f3f2 g6h5 f2g3
info currmove a1b1 currmovenumber 1
info depth 34 seldepth 37 score cp 52 lowerbound time 1184 nodes 1624503 nps 1370000 pv a1b1 a7b7 b1c1 b7c7 c1d2 c7c8 d2
e2 c8d7 e2f2 d7e7 f2g3 e7f6 g3h4 f6g6 h4h3 g6h5 h3g3 h5h6 g3f3 h6g6 f3f2 g6h5 f2g3
info currmove a1b1 currmovenumber 1
info depth 34 seldepth 37 score cp 85 lowerbound time 1201 nodes 1646697 nps 1369000 pv a1b1 a7b7 b1c1 b7c7 c1d2 c7c8 d2
e2 c8d7 e2f2 d7e7 f2g3 e7f6 g3h4 f6g6 h4h3 g6h5 h3g3 h5h6 g3f3 h6g6 f3f2 g6h5 f2g3
info currmove a1b1 currmovenumber 1
info depth 34 seldepth 37 score cp 134 lowerbound time 1227 nodes 1681499 nps 1369000 pv a1b1 a7b7 b1c1 b7c7 c1d2 c7c8 d
2e2 c8d7 e2f2 d7e7 f2g3 e7f6 g3h4 f6g6 h4h3 g6h5 h3g3 h5h6 g3f3 h6g6 f3f2 g6h5 f2g3
info currmove a1b1 currmovenumber 1
info depth 34 seldepth 38 score cp 207 lowerbound time 1246 nodes 1710562 nps 1371000 pv a1b1 a7b7 b1c1 b7c7 c1d2 c7c8 d
2e2 c8d7 e2f2 d7e7 f2g3 e7f6 g3h4 f6g6 h4h3 g6h5 h3g3 h5h6 g3f3 h6g6 f3f2 g6h5 f2g3
info currmove a1b1 currmovenumber 1
info depth 34 seldepth 40 score cp 316 lowerbound time 1266 nodes 1741310 nps 1374000 pv a1b1 a7b7 b1c1 b7c7 c1d2 c7c8 d
2e2 c8d7 e2f2 d7e7 f2g3 e7f6 g3h4 f6g6 h4h3 g6h5 h3g3 h5h6 g3f3 h6g6 f3f2 g6h5 f2g3
info currmove a1b1 currmovenumber 1
info depth 34 seldepth 44 score cp 479 lowerbound time 1335 nodes 1870122 nps 1399000 pv a1b1 a7b7 b1c1 b7c7 c1d2 c7c8 d
2e2 c8d7 e2f2 d7e7 f2g3 e7f6 g3h4 f6g6 h4h3 g6h5 h3g3 h5h6 g3f3 h6g6 f3f2 g6h5 f2g3
info currmove a1b1 currmovenumber 1
info depth 34 seldepth 46 score cp 556 lowerbound time 1421 nodes 2003169 nps 1408000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d
1c2 d7c7 c2d3 c7b7 d3e3 b7c7 e3f2 c7c8 f2g3 c8d7 g3h4 d7e7 h4g5 e7e8 g5f6 e8d8 f6f5 d8e7 f5g6 e7f8 g6f6 f8g8 f6e6 g8g7 f
4f5 g7h6 e6d6 h6g5 d6e5 g5g4 d5d6
info currmove a1b2 currmovenumber 2
info currmove a1a2 currmovenumber 3
info depth 34 seldepth 46 score cp 556 time 1429 nodes 2006778 nps 1403000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7c7 c2
d3 c7b7 d3e3 b7c7 e3f2 c7c8 f2g3 c8d7 g3h4 d7e7 h4g5 e7e8 g5f6 e8d8 f6f5 d8e7 f5g6 e7f8 g6f6 f8g8 f6e6 g8g7 f4f5 g7h6 e6
d6 h6g5 d6e5 g5g4 d5d6
info currmove a1b1 currmovenumber 1
info depth 35 seldepth 44 score cp 571 lowerbound time 1513 nodes 2122325 nps 1401000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d
1c2 d7c7 c2d3 c7b7 d3e3 b7c7 e3f2 c7c8 f2g3 c8d7 g3h4 d7e7 h4g5 e7e8 g5f6 e8d8 f6f5 d8e7 f5g6 e7f8 g6f6 f8g8 f6e6 g8g7 f
4f5 g7h6 e6d6 h6g5 d6e5 g5g4 d5d6
info currmove a1b1 currmovenumber 1
info depth 35 seldepth 44 score cp 586 lowerbound time 1557 nodes 2181810 nps 1400000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d
1c2 d7c7 c2d3 c7b7 d3e3 b7c7 e3f2 c7c8 f2g3 c8d7 g3h4 d7e7 h4g5 e7e8 g5f6 e8d8 f6f5 d8e7 f5g6 e7f8 g6f6 f8g8 f6e6 g8g7 f
4f5 g7h6 e6d6 h6g5 d6e5 g5g4 d5d6
info currmove a1b1 currmovenumber 1
info depth 35 seldepth 44 score cp 608 lowerbound time 1602 nodes 2249511 nps 1403000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d
1c2 d7c7 c2d3 c7b7 d3e3 b7c7 e3f2 c7c8 f2g3 c8d7 g3h4 d7e7 h4g5 e7e8 g5f6 e8d8 f6f5 d8e7 f5g6 e7f8 g6f6 f8g8 f6e6 g8g7 f
4f5 g7h6 e6d6 h6g5 d6e5 g5g4 d5d6
info currmove a1b1 currmovenumber 1
info currmove a1b2 currmovenumber 2
info currmove a1a2 currmovenumber 3
info depth 35 seldepth 44 score cp 541 upperbound time 1646 nodes 2319060 nps 1408000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d
1c2 d7c7 c2d3 c7b7 d3e3 b7c7 e3f2 c7c8 f2g3 c8d7 g3h4 d7e7 h4g5 e7e8 g5f6 e8d8 f6f5 d8e7 f5g6 e7f8 g6f6 f8g8 f6e6 g8g7 f
4f5 g7h6 e6d6 h6g5 d6e5 g5g4 d5d6
info currmove a1b1 currmovenumber 1
info currmove a1b2 currmovenumber 2
info currmove a1a2 currmovenumber 3
info depth 35 seldepth 44 score cp 492 upperbound time 1659 nodes 2330574 nps 1403000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d
1c2 d7c7 c2d3 c7b7 d3e3 b7c7 e3f2 c7c8 f2g3 c8d7 g3h4 d7e7 h4g5 e7e8 g5f6 e8d8 f6f5 d8e7 f5g6 e7f8 g6f6 f8g8 f6e6 g8g7 f
4f5 g7h6 e6d6 h6g5 d6e5 g5g4 d5d6
info currmove a1b1 currmovenumber 1
info currmove a1b2 currmovenumber 2
info currmove a1a2 currmovenumber 3
info depth 35 seldepth 44 score cp 419 upperbound time 1677 nodes 2351953 nps 1401000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d
1c2 d7c7 c2d3 c7b7 d3e3 b7c7 e3f2 c7c8 f2g3 c8d7 g3h4 d7e7 h4g5 e7e8 g5f6 e8d8 f6f5 d8e7 f5g6 e7f8 g6f6 f8g8 f6e6 g8g7 f
4f5 g7h6 e6d6 h6g5 d6e5 g5g4 d5d6
info currmove a1b1 currmovenumber 1
info currmove a1b2 currmovenumber 2
info currmove a1a2 currmovenumber 3
info depth 35 seldepth 44 score cp 310 upperbound time 1719 nodes 2414807 nps 1403000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d
1c2 d7c7 c2d3 c7b7 d3e3 b7c7 e3f2 c7c8 f2g3 c8d7 g3h4 d7e7 h4g5 e7e8 g5f6 e8d8 f6f5 d8e7 f5g6 e7f8 g6f6 f8g8 f6e6 g8g7 f
4f5 g7h6 e6d6 h6g5 d6e5 g5g4 d5d6
info currmove a1b1 currmovenumber 1
info depth 35 seldepth 44 score cp 395 lowerbound time 1737 nodes 2435350 nps 1401000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d
1c2 d7c7 c2d3 c7b7 d3e3 b7c7 e3f2 c7c8 f2g3 c8d7 g3h4 d7e7 h4g5 e7e8 g5f6 e8d8 f6f5 d8e7 f5g6 e7f8 g6f6 f8g8 f6e6 g8g7 f
4f5 g7h6 e6d6 h6g5 d6e5 g5g4 d5d6
info currmove a1b1 currmovenumber 1
info currmove a1b2 currmovenumber 2
info currmove a1a2 currmovenumber 3
info depth 35 seldepth 44 score cp 147 upperbound time 1789 nodes 2514884 nps 1404000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d
1c2 d7c7 c2d3 c7b7 d3e3 b7c7 e3f2 c7c8 f2g3 c8d7 g3h4 d7e7 h4g5 e7e8 g5f6 e8d8 f6f5 d8e7 f5g6 e7f8 g6f6 f8g8 f6e6 g8g7 f
4f5 g7h6 e6d6 h6g5 d6e5 g5g4 d5d6
info currmove a1b1 currmovenumber 1
info depth 35 seldepth 44 score cp 0 lowerbound time 1804 nodes 2530608 nps 1401000 pv a1b1 a7a8 b1b2 a8a7 b2c2 a7b8 c2b
2 b8a7
info currmove a1b2 currmovenumber 2
info currmove a1a2 currmovenumber 3
info depth 35 seldepth 44 score cp 0 time 1808 nodes 2532367 nps 1399000 pv a1b1 a7a8 b1b2 a8a7 b2c2 a7b8 c2b2 b8a7
info currmove a1b1 currmovenumber 1
info depth 36 seldepth 34 score cp 0 lowerbound time 1830 nodes 2565950 nps 1401000 pv a1b1 a7a8 b1b2 a8a7 b2c2 a7b8 c2b
2 b8a7
info currmove a1b2 currmovenumber 2
info currmove a1a2 currmovenumber 3
info depth 36 seldepth 34 score cp 0 time 1834 nodes 2567145 nps 1398000 pv a1b1 a7a8 b1b2 a8a7 b2c2 a7b8 c2b2 b8a7
info currmove a1b1 currmovenumber 1
info depth 37 seldepth 40 score cp 15 lowerbound time 1885 nodes 2643596 nps 1401000 pv a1b1 a7a8 b1b2 a8a7 b2c2 a7b8 c2
b2 b8a7
info currmove a1b1 currmovenumber 1
info depth 37 seldepth 40 score cp 30 lowerbound time 1907 nodes 2665920 nps 1397000 pv a1b1 a7a8 b1b2 a8a7 b2c2 a7b8 c2
b2 b8a7
info currmove a1b1 currmovenumber 1
info depth 37 seldepth 40 score cp 52 lowerbound time 1925 nodes 2686823 nps 1395000 pv a1b1 a7a8 b1b2 a8a7 b2c2 a7b8 c2
b2 b8a7
info currmove a1b1 currmovenumber 1
info depth 37 seldepth 42 score cp 85 lowerbound time 1944 nodes 2711791 nps 1394000 pv a1b1 a7a8 b1b2 a8a7 b2c2 a7b8 c2
b2 b8a7
info currmove a1b1 currmovenumber 1
info depth 37 seldepth 46 score cp 134 lowerbound time 1982 nodes 2763690 nps 1393000 pv a1b1 a7a8 b1b2 a8a7 b2c2 a7b8 c
2b2 b8a7
info currmove a1b1 currmovenumber 1
info depth 37 seldepth 46 score cp 207 lowerbound time 2005 nodes 2798812 nps 1395000 hashfull 5 beta 0.936249 null 0.98
6012 pv a1b1 a7a8 b1b2 a8a7 b2c2 a7b8 c2b2 b8a7
info currmove a1b1 currmovenumber 1
info depth 37 seldepth 48 score cp 316 lowerbound time 2085 nodes 2860367 nps 1371000 hashfull 5 beta 0.936918 null 0.98
6361 pv a1b1 a7a8 b1b2 a8a7 b2c2 a7b8 c2b2 b8a7
info currmove a1b1 currmovenumber 1
info depth 37 seldepth 48 score cp 479 lowerbound time 2178 nodes 2954352 nps 1355000 hashfull 6 beta 0.937686 null 0.98
6979 pv a1b1 a7a8 b1b2 a8a7 b2c2 a7b8 c2b2 b8a7
In the current release of Topple, i have this patched by clamping the draw score between alpha and beta, but this seems highly suspect as a solution, and doesn't stop the eval from jumping around on this position.

Having spent a while debugging this, I have determined that disabling singular extensions (by commenting that code out) completely solves the problem:

Code: Select all

info depth 26 seldepth 28 score cp 211 time 134 nodes 93598 nps 693000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7c7 c2d3 c
7b6 d3e2 b6a6 e2f1 a6b7 f1f2 b7c7 f2g3 c7d8 g3h4 d8e7 h4g5 e7d7 g5f5 d7e7 f5e4 e7d7
info depth 27 seldepth 28 score cp 226 lowerbound time 139 nodes 96529 nps 689000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2
d7c7 c2d3 c7b6 d3e2 b6a6 e2f1 a6b7 f1f2 b7c7 f2g3 c7d8 g3h4 d8e7 h4g5 e7d7 g5f5 d7e7 f5e4 e7d7
info depth 27 seldepth 29 score cp 228 time 145 nodes 100438 nps 687000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7c7 c2d3
c7b6 d3e2 b6a6 e2f1 a6b7 f1f2 b7c7 f2g3 c7d8 g3h4 d8e7 h4g5 e7d7 g5f5 d7e7 f5g5 e7d7 f4f5
info depth 28 seldepth 30 score cp 243 lowerbound time 152 nodes 105608 nps 690000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2
 d7c7 c2d3 c7b6 d3e2 b6a6 e2f1 a6b7 f1f2 b7c7 f2g3 c7d8 g3h4 d8e7 h4g5 e7d7 g5f5 d7e7 f5g5 e7d7 f4f5
info depth 28 seldepth 30 score cp 258 lowerbound time 158 nodes 110104 nps 692000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2
 d7c7 c2d3 c7b6 d3e2 b6a6 e2f1 a6b7 f1f2 b7c7 f2g3 c7d8 g3h4 d8e7 h4g5 e7d7 g5f5 d7e7 f5g5 e7d7 f4f5
info depth 28 seldepth 30 score cp 244 time 164 nodes 113814 nps 689000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7c7 c2d3
c7b7 d3e2 b7c7 e2f2 c7d7 f2g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7
info depth 29 seldepth 30 score cp 259 lowerbound time 170 nodes 116843 nps 683000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2
 d7c7 c2d3 c7b7 d3e2 b7c7 e2f2 c7d7 f2g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7
info depth 29 seldepth 30 score cp 274 lowerbound time 176 nodes 121256 nps 685000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2
 d7c7 c2d3 c7b7 d3e2 b7c7 e2f2 c7d7 f2g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7
info depth 29 seldepth 30 score cp 249 time 181 nodes 121934 nps 669000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7c7 c2d3
c7b7 d3e2 b7c7 e2f2 c7d7 f2g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7e8 g5f6 e8d7 f4f5
info depth 30 seldepth 30 score cp 264 lowerbound time 187 nodes 125005 nps 664000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2
 d7c7 c2d3 c7b7 d3e2 b7c7 e2f2 c7d7 f2g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7e8 g5f6 e8d7 f4f5
info depth 30 seldepth 30 score cp 266 time 195 nodes 131929 nps 673000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7c7 c2d3
c7b7 d3e2 b7c7 e2f2 c7d7 f2g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7e8 g5g6 e8f8 g6f6 f8e8
info depth 31 seldepth 32 score cp 281 lowerbound time 203 nodes 138573 nps 679000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2
 d7c7 c2d3 c7b7 d3e2 b7c7 e2f2 c7d7 f2g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7e8 g5g6 e8f8 g6f6 f8e8
info depth 31 seldepth 32 score cp 296 lowerbound time 212 nodes 146078 nps 685000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2
 d7c7 c2d3 c7b7 d3e2 b7c7 e2f2 c7d7 f2g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7e8 g5g6 e8f8 g6f6 f8e8
info depth 31 seldepth 32 score cp 318 lowerbound time 220 nodes 153606 nps 695000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2
 d7c7 c2d3 c7b7 d3e2 b7c7 e2f2 c7d7 f2g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7e8 g5g6 e8f8 g6f6 f8e8
info depth 31 seldepth 32 score cp 351 lowerbound time 230 nodes 161974 nps 701000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2
 d7c7 c2d3 c7b7 d3e2 b7c7 e2f2 c7d7 f2g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7e8 g5g6 e8f8 g6f6 f8e8
info depth 31 seldepth 34 score cp 397 time 243 nodes 174416 nps 714000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7c7 c2d3
c7b7 d3e2 b7c7 e2f2 c7d7 f2g3 d7e7 g3h4 e7d8 h4g5 d8d7 g5f5 d7e7 f5g6 e7e8 f4f5 e8d7 f5f6 d7e8 g6g7 e8d7 f6f7
info depth 32 seldepth 35 score cp 397 time 254 nodes 181414 nps 711000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7c7 c2d3
c7b7 d3e2 b7c7 e2f2 c7d7 f2g3 d7e7 g3h4 e7d8 h4g5 d8e7 g5f5 e7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g6 f8e8 f6f7 e8e7 g6g7

info depth 33 seldepth 36 score cp 382 upperbound time 269 nodes 197314 nps 730000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2
 d7c7 c2d3 c7b7 d3e2 b7c7 e2f2 c7d7 f2g3 d7e7 g3h4 e7d8 h4g5 d8e7 g5f5 e7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g6 f8e8 f6f7
 e8e7 g6g7
info depth 33 seldepth 36 score cp 367 upperbound time 277 nodes 201915 nps 726000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2
 d7c7 c2d3 c7b7 d3e2 b7c7 e2f2 c7d7 f2g3 d7e7 g3h4 e7d8 h4g5 d8e7 g5f5 e7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g6 f8e8 f6f7
 e8e7 g6g7
info depth 33 seldepth 36 score cp 354 time 290 nodes 214142 nps 735000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7c7 c2d3
c7b7 d3e2 b7c7 e2f2 c7d7 f2g3 d7e7 g3h4 e7d8 h4g5 d8e7 g5f5 e7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5f4 f8e8 f4e4 e8f7 e4f5

info depth 34 seldepth 36 score cp 360 time 301 nodes 223479 nps 739000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7c7 c2d3
c7b7 d3e2 b7c7 e2f2 c7d7 f2g3 d7e7 g3h4 e7d8 h4g5 d8e7 g5f5 e7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5f4 f8e8 f4e4 e8f8 e4d3
f8f7
info depth 35 seldepth 38 score cp 354 time 324 nodes 249710 nps 768000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7c7 c2d3
c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5f4 f8e8 f4e4
e8f7 e4f5
info depth 36 seldepth 38 score cp 360 time 351 nodes 269563 nps 765000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7c7 c2d3
c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5f4 f8e8 f4e4
e8f8 e4d3 f8f7
info depth 37 seldepth 37 score cp 345 upperbound time 375 nodes 279283 nps 742000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2
 d7c7 c2d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5f4
 f8e8 f4e4 e8f8 e4d3 f8f7
info depth 37 seldepth 39 score cp 338 time 412 nodes 295168 nps 714000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7c7 c2d3
c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5f4 f8e8 f4e4
e8f8 e4f5 f8f7 f5g5
info depth 38 seldepth 39 score cp 353 lowerbound time 441 nodes 306266 nps 692000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2
 d7c7 c2d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5f4
 f8e8 f4e4 e8f8 e4f5 f8f7 f5g5
info depth 38 seldepth 39 score cp 344 time 462 nodes 311269 nps 672000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7c7 c2d3
c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g4 f8e8 g4f4
e8f8 f4e4 f8e8 e4d3 e8d7
info depth 39 seldepth 40 score cp 338 time 490 nodes 330811 nps 673000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7c7 c2d3
c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g4 f8e8 g4f4
e8f8 f4e4 f8e8 e4f5 e8f7 f5g5
info depth 40 seldepth 40 score cp 353 lowerbound time 508 nodes 342000 nps 671000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2
 d7c7 c2d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g4
 f8e8 g4f4 e8f8 f4e4 f8e8 e4f5 e8f7 f5g5
info depth 40 seldepth 41 score cp 368 lowerbound time 536 nodes 365144 nps 679000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2
 d7c7 c2d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g4
 f8e8 g4f4 e8f8 f4e4 f8e8 e4f5 e8f7 f5g5
info depth 40 seldepth 41 score cp 390 lowerbound time 567 nodes 388069 nps 683000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2
 d7c7 c2d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g4
 f8e8 g4f4 e8f8 f4e4 f8e8 e4f5 e8f7 f5g5
info depth 40 seldepth 41 score cp 402 time 628 nodes 418032 nps 664000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7c7 c2d3
c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g4 f8e8 g4f4
e8f8 f4g5 f8g8 g5g6 g8h8 g6f5 h8h7
info depth 41 seldepth 42 score cp 397 time 746 nodes 456240 nps 610000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7c7 c2d3
c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g4 f8e8 g4f4
e8f8 f4g5 f8g8 g5g6 g8f8 f6f7 f8e7 g6g7
info depth 42 seldepth 45 score cp 397 time 814 nodes 491384 nps 602000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7c7 c2d3
c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g4 f8e8 g4f4
e8f8 f4g5 f8g8 g5g6 g8f8 f6f7 f8e7 g6g7 e7d7
info depth 43 seldepth 48 score cp 412 lowerbound time 979 nodes 630114 nps 642000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2
 d7c7 c2d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g4
 f8e8 g4f4 e8f8 f4g5 f8g8 g5g6 g8f8 f6f7 f8e7 g6g7 e7d7
info depth 43 seldepth 48 score cp 427 lowerbound time 1033 nodes 699013 nps 676000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c
2 d7c7 c2d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g
4 f8e8 g4f4 e8f8 f4g5 f8g8 g5g6 g8f8 f6f7 f8e7 g6g7 e7d7
info currmove a1b1 currmovenumber 1
info depth 43 seldepth 48 score cp 448 lowerbound time 1094 nodes 752382 nps 687000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c
2 d7c7 c2d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g
4 f8e8 g4f4 e8f8 f4g5 f8g8 g5g6 g8h8 g6f5 h8h7 f5e6 h7g6 f6f7
info currmove a1b2 currmovenumber 2
info currmove a1a2 currmovenumber 3
info depth 43 seldepth 48 score cp 448 time 1112 nodes 752576 nps 676000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7c7 c2d3
 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g4 f8e8 g4f4
 e8f8 f4g5 f8g8 g5g6 g8h8 g6f5 h8h7 f5e6 h7g6 f6f7
info currmove a1b1 currmovenumber 1
info depth 44 seldepth 44 score cp 463 lowerbound time 1212 nodes 815514 nps 672000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c
2 d7c7 c2d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g
4 f8e8 g4f4 e8f8 f4g5 f8g8 g5g6 g8h8 g6f5 h8h7 f5e6 h7g6 f6f7
info currmove a1b1 currmovenumber 1
info depth 44 seldepth 47 score cp 478 lowerbound time 1414 nodes 961192 nps 679000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c
2 d7c7 c2d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g
4 f8e8 g4f4 e8f8 f4g5 f8g8 g5g6 g8h8 g6f5 h8h7 f5e6 h7g6 f6f7
info currmove a1b1 currmovenumber 1
info depth 44 seldepth 47 score cp 500 lowerbound time 1522 nodes 1022711 nps 671000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1
c2 d7c7 c2d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5
g4 f8e8 g4f4 e8f8 f4g5 f8g8 g5g6 g8h8 g6f5 h8h7 f5e6 h7g6 f6f7
info currmove a1b1 currmovenumber 1
info depth 44 seldepth 48 score cp 533 lowerbound time 1614 nodes 1137861 nps 704000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1
c2 d7c7 c2d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5
g4 f8e8 g4f4 e8f8 f4g5 f8g8 g5g6 g8h8 g6f5 h8h7 f5e6 h7g6 f6f7
info currmove a1b1 currmovenumber 1
info depth 44 seldepth 48 score cp 550 lowerbound time 1676 nodes 1217304 nps 725000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1
c2 d7c7 c2d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5
g4 f8e8 g4f4 e8f8 f4g5 f8g8 g5g6 g8h8 g6f5 h8h7 f5e6 h7h6 e6d6 h6g6
info currmove a1b2 currmovenumber 2
info currmove a1a2 currmovenumber 3
info depth 44 seldepth 48 score cp 550 time 1685 nodes 1217485 nps 722000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7c7 c2d
3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g4 f8e8 g4f
4 e8f8 f4g5 f8g8 g5g6 g8h8 g6f5 h8h7 f5e6 h7h6 e6d6 h6g6
info currmove a1b1 currmovenumber 1
info depth 45 seldepth 46 score cp 550 lowerbound time 1721 nodes 1258136 nps 730000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1
c2 d7c7 c2d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5
g4 f8e8 g4f4 e8f8 f4g5 f8g8 g5g6 g8h8 g6f7 h8h7 f7e6 h7h6 e6d6 h6g6 d6e6
info currmove a1b2 currmovenumber 2
info currmove a1a2 currmovenumber 3
info depth 45 seldepth 46 score cp 550 time 1728 nodes 1258335 nps 727000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7c7 c2d
3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g4 f8e8 g4f
4 e8f8 f4g5 f8g8 g5g6 g8h8 g6f7 h8h7 f7e6 h7h6 e6d6 h6g6 d6e6
info currmove a1b1 currmovenumber 1
info depth 46 seldepth 49 score cp 565 lowerbound time 1921 nodes 1561490 nps 812000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1
c2 d7c7 c2d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5
g4 f8e8 g4f4 e8f8 f4g5 f8g8 g5g6 g8h8 g6f7 h8h7 f7e6 h7h6 e6d6 h6g6 d6e6
info currmove a1b1 currmovenumber 1
info depth 46 seldepth 49 score cp 580 lowerbound time 2065 nodes 1732088 nps 838000 hashfull 17 beta 0.966084 null 0.94
6509 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7c7 c2d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5
f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g4 f8e8 g4f4 e8f8 f4g5 f8g8 g5g6 g8h8 g6f7 h8h7 f7e6 h7h6 e6d6 h6g6 d6e6
info currmove a1b1 currmovenumber 1
info depth 46 seldepth 49 score cp 602 lowerbound time 2217 nodes 1836733 nps 828000 hashfull 18 beta 0.96649 null 0.945
945 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7c7 c2d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f
5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g4 f8e8 g4f4 e8f8 f4g5 f8g8 g5g6 g8h8 g6f7 h8h7 f7e6 h7h6 e6d6 h6g6 d6e6
info currmove a1b1 currmovenumber 1
info depth 46 seldepth 49 score cp 635 lowerbound time 2458 nodes 1992376 nps 810000 hashfull 19 beta 0.966281 null 0.94
4619 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7c7 c2d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5
f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g4 f8e8 g4f4 e8f8 f4g5 f8g8 g5g6 g8h8 g6f7 h8h7 f7e6 h7h6 e6d6 h6g6 d6e6
info currmove a1b1 currmovenumber 1
info depth 46 seldepth 49 score cp 626 lowerbound time 2524 nodes 2017228 nps 798000 hashfull 20 beta 0.966303 null 0.94
5263 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7c7 c2d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5
f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g4 f8e8 g4f4 e8f8 f4g5 f8f7 g5f5 f7f8 f5e6 f8e8 e6d6 e8f7 d6e5 f7e8 d5d6 e8d7
info currmove a1b2 currmovenumber 2
info currmove a1a2 currmovenumber 3
info depth 46 seldepth 49 score cp 626 time 2569 nodes 2017322 nps 784000 hashfull 20 beta 0.966305 null 0.945263 pv a1b
1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7c7 c2d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g
5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g4 f8e8 g4f4 e8f8 f4g5 f8f7 g5f5 f7f8 f5e6 f8e8 e6d6 e8f7 d6e5 f7e8 d5d6 e8d7
info currmove a1b1 currmovenumber 1
info currmove a1b2 currmovenumber 2
info currmove a1a2 currmovenumber 3
info depth 47 seldepth 48 score cp 611 upperbound time 2698 nodes 2122072 nps 786000 hashfull 20 beta 0.967235 null 0.94
6775 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7c7 c2d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5
f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g4 f8e8 g4f4 e8f8 f4g5 f8f7 g5f5 f7f8 f5e6 f8e8 e6d6 e8f7 d6e5 f7e8 d5d6 e8d7
info currmove a1b1 currmovenumber 1
info currmove a1b2 currmovenumber 2
info currmove a1a2 currmovenumber 3
info depth 47 seldepth 49 score cp 596 upperbound time 2776 nodes 2188968 nps 788000 hashfull 21 beta 0.967364 null 0.94
6942 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7c7 c2d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5
f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g4 f8e8 g4f4 e8f8 f4g5 f8f7 g5f5 f7f8 f5e6 f8e8 e6d6 e8f7 d6e5 f7e8 d5d6 e8d7
info currmove a1b1 currmovenumber 1
info currmove a1b2 currmovenumber 2
info currmove a1a2 currmovenumber 3
info depth 47 seldepth 49 score cp 574 upperbound time 2844 nodes 2241805 nps 787000 hashfull 21 beta 0.96799 null 0.947
572 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7c7 c2d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f
5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g4 f8e8 g4f4 e8f8 f4g5 f8f7 g5f5 f7f8 f5e6 f8e8 e6d6 e8f7 d6e5 f7e8 d5d6 e8d7
info currmove a1b1 currmovenumber 1
info depth 47 seldepth 49 score cp 592 lowerbound time 2910 nodes 2288211 nps 786000 hashfull 21 beta 0.968708 null 0.94
8884 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7c7 c2d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5
f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g4 f8e8 g4f4 e8f8 f4g5 f8f7 g5f5 f7f8 f5e6 f8e8 e6d6 e8f7 d6e5 f7e8 d5d6 e8d7
info currmove a1b1 currmovenumber 1
info depth 47 seldepth 49 score cp 641 lowerbound time 3018 nodes 2303856 nps 763000 hashfull 21 beta 0.968903 null 0.94
9308 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7c7 c2d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5
f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g4 f8e8 g4f4 e8f8 f4g5 f8f7 g5f5 f7f8 f5e6 f8e8 e6d6 e8f7 d6e5 f7e8 d5d6 e8d7
info currmove a1b1 currmovenumber 1
info depth 47 seldepth 49 score cp 714 lowerbound time 3112 nodes 2410975 nps 774000 hashfull 22 beta 0.968295 null 0.94
9511 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7c7 c2d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5
f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g4 f8e8 g4f4 e8f8 f4g5 f8f7 g5f5 f7f8 f5e6 f8e8 e6d6 e8f7 d6e5 f7e8 d5d6 e8d7
info currmove a1b1 currmovenumber 1
info depth 47 seldepth 49 score cp 714 lowerbound time 3167 nodes 2448041 nps 772000 hashfull 22 beta 0.968068 null 0.94
9666 pv a1b1 a7b7 b1c1 b7b8 c1c2 b8b7 c2c3 b7c7 c3d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5
f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g4 f8e8 g4f4 e8f8 f4g5 f8f7 g5f5 f7f8 f5e6 f8e8 e6d6 e8f7 d6e5 f7e8 d5d6 e8d7 f6
f7
info currmove a1b2 currmovenumber 2
info currmove a1a2 currmovenumber 3
info depth 47 seldepth 49 score cp 714 time 3200 nodes 2448043 nps 764000 hashfull 22 beta 0.968068 null 0.949666 pv a1b
1 a7b7 b1c1 b7b8 c1c2 b8b7 c2c3 b7c7 c3d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g
5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g4 f8e8 g4f4 e8f8 f4g5 f8f7 g5f5 f7f8 f5e6 f8e8 e6d6 e8f7 d6e5 f7e8 d5d6 e8d7 f6f7
info currmove a1b1 currmovenumber 1
info depth 48 seldepth 57 score cp 714 lowerbound time 3310 nodes 2570784 nps 776000 hashfull 24 beta 0.968186 null 0.94
8538 pv a1b1 a7b7 b1c1 b7b8 c1c2 b8b7 c2c3 b7c7 c3d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5
f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g4 f8e8 g4f4 e8f8 f4g5 f8f7 g5f5 f7f8 f5e6 f8e8 e6d6 e8f7 d6e5 f7e8 d5d6 e8d8 f6
f7 d8d7
info currmove a1b2 currmovenumber 2
info currmove a1a2 currmovenumber 3
info depth 48 seldepth 59 score cp 714 time 3404 nodes 2663780 nps 782000 hashfull 25 beta 0.967678 null 0.948676 pv a1b
1 a7b7 b1c1 b7b8 c1c2 b8b7 c2c3 b7c7 c3d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g
5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g4 f8e8 g4f4 e8f8 f4g5 f8f7 g5f5 f7f8 f5e6 f8e8 e6d6 e8f7 d6e5 f7e8 d5d6 e8d8 f6f7 d8d7
info currmove a1b1 currmovenumber 1
info depth 49 seldepth 49 score cp 729 lowerbound time 3497 nodes 2763212 nps 789000 hashfull 26 beta 0.967563 null 0.94
7928 pv a1b1 a7b7 b1c1 b7b8 c1c2 b8b7 c2c3 b7c7 c3d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5
f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g4 f8e8 g4f4 e8f8 f4g5 f8f7 g5f5 f7f8 f5e6 f8e8 e6d6 e8f7 d6e5 f7e8 d5d6 e8d8 f6
f7 d8d7
info currmove a1b1 currmovenumber 1
info depth 49 seldepth 49 score cp 744 lowerbound time 3649 nodes 2920180 nps 800000 hashfull 28 beta 0.967816 null 0.94
7455 pv a1b1 a7b7 b1c1 b7b8 c1c2 b8b7 c2c3 b7c7 c3d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5
f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g4 f8e8 g4f4 e8f8 f4g5 f8f7 g5f5 f7f8 f5e6 f8e8 e6d6 e8f7 d6e5 f7e8 d5d6 e8d8 f6
f7 d8d7
info currmove a1b1 currmovenumber 1
info depth 49 seldepth 50 score cp 766 lowerbound time 3777 nodes 3007945 nps 796000 hashfull 28 beta 0.96787 null 0.947
122 pv a1b1 a7b7 b1c1 b7b8 c1c2 b8b7 c2c3 b7c7 c3d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f
5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g4 f8e8 g4f4 e8f8 f4g5 f8f7 g5f5 f7f8 f5e6 f8e8 e6d6 e8f7 d6e5 f7e8 d5d6 e8d8 f6f
7 d8d7
info currmove a1b1 currmovenumber 1
info depth 49 seldepth 50 score cp 783 lowerbound time 3931 nodes 3099099 nps 788000 hashfull 29 beta 0.967755 null 0.94
7138 pv a1b1 a7b7 b1c1 b7b8 c1c2 b8b7 c2c3 b7c7 c3d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5
f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g4 f8e8 g4f4 e8f8 f4g5 f8f7 g5f5 f7f8 f5e6 f8e8 e6d6 e8f7 d6e5 f7f8 d5d6 f8e8 e5
e6 e8f8 d6d7
info currmove a1b2 currmovenumber 2
info currmove a1a2 currmovenumber 3
info depth 49 seldepth 65 score cp 783 time 4360 nodes 3626952 nps 831000 hashfull 39 beta 0.965399 null 0.942181 pv a1b
1 a7b7 b1c1 b7b8 c1c2 b8b7 c2c3 b7c7 c3d3 c7b7 d3e2 b7c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g
5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g4 f8e8 g4f4 e8f8 f4g5 f8f7 g5f5 f7f8 f5e6 f8e8 e6d6 e8f7 d6e5 f7f8 d5d6 f8e8 e5e6 e8f8 d6d
7
info currmove a1b1 currmovenumber 1
... etc
Has anyone else experienced this with singular extensions? I don't at all understand how an extension can result in a completely invalid draw score being returned.
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: Strange draw scores when searching Fine#70

Post by xr_a_y »

Because you are filling TT even when a move is forbidden (singular extension : excluded in your code)

Code: Select all

 tt->save(tt::LOWER, context.board.record[context.board.now].hash, depth, ply, eval, score,
best_move);
[...]
    if (alpha > old_alpha) {
        tt->save(tt::EXACT, context.board.record[context.board.now].hash, depth, ply, eval, alpha, best_move);
        if (!best_move.info.is_capture) context.heur.history.good_history(best_move, depth);
    } else if (excluded == EMPTY_MOVE) {
        tt->save(tt::UPPER, context.board.record[context.board.now].hash, depth, ply, eval, alpha, best_move);
}
konsolas
Posts: 182
Joined: Sun Jun 12, 2016 5:44 pm
Location: London
Full name: Vincent

Re: Strange draw scores when searching Fine#70

Post by konsolas »

xr_a_y wrote: Tue Feb 12, 2019 8:39 pm Because you are filling TT even when a move is forbidden (singular extension : excluded in your code)

Code: Select all

 tt->save(tt::LOWER, context.board.record[context.board.now].hash, depth, ply, eval, score,
best_move);
[...]
    if (alpha > old_alpha) {
        tt->save(tt::EXACT, context.board.record[context.board.now].hash, depth, ply, eval, alpha, best_move);
        if (!best_move.info.is_capture) context.heur.history.good_history(best_move, depth);
    } else if (excluded == EMPTY_MOVE) {
        tt->save(tt::UPPER, context.board.record[context.board.now].hash, depth, ply, eval, alpha, best_move);
}
Thank you for your suggestion;
I think the first hash save (tt::LOWER) should still be valid as the score returned by one move is still a lower bound of the position, even if it is an extremely rough one.
The second hash save shouldn't ever be called from singular extensions because the search uses a null window (reduced_beta - 1, reduced_beta).
The third one checks if singular extensions was used in that node.

Regardless, I changed the code to this:

Code: Select all

                        if(excluded == EMPTY_MOVE) {
                            tt->save(tt::LOWER, context.board.record[context.board.now].hash, depth, ply, eval, score,
                                     best_move);
                        }

Code: Select all

    if(excluded == EMPTY_MOVE) {
        if (alpha > old_alpha) {
            tt->save(tt::EXACT, context.board.record[context.board.now].hash, depth, ply, eval, alpha, best_move);
            if (!best_move.info.is_capture) context.heur.history.good_history(best_move, depth);
        } else {
            tt->save(tt::UPPER, context.board.record[context.board.now].hash, depth, ply, eval, alpha, best_move);
        }
    }
but I still get draw scores:

Code: Select all

info depth 22 seldepth 23 score cp 77 time 88 nodes 86095 nps 967000 pv a1b1 a7a6 b1b2 a6a7 b2b3 a7a6 b3c2 a6b7 c2d2 b7b
6 d2c3 b6c7 c3d3 c7b7 d3e2 b7c7 e2f3 c7c8 f3e3 c8c7 e3d2 c7d7
info depth 23 seldepth 31 score cp 77 time 338 nodes 206091 nps 607000 pv a1b1 a7a8 b1b2 a8a7 b2c3 a7b7 c3c2 b7b8 c2c1 b
8b7 c1d2 b7c8 d2e2 c8d7 e2d1 d7c7 d1e1 c7d8 e1f2 d8e7 f2f3 e7f6 f3e2 f6e7
info depth 24 seldepth 36 score cp 225 time 499 nodes 263812 nps 527000 pv a1b1 a7a8 b1b2 a8a7 b2b3 a7a6 b3c2 a6b7 c2c3
b7c7 c3d3 c7b6 d3d2 b6b7 d2e3 b7b6 e3f3 b6c7 f3g3 c7d7 g3h4 d7c7 h4g5 c7d7 g5f6 d7d8 f6e6 d8c7 e6f5
info depth 25 seldepth 32 score cp 237 time 600 nodes 305161 nps 507000 pv a1b1 a7a8 b1b2 a8a7 b2b3 a7a6 b3c2 a6b7 c2c3
b7c7 c3d3 c7b7 d3e2 b7c7 e2f2 c7d8 f2g3 d8e7 g3h4 e7f7 h4g5 f7g7 g5f5 g7f7 f5g5 f7e7 g5g6 e7d7 f4f5
info depth 26 seldepth 36 score cp 237 time 632 nodes 348843 nps 551000 pv a1b1 a7a8 b1b2 a8a7 b2b3 a7a6 b3c2 a6b7 c2c3
b7c7 c3d3 c7b7 d3e3 b7c8 e3f3 c8d8 f3g3 d8e7 g3h4 e7f7 h4g5 f7e8 g5g6 e8d7 g6f5 d7e7 f5g6 e7e8 f4f5 e8d7
info depth 27 seldepth 37 score cp 77 time 688 nodes 429834 nps 623000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d8 d1c2 d8d7 c2d3 d
7c7 d3c4 c7b6 c4b3 b6c7 b3c3 c7b7 c3d2 b7c8 d2e1 c8d7 e1e2 d7d8 e2f2 d8e7 f2g3 e7f6 g3h4 f6g6 h4g3
info depth 28 seldepth 35 score cp 228 time 726 nodes 489044 nps 672000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d8 d1c2 d8d7 c2c3
d7c7 c3d3 c7b6 d3e2 b6c7 e2f3 c7d7 f3g3 d7c7 g3h4 c7d7 h4g5 d7e7 g5f5 e7f7 f5g5 f7e8 f4f5 e8e7
info depth 29 seldepth 38 score cp 419 time 789 nodes 595832 nps 754000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d8 d1c2 d8d7 c2c3
d7c7 c3d3 c7b7 d3e2 b7c7 e2f3 c7c8 f3g3 c8c7 g3h4 c7d7 h4g5 d7e8 g5f5 e8f7 f5g5 f7e8 f4f5 e8e7 g5g6 e7d7 f5f6 d7e8 f6f7
e8d7
info depth 30 seldepth 42 score cp 0 time 849 nodes 696473 nps 819000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7c8 d1e1 c8d8 e1f2 d8
e7 f2g2 e7f7 g2g3 f7f6 g3h3 f6g6 h3h4 g6h6 h4h3 h6h5 h3g3 h5h6 g3f3 h6g6 f3f2 g6h5 f2g3
info depth 31 seldepth 44 score cp 338 time 998 nodes 882278 nps 883000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7c8 d1d2 c8b8 d2e2
b8c8 e2f3 c8d7 f3g3 d7e8 g3h4 e8f8 h4g5 f8g7 g5f5 g7f7 f5g5 f7g7 g5g4 g7f6 f4f5 f6g7 g4f3 g7f8 f3f4 f8g8 f4g5 g8f7 f5f6
f7f8 g5g4 f8f7
info currmove a1b1 currmovenumber 1
info depth 32 seldepth 48 score cp 1296 lowerbound time 2223 nodes 1599091 nps 719000 hashfull 14 beta 0.920097 null 0.9
16565 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7e7 c2c3 e7f6 c3c4 f6g6 c4b5 g6h5 b5c6 h5g4 c6d6 g4f4 d6e6 f4e4 d5d6 f5f4 d
6d7 f4f3 d7d8q f3f2 d8d5 e4e3 d5c4 e3d2 d4d5 d2e1 c4c3 e1e2 c3e5 e2d2 d5d6
info currmove a1b2 currmovenumber 2
info currmove a1a2 currmovenumber 3
info depth 32 seldepth 48 score cp 1296 time 2303 nodes 1601331 nps 695000 hashfull 14 beta 0.920039 null 0.91657 pv a1b
1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7e7 c2c3 e7f6 c3c4 f6g6 c4b5 g6h5 b5c6 h5g4 c6d6 g4f4 d6e6 f4e4 d5d6 f5f4 d6d7 f4f3 d7d
8q f3f2 d8d5 e4e3 d5c4 e3d2 d4d5 d2e1 c4c3 e1e2 c3e5 e2d2 d5d6
info currmove a1b1 currmovenumber 1
info depth 33 seldepth 53 score cp 0 lowerbound time 3520 nodes 2351908 nps 667000 hashfull 25 beta 0.937787 null 0.9479
94 pv a1b1 a7a8 b1b2 a8a7 b2c2 a7b8 c2d1 b8c7 d1d2 c7c8 d2e2 c8d7 e2f3 d7e8 f3g3 e8f7 g3g2 f7g7 g2f2 g7g6 f2g3 g6h5 g3h3
 h5g6 h3h2 g6g7 h2g3 g7f6 g3h3 f6g6
info currmove a1b2 currmovenumber 2
info currmove a1a2 currmovenumber 3
info depth 33 seldepth 53 score cp 0 time 3570 nodes 2365578 nps 662000 hashfull 25 beta 0.937916 null 0.948209 pv a1b1
a7a8 b1b2 a8a7 b2c2 a7b8 c2d1 b8c7 d1d2 c7c8 d2e2 c8d7 e2f3 d7e8 f3g3 e8f7 g3g2 f7g7 g2f2 g7g6 f2g3 g6h5 g3h3 h5g6 h3h2
g6g7 h2g3 g7f6 g3h3 f6g6
info currmove a1b1 currmovenumber 1
info depth 34 seldepth 51 score cp 550 lowerbound time 4263 nodes 3121185 nps 731000 hashfull 39 beta 0.942437 null 0.95
0103 pv a1b1 a7a8 b1b2 a8a7 b2b3 a7b6 b3c4 b6a6 c4d3 a6a7 d3e2 a7b6 e2f2 b6c7 f2g3 c7d7 g3h4 d7c7 h4g5 c7d8 g5f5 d8e7 f5
g6 e7f8 f4f5 f8g8 f5f6 g8h8 g6g5 h8h7 g5f5 h7h8 f5e6 h8h7 e6d6 h7g6
info currmove a1b2 currmovenumber 2
info currmove a1a2 currmovenumber 3
info depth 34 seldepth 51 score cp 550 time 4331 nodes 3123452 nps 721000 hashfull 39 beta 0.942415 null 0.950103 pv a1b
1 a7a8 b1b2 a8a7 b2b3 a7b6 b3c4 b6a6 c4d3 a6a7 d3e2 a7b6 e2f2 b6c7 f2g3 c7d7 g3h4 d7c7 h4g5 c7d8 g5f5 d8e7 f5g6 e7f8 f4f
5 f8g8 f5f6 g8h8 g6g5 h8h7 g5f5 h7h8 f5e6 h8h7 e6d6 h7g6
info currmove a1b1 currmovenumber 1
info depth 35 seldepth 47 score cp 1418 lowerbound time 4480 nodes 3269671 nps 729000 hashfull 40 beta 0.942458 null 0.9
51244 pv a1b1 a7a8 b1b2 a8a7 b2b3 a7b6 b3c4 b6a6 c4d3 a6b7 d3e3 b7c7 e3f2 c7d7 f2g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g
5f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g4 f8g8 g4f4 g8f8 f4g5 f8e8 g5g6 e8d8 f6f7 d8c8 f7f8q c8c7
info currmove a1b2 currmovenumber 2
info currmove a1a2 currmovenumber 3
info depth 35 seldepth 47 score cp 1418 time 4526 nodes 3280955 nps 724000 hashfull 40 beta 0.94242 null 0.951244 pv a1b
1 a7a8 b1b2 a8a7 b2b3 a7b6 b3c4 b6a6 c4d3 a6b7 d3e3 b7c7 e3f2 c7d7 f2g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g
5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g4 f8g8 g4f4 g8f8 f4g5 f8e8 g5g6 e8d8 f6f7 d8c8 f7f8q c8c7
info currmove a1b1 currmovenumber 1
info depth 36 seldepth 57 score cp 0 lowerbound time 7716 nodes 8708536 nps 1128000 hashfull 93 beta 0.943024 null 0.970
019 pv a1b1 a7b7 b1c1 b7c7 c1d2 c7c8 d2e2 c8d7 e2f3 d7e7 f3g3 e7f6 g3h3 f6g7 h3h4 g7g6 h4g3 g6f6
info currmove a1b2 currmovenumber 2
info currmove a1a2 currmovenumber 3
info depth 36 seldepth 57 score cp 0 time 7774 nodes 8715164 nps 1120000 hashfull 93 beta 0.943017 null 0.970031 pv a1b1
 a7b7 b1c1 b7c7 c1d2 c7c8 d2e2 c8d7 e2f3 d7e7 f3g3 e7f6 g3h3 f6g7 h3h4 g7g6 h4g3 g6f6
info currmove a1b1 currmovenumber 1
info depth 37 seldepth 46 score cp 0 lowerbound time 7998 nodes 8794690 nps 1099000 hashfull 93 beta 0.943199 null 0.970
106 pv a1b1 a7b7 b1c1 b7c7 c1d2 c7c8 d2e2 c8d7 e2f3 d7e7 f3g3 e7f6 g3h3 f6g7 h3h4 g7g6 h4g3 g6f6
info currmove a1b2 currmovenumber 2
info currmove a1a2 currmovenumber 3
info depth 37 seldepth 46 score cp 0 time 8079 nodes 8813341 nps 1090000 hashfull 93 beta 0.943287 null 0.970113 pv a1b1
 a7b7 b1c1 b7c7 c1d2 c7c8 d2e2 c8d7 e2f3 d7e7 f3g3 e7f6 g3h3 f6g7 h3h4 g7g6 h4g3 g6f6
info currmove a1b1 currmovenumber 1
info depth 38 seldepth 52 score cp 0 lowerbound time 8310 nodes 8973749 nps 1079000 hashfull 94 beta 0.943812 null 0.969
032 pv a1b1 a7b7 b1c1 b7c7 c1d2 c7c8 d2e2 c8d7 e2f3 d7e7 f3g3 e7f6 g3h3 f6g7 h3h4 g7g6 h4g3 g6f6
info currmove a1b2 currmovenumber 2
info currmove a1a2 currmovenumber 3
info depth 38 seldepth 52 score cp 0 time 8383 nodes 9016237 nps 1075000 hashfull 94 beta 0.943947 null 0.969048 pv a1b1
 a7b7 b1c1 b7c7 c1d2 c7c8 d2e2 c8d7 e2f3 d7e7 f3g3 e7f6 g3h3 f6g7 h3h4 g7g6 h4g3 g6f6
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: Strange draw scores when searching Fine#70

Post by xr_a_y »

Ok, but score is dropping and at the same time pv is smaller

Code: Select all

info depth 32 seldepth 48 score cp 1296 time 2303 nodes 1601331 nps 695000 hashfull 14 beta 0.920039 null 0.91657 
pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7e7 c2c3 e7f6 c3c4 f6g6 c4b5 g6h5 b5c6 h5g4 c6d6 g4f4 d6e6 f4e4 d5d6 f5f4 d6d7 f4f3 d7d8q f3f2 d8d5 e4e3 d5c4 e3d2 d4d5 d2e1 c4c3 e1e2 c3e5 e2d2 d5d6
info currmove a1b1 currmovenumber 1
info depth 33 seldepth 53 score cp 0 lowerbound time 3520 nodes 2351908 nps 667000 hashfull 25 beta 0.937787 null 0.947994 
pv a1b1 a7a8 b1b2 a8a7 b2c2 a7b8 c2d1 b8c7 d1d2 c7c8 d2e2 c8d7 e2f3 d7e8 f3g3 e8f7 g3g2 f7g7 g2f2 g7g6 f2g3 g6h5 g3h3 h5g6 h3h2 g6g7 h2g3 g7f6 g3h3 f6g6
 
if you get pv from TT, it seems it has something to do with it. Are you checking 1rep or 3 rep ?
konsolas
Posts: 182
Joined: Sun Jun 12, 2016 5:44 pm
Location: London
Full name: Vincent

Re: Strange draw scores when searching Fine#70

Post by konsolas »

xr_a_y wrote: Tue Feb 12, 2019 9:04 pm Ok, but score is dropping and at the same time pv is smaller

Code: Select all

info depth 32 seldepth 48 score cp 1296 time 2303 nodes 1601331 nps 695000 hashfull 14 beta 0.920039 null 0.91657 
pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7e7 c2c3 e7f6 c3c4 f6g6 c4b5 g6h5 b5c6 h5g4 c6d6 g4f4 d6e6 f4e4 d5d6 f5f4 d6d7 f4f3 d7d8q f3f2 d8d5 e4e3 d5c4 e3d2 d4d5 d2e1 c4c3 e1e2 c3e5 e2d2 d5d6
info currmove a1b1 currmovenumber 1
info depth 33 seldepth 53 score cp 0 lowerbound time 3520 nodes 2351908 nps 667000 hashfull 25 beta 0.937787 null 0.947994 
pv a1b1 a7a8 b1b2 a8a7 b2c2 a7b8 c2d1 b8c7 d1d2 c7c8 d2e2 c8d7 e2f3 d7e8 f3g3 e8f7 g3g2 f7g7 g2f2 g7g6 f2g3 g6h5 g3h3 h5g6 h3h2 g6g7 h2g3 g7f6 g3h3 f6g6
 
if you get pv from TT, it seems it has something to do with it. Are you checking 1rep or 3 rep ?
I use a triangular table for PV, not the TT. So it's getting cut off because of a repetition at the end of the PV, so the game ends.

I use this code to detect draws:

Code: Select all

    if (context.board.record[context.board.now].halfmove_clock >= 100
        || context.board.is_repetition_draw(ply, 2)
        || context.board.is_repetition_draw(100, 3)) {
        return 0;
    }
So I check for 1 rep up to the search ply, and 2 rep up to 100 ply back.

I notice that stockfish doesn't immediately return 0 here, it instead checks to see if 0 >= beta. Ethereal, however, does immediately return 0. Neither has problems with Fine#70 so something else seems to be wrong here.
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: Strange draw scores when searching Fine#70

Post by xr_a_y »

Have you tried SE with cannull=false? Xiphos is disabling prunning in SE.
konsolas
Posts: 182
Joined: Sun Jun 12, 2016 5:44 pm
Location: London
Full name: Vincent

Re: Strange draw scores when searching Fine#70

Post by konsolas »

xr_a_y wrote: Tue Feb 12, 2019 9:47 pm Have you tried SE with cannull=false? Xiphos is disabling prunning in SE.
Unfortunately the draw scores still pop out with can_null = false for the singular search:

Code: Select all

info depth 23 seldepth 31 score cp 77 time 156 nodes 205732 nps 1310000 pv a1b1 a7a8 b1b2 a8a7 b2c3 a7b7 c3c2 b7b8 c2c1
b8b7 c1d2 b7c8 d2e2 c8d7 e2d1 d7c7 d1e1 c7d8 e1f2 d8e7 f2f3 e7f6 f3e2 f6e7
info depth 24 seldepth 36 score cp 225 time 218 nodes 263229 nps 1201000 pv a1b1 a7a8 b1b2 a8a7 b2b3 a7a6 b3c2 a6b7 c2c3
 b7c7 c3d3 c7b6 d3d2 b6b7 d2e3 b7b6 e3f3 b6c7 f3g3 c7d7 g3h4 d7c7 h4g5 c7d7 g5f6 d7d8 f6e6 d8c7 e6f5
info depth 25 seldepth 32 score cp 237 time 247 nodes 304376 nps 1227000 pv a1b1 a7a8 b1b2 a8a7 b2b3 a7a6 b3c2 a6b7 c2c3
 b7c7 c3d3 c7b7 d3e2 b7c7 e2f2 c7d8 f2g3 d8e7 g3h4 e7f7 h4g5 f7g7 g5f5 g7f7 f5g5 f7e7 g5g6 e7d7 f4f5
info depth 26 seldepth 36 score cp 237 time 277 nodes 347812 nps 1251000 pv a1b1 a7a8 b1b2 a8a7 b2b3 a7a6 b3c2 a6b7 c2c3
 b7c7 c3d3 c7b7 d3e3 b7c8 e3f3 c8d8 f3g3 d8e7 g3h4 e7f7 h4g5 f7e8 g5g6 e8d7 g6f5 d7e7 f5g6 e7e8 f4f5 e8d7
info depth 27 seldepth 37 score cp 77 time 330 nodes 428390 nps 1294000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d8 d1c2 d8d7 c2d3
d7c7 d3c4 c7b6 c4b3 b6c7 b3c3 c7b7 c3d2 b7c8 d2e1 c8d7 e1e2 d7d8 e2f2 d8e7 f2g3 e7f6 g3h4 f6g6 h4g3
info depth 28 seldepth 38 score cp 228 time 412 nodes 532447 nps 1289000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d8 d1c2 d8d7 c2c3
 d7c7 c3d3 c7b6 d3e2 b6c7 e2f3 c7d7 f3g3 d7c7 g3h4 c7d7 h4g5 d7e7 g5f5 e7f7 f5g5 f7e8 f4f5 e8e7
info depth 29 seldepth 38 score cp 338 time 484 nodes 629399 nps 1297000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d8 d1c2 d8d7 c2c3
 d7c7 c3d3 c7b6 d3e2 b6b7 e2f2 b7b6 f2g3 b6c7 g3h4 c7d7 h4g5 d7e7 g5f5 e7f7 f5g5 f7e8 f4f5 e8f7 f5f6 f7e8 g5f4 e8d7
info depth 30 seldepth 41 score cp 354 time 553 nodes 713565 nps 1288000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d8 d1c2 d8d7 c2c3
 d7c7 c3d3 c7b6 d3e2 b6a6 e2f3 a6b7 f3g2 b7a7 g2g3 a7b6 g3h4 b6c7 h4g5 c7d7 g5f5 d7e7 f5g5 e7e8 f4f5 e8f7 f5f6 f7f8 g5f4
 f8f7 f4f5
info depth 31 seldepth 40 score cp 473 time 606 nodes 792241 nps 1305000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d8 d1c2 d8d7 c2c3
 d7c7 c3d3 c7b6 d3e2 b6a6 e2f3 a6b7 f3g3 b7c7 g3h4 c7d8 h4g5 d8e7 g5f5 e7f7 f5g5 f7g7 f4f5 g7h7 f5f6 h7h8 g5f5 h8h7 f5e6
 h7g6 f6f7 g6g7 e6e7
info depth 32 seldepth 44 score cp 0 time 693 nodes 914565 nps 1317000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d8 d1c2 d8d7 c2c3 d
7c7 c3d3 c7b6 d3e2 b6c7 e2f1 c7d7 f1e2 d7c7
info depth 33 seldepth 46 score cp 396 time 806 nodes 1082547 nps 1341000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d8 d1c2 d8d7 c2c
3 d7c7 c3d3 c7b6 d3e2 b6c7 e2f3 c7d7 f3g3 d7e7 g3h4 e7f7 h4g5 f7g7 g5f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5g4 f8e8 g4f
4 e8f8 f4e4 f8e8 e4d3
info depth 34 seldepth 51 score cp 367 time 993 nodes 1388170 nps 1396000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d8 d1c2 d8d7 c2c
3 d7c7 c3b3 c7b6 b3c4 b6a6 c4d3 a6b7 d3e2 b7c7 e2f3 c7d8 f3g3 d8c7 g3h4 c7d7 h4g5 d7e7 g5g6 e7e8 g6f6 e8f8 f6e6 f8g7 e6d
6 g7f6 d6d7 f6f7 d5d6 f7f6
info depth 35 seldepth 55 score cp 386 lowerbound time 2593 nodes 3412258 nps 1315000 hashfull 42 beta 0.944251 null 0.9
45457 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d8 d1c2 d8c8 c2d2 c8b7 d2e2 b7c8 e2f2 c8d7 f2g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g
5f5 g7f7 f5g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5f4 f8g8 f4g4 g8f8 g4g5 f8f7 g5f5 f7f8
info currmove a1b2 currmovenumber 2
info currmove a1a2 currmovenumber 3
info depth 35 seldepth 55 score cp 386 time 2657 nodes 3444529 nps 1295000 hashfull 42 beta 0.944211 null 0.946034 pv a1
b1 a7b7 b1c1 b7c7 c1d1 c7d8 d1c2 d8c8 c2d2 c8b7 d2e2 b7c8 e2f2 c8d7 f2g3 d7e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5
g5 f7g7 f4f5 g7f7 f5f6 f7f8 g5f4 f8g8 f4g4 g8f8 g4g5 f8f7 g5f5 f7f8
info currmove a1b1 currmovenumber 1
info depth 36 seldepth 51 score cp 0 lowerbound time 2781 nodes 3572226 nps 1284000 hashfull 43 beta 0.944176 null 0.947
277 pv a1b1 a7a8 b1b2 a8a7 b2c3 a7b7 c3c2 b7b8 c2d2 b8c8 d2c1 c8b7 c1b1 b7c8 b1b2 c8c7 b2c1 c7b7
info currmove a1b2 currmovenumber 2
info currmove a1a2 currmovenumber 3
info depth 36 seldepth 51 score cp 0 time 2819 nodes 3575754 nps 1267000 hashfull 43 beta 0.944173 null 0.94728 pv a1b1
a7a8 b1b2 a8a7 b2c3 a7b7 c3c2 b7b8 c2d2 b8c8 d2c1 c8b7 c1b1 b7c8 b1b2 c8c7 b2c1 c7b7
info currmove a1b1 currmovenumber 1
info depth 37 seldepth 65 score cp 0 lowerbound time 3234 nodes 4108367 nps 1269000 hashfull 50 beta 0.943877 null 0.949
679 pv a1b1 a7a8 b1b2 a8a7 b2c3 a7b7 c3c2 b7b8 c2d2 b8c8 d2c1 c8b7 c1b1 b7c7 b1a2 c7c8 a2a3 c8d8 a3a2 d8c7 a2b2 c7c8 b2a
1 c8d7 a1b2 d7c7 b2c1 c7b7
info currmove a1b2 currmovenumber 2
info currmove a1a2 currmovenumber 3
info depth 37 seldepth 65 score cp 0 time 3270 nodes 4108928 nps 1256000 hashfull 50 beta 0.943878 null 0.949679 pv a1b1
 a7a8 b1b2 a8a7 b2c3 a7b7 c3c2 b7b8 c2d2 b8c8 d2c1 c8b7 c1b1 b7c7 b1a2 c7c8 a2a3 c8d8 a3a2 d8c7 a2b2 c7c8 b2a1 c8d7 a1b2
 d7c7 b2c1 c7b7
I'm going to try singular extensions without the extensions to see if the issue is with the extending or with the search conducted inside singular extensions.
konsolas
Posts: 182
Joined: Sun Jun 12, 2016 5:44 pm
Location: London
Full name: Vincent

Re: Strange draw scores when searching Fine#70

Post by konsolas »

OK, this is very interesting. If I comment out the line ex = 1, which does the extending, and just leave the search in, I still get the draw scores. So it appears that you were right about the singular search interfering with the main search somehow. Now I just need to figure out how it is doing that.

But how could it be affecting the search if it doesn't write to hash?
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: Strange draw scores when searching Fine#70

Post by xr_a_y »

SE does write to TT, but not at it own "root", in deeper nodes. In fine70, at many points i guess, there is only one good move and SE search discards it then maybe fills all your 4 buckets with pointless information and then extend it (see depth 28 versus seldepth 38 in your search with SE). Without SE you reach depth 28 in 4 times less time.
konsolas
Posts: 182
Joined: Sun Jun 12, 2016 5:44 pm
Location: London
Full name: Vincent

Re: Strange draw scores when searching Fine#70

Post by konsolas »

xr_a_y wrote: Wed Feb 13, 2019 7:08 am SE does write to TT, but not at it own "root", in deeper nodes. In fine70, at many points i guess, there is only one good move and SE search discards it then maybe fills all your 4 buckets with pointless information and then extend it (see depth 28 versus seldepth 38 in your search with SE). Without SE you reach depth 28 in 4 times less time.
Completely disabling saving to the tt in singular search:

Code: Select all

        if (!context.in_singular_search && depth >= 8 && move == tt_move
            && (h_bound == tt::LOWER || h_bound == tt::EXACT)
            && excluded == EMPTY_MOVE
            && h.depth() >= depth - 3
            && abs(h.value(ply)) < MINCHECKMATE) {
            int reduced_beta = (h.value(ply)) - depth;
            context.in_singular_search = true;
            int singular_score = search_ab<false, H>(context, reduced_beta - 1, reduced_beta, ply, depth / 2,
                                                     can_null, move, aborted);
            context.in_singular_search = false;
            if (is_aborted(aborted)) return TIMEOUT;

            if (singular_score < reduced_beta) {
                //ex = 1;
            }
        }

Code: Select all

                        if(!context.in_singular_search) {
                            tt->save(tt::LOWER, context.board.record[context.board.now].hash, depth, ply, eval, score,
                                     best_move);
                        }

Code: Select all

    if(!context.in_singular_search) {
        if (alpha > old_alpha) {
            tt->save(tt::EXACT, context.board.record[context.board.now].hash, depth, ply, eval, alpha, best_move);
            if (!best_move.info.is_capture) context.heur.history.good_history(best_move, depth);
        } else if (excluded == EMPTY_MOVE) {
            tt->save(tt::UPPER, context.board.record[context.board.now].hash, depth, ply, eval, alpha, best_move);
        }
    }
Still leaves draw scores:

Code: Select all

info depth 43 seldepth 50 score cp 360 lowerbound time 1315 nodes 1862466 nps 1415000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d
1c2 d7c8 c2d2 c8b8 d2e2 b8c8 e2f2 c8d8 f2g3 d8e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 g5g4 g7g6 f4f5 g6f6 g
4f4 f6e7 f4g5 e7f7 f5f6 f7f8 g5g4 f8g8 g4f4 g8f8 f4e4 f8g8 e4d3 g8f7
info currmove a1b2 currmovenumber 2
info currmove a1a2 currmovenumber 3
info depth 43 seldepth 50 score cp 360 time 1323 nodes 1866422 nps 1409000 pv a1b1 a7b7 b1c1 b7c7 c1d1 c7d7 d1c2 d7c8 c2
d2 c8b8 d2e2 b8c8 e2f2 c8d8 f2g3 d8e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5g5 f7g7 g5g4 g7g6 f4f5 g6f6 g4f4 f6e7 f4
g5 e7f7 f5f6 f7f8 g5g4 f8g8 g4f4 g8f8 f4e4 f8g8 e4d3 g8f7
info currmove a1b1 currmovenumber 1
info depth 44 seldepth 47 score cp 0 lowerbound time 1565 nodes 2222790 nps 1419000 pv a1b1 a7a8 b1b2 a8a7 b2c2 a7b8 c2c
3 b8b7 c3d2 b7c8 d2c1 c8b7 c1c2 b7b8
info currmove a1b2 currmovenumber 2
info currmove a1a2 currmovenumber 3
info depth 44 seldepth 47 score cp 0 time 1568 nodes 2222939 nps 1416000 pv a1b1 a7a8 b1b2 a8a7 b2c2 a7b8 c2c3 b8b7 c3d2
 b7c8 d2c1 c8b7 c1c2 b7b8
info currmove a1b1 currmovenumber 1
info depth 45 seldepth 44 score cp 0 lowerbound time 1617 nodes 2272812 nps 1404000 pv a1b1 a7a8 b1b2 a8a7 b2c2 a7b8 c2c
3 b8b7 c3d2 b7c8 d2c1 c8b7 c1c2 b7b8
info currmove a1b2 currmovenumber 2
info currmove a1a2 currmovenumber 3
info depth 45 seldepth 44 score cp 0 time 1622 nodes 2273222 nps 1400000 pv a1b1 a7a8 b1b2 a8a7 b2c2 a7b8 c2c3 b8b7 c3d2
 b7c8 d2c1 c8b7 c1c2 b7b8
info currmove a1b1 currmovenumber 1
info depth 46 seldepth 39 score cp 0 lowerbound time 1661 nodes 2335732 nps 1405000 pv a1b1 a7a8 b1b2 a8a7 b2c2 a7b8 c2c
3 b8b7 c3d2 b7c8 d2c1 c8b7 c1c2 b7b8
info currmove a1b2 currmovenumber 2
info currmove a1a2 currmovenumber 3
info depth 46 seldepth 39 score cp 0 time 1681 nodes 2344215 nps 1393000 pv a1b1 a7a8 b1b2 a8a7 b2c2 a7b8 c2c3 b8b7 c3d2
 b7c8 d2c1 c8b7 c1c2 b7b8
info currmove a1b1 currmovenumber 1
info depth 47 seldepth 48 score cp 0 lowerbound time 1759 nodes 2400720 nps 1364000 pv a1b1 a7a8 b1b2 a8a7 b2c2 a7b8 c2c
3 b8b7 c3d2 b7c8 d2c1 c8b7 c1c2 b7b8
info currmove a1b2 currmovenumber 2
info currmove a1a2 currmovenumber 3
info depth 47 seldepth 48 score cp 0 time 1796 nodes 2441477 nps 1358000 pv a1b1 a7a8 b1b2 a8a7 b2c2 a7b8 c2c3 b8b7 c3d2
 b7c8 d2c1 c8b7 c1c2 b7b8
info currmove a1b1 currmovenumber 1
info depth 48 seldepth 60 score cp 669 lowerbound time 2569 nodes 3545944 nps 1379000 hashfull 20 beta 0.921679 null 0.9
73383 pv a1b1 a7a8 b1b2 a8a7 b2b3 a7b6 b3c2 b6c7 c2d3 c7b6 d3e2 b6c7 e2f3 c7d8 f3g3 d8e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g
5f5 g7f7 f5e4 f7g6 e4e3 g6f6 e3d3 f6f5 d3c4 f5e4 c4b5 e4d5 b5a5 d5c6 d4d5 c6b7 a5b5 b7c7 a4a5 c7b7 a5a6 b7c7 f4f5 c7c8 b
5c6 c8d8 c6d6 d8c8
info currmove a1b2 currmovenumber 2
info currmove a1a2 currmovenumber 3
info depth 48 seldepth 60 score cp 669 time 2620 nodes 3587229 nps 1368000 hashfull 20 beta 0.921191 null 0.97343 pv a1b
1 a7a8 b1b2 a8a7 b2b3 a7b6 b3c2 b6c7 c2d3 c7b6 d3e2 b6c7 e2f3 c7d8 f3g3 d8e7 g3h4 e7f6 h4h5 f6f7 h5g5 f7g7 g5f5 g7f7 f5e
4 f7g6 e4e3 g6f6 e3d3 f6f5 d3c4 f5e4 c4b5 e4d5 b5a5 d5c6 d4d5 c6b7 a5b5 b7c7 a4a5 c7b7 a5a6 b7c7 f4f5 c7c8 b5c6 c8d8 c6d
6 d8c8
I have noticed, however, that disabling killer moves (by commenting out context.heur.killers.update(move, ply)) completely solves the score issue, although the search is slower. So somehow, killer moves are causing invalid draw scores to be returned, but only if singular extensions are enabled.