jhonnold / berserk

UCI Chess Engine written in C
GNU General Public License v3.0
202 stars 32 forks source link

No PV TT Cutoff in QSearch + Removal of consecutive fail highs #378

Closed jhonnold closed 2 years ago

jhonnold commented 2 years ago

Bench: 4387316

Removing PV TT cutoffs in QSearch as it results in a bugged eval when opponent has few moves. This was identified in the extreme with endgame specific evals. Standard removal results in ~10 Elo lost, which is the result of consecutive fail highs, which are also simplified out in this patch.

STC

ELO   | -3.79 +- 3.03 (95%)
SPRT  | 8.0+0.08s Threads=1 Hash=8MB
LLR   | -2.98 (-2.94, 2.94) [-5.00, 0.00]
GAMES | N: 23480 W: 5358 L: 5614 D: 12508

LTC

ELO   | 2.83 +- 4.49 (95%)
SPRT  | 40.0+0.40s Threads=1 Hash=64MB
LLR   | 2.96 (-2.94, 2.94) [-5.00, 0.00]
GAMES | N: 10056 W: 2243 L: 2161 D: 5652
jhonnold commented 2 years ago

Quick SMP check to make sure this isn't awful

ELO   | 0.50 +- 6.48 (95%)
SPRT  | 5.0+0.05s Threads=8 Hash=64MB
LLR   | 0.21 (-2.94, 2.94) [-5.00, 0.00]
GAMES | N: 2069 W: 196 L: 193 D: 1680