TheBlackPlague / StockNemo

A C# Chess Engine Finding Good Moves.
GNU Lesser General Public License v3.0
62 stars 7 forks source link

Transposition Table Usage Improvement. #23

Closed TheBlackPlague closed 2 years ago

TheBlackPlague commented 2 years ago

From what can be understood, it seems we weren't properly utilizing our transposition table. It is entirely possible to get more transposition table cutoffs if we avoid checking for depth regarding move ordering. This is because the TT move may actually be the best move (even if it was only best at a shallower search.

ELO Difference

TC: 8s + 0.08s

Using UHO_XXL_+0.90_+1.19.epd:

Score of StockNemo 2.0.0.9-b227982a vs StockNemo 2.0.0.8: 199 - 66 - 123  [0.671] 388
...      StockNemo 2.0.0.9-b227982a playing White: 122 - 21 - 51  [0.760] 194
...      StockNemo 2.0.0.9-b227982a playing Black: 77 - 45 - 72  [0.582] 194
...      White vs Black: 167 - 98 - 123  [0.589] 388
Elo difference: 124.1 +/- 29.5, LOS: 100.0 %, DrawRatio: 31.7 %
SPRT: llr 2.96 (100.4%), lbound -2.94, ubound 2.94 - H1 was accepted
Finished match

TC: 10s + 0.1s

Rank Name                          Elo     +/-   Games   Score    Draw 
   1 StockNemo-b227982a            221      12    2800   78.1%   25.1% 
   2 StockNemo-2.0.0.8              74      11    2800   60.5%   32.3% 
   3 StockNemo-2.0.0.7              64      11    2800   59.1%   30.1% 
   4 StockNemo-2.0.0.5              63      11    2800   59.0%   31.8% 
   5 StockNemo-2.0.0.3              35      11    2800   55.1%   31.5% 
   6 StockNemo-2.0.0.2            -140      11    2800   30.8%   30.4% 
   7 StockNemo-2.0.0.1            -158      11    2800   28.7%   29.2% 
   8 StockNemo-2.0.0.0            -158      11    2800   28.7%   32.8%