We now correctly use information in the TT when checking if we want to try a null move.
That is:
-If the TT contains a lower bound or an exact bound and tt score >= beta : We try the null move
-If the TT contains an upper bound or an exact bound and tt score < beta: We don't try the null move
-In all other cases: We check if static eval > beta.
Passed regression tests at OpenBench:
ELO | 7.08 +- 5.14 (95%)
SPRT | 10.0+0.1s Threads=1 Hash=8MB
LLR | 2.99 (-2.94, 2.94) [0.00, 5.00]
Games | N: 10068 W: 2992 L: 2787 D: 4289
http://chess.grantnet.us/test/7407/
We now correctly use information in the TT when checking if we want to try a null move. That is: -If the TT contains a lower bound or an exact bound and tt score >= beta : We try the null move -If the TT contains an upper bound or an exact bound and tt score < beta: We don't try the null move -In all other cases: We check if static eval > beta. Passed regression tests at OpenBench: ELO | 7.08 +- 5.14 (95%) SPRT | 10.0+0.1s Threads=1 Hash=8MB LLR | 2.99 (-2.94, 2.94) [0.00, 5.00] Games | N: 10068 W: 2992 L: 2787 D: 4289 http://chess.grantnet.us/test/7407/
ELO | 9.76 +- 6.10 (95%) SPRT | 60.0+0.6s Threads=1 Hash=64MB LLR | 2.96 (-2.94, 2.94) [0.00, 5.00] Games | N: 5876 W: 1471 L: 1306 D: 3099 http://chess.grantnet.us/test/7408/