TheBlackPlague / StockNemo

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

Implement Aspiration Search. #16

Closed TheBlackPlague closed 2 years ago

TheBlackPlague commented 2 years ago

Currently, we have a massive search space: (-INF, +INF). This forces us to look at every branch, even if it's far too terrible. To dynamically change our search space in a narrow window, we use aspiration search.

ELO Difference

TC: 10s + 0.1s

Using UHO_XXL_+0.90_+1.19.epd:

Score of StockNemo 2.0.0.5 vs StockNemo 2.0.0.3: 71 - 51 - 78 [0.550]
...      StockNemo 2.0.0.5 playing White: 44 - 21 - 35  [0.615] 100
...      StockNemo 2.0.0.5 playing Black: 27 - 30 - 43  [0.485] 100
...      White vs Black: 74 - 48 - 78  [0.565] 200
Elo difference: 34.9 +/- 37.8, LOS: 96.5 %, DrawRatio: 39.0 %
200 of 200 games finished.
Rank Name                          Elo     +/-   Games   Score    Draw 
   1 StockNemo 2.0.0.5             167      22     800   72.3%   28.4% 
   2 StockNemo 2.0.0.3             125      20     800   67.3%   32.5% 
   3 StockNemo 2.0.0.2             -61      19     800   41.4%   37.3% 
   4 StockNemo 2.0.0.1             -99      20     800   36.2%   34.4% 
   5 StockNemo 2.0.0.0            -124      20     800   32.9%   36.5% 

2000 of 2000 games finished.