TheBlackPlague / StockNemo

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

Implement Check Extensions. #52

Closed TheBlackPlague closed 2 years ago

TheBlackPlague commented 2 years ago

The idea behind check extensions is to increase the accuracy of our evaluation. Currently, StockNemo, while avoiding pruning whatsoever when under check, doesn't really push to get an accurate evaluation. The idea behind check extensions is that when under check, StockNemo will evaluate the tree deeper, making its overall move choice and evaluation much more accurate. Furthermore, since there is a limited number of moves when under check, it means one does not have to worry about search explosion.

ELO Difference

TC: 10s + 0.1s

Using UHO_XXL_+0.90_+1.19.epd:

ELO   | 32.56 +- 12.84 (95%)
SPRT  | 10.0+0.10s Threads=1 Hash=16MB
LLR   | 2.96 (-2.94, 2.94) [0.00, 5.00]
GAMES | N: 1648 W: 556 L: 402 D: 690