Introducing Reckless, a Rust-based UCI chess engine.
Author: Arseniy Surkov Rating CEDR=2812
v.0.4.0:
Search Improvements
Main Search: Implemented internal iterative reductions, futility pruning, and the improving heuristic.
Late Move Reductions: Implemented a logarithmic formula, adjusted based on the history heuristic.
Null Move Pruning: Adjusted based on depth, with added zugzwang risk minimization.
History Heuristic: Now persistent between searches and utilizes a gravity formula.
Quiescence Search: Enhanced with delta pruning and transposition table utilization.
Evaluation Improvements
Enemy king-relative PST
Passed pawns
Isolated pawns
Other Changes
Implemented a Triangular PV table to report a full-length principal variation line.
Bug Fixes
Fixed a formatting bug when reporting mating scores.
Fixed a cache size reset bug when the ucinewgame command is received.
Self-Play Benchmark Against v0.3.0
STC 10+0.1s
Score of Reckless v0.4.0 vs Reckless v0.3.0: 539 - 47 - 164 [0.828] 750
... Reckless v0.4.0 playing White: 284 - 17 - 74 [0.856] 375
... Reckless v0.4.0 playing Black: 255 - 30 - 90 [0.800] 375
... White vs Black: 314 - 272 - 164 [0.528] 750
Elo difference: 273.0 +/- 25.9, LOS: 100.0 %, DrawRatio: 21.9 %
LTC 60+0.6s
Score of Reckless v0.4.0 vs Reckless v0.3.0: 287 - 15 - 98 [0.840] 400
... Reckless v0.4.0 playing White: 152 - 5 - 43 [0.868] 200
... Reckless v0.4.0 playing Black: 135 - 10 - 55 [0.813] 200
... White vs Black: 162 - 140 - 98 [0.527] 400
Elo difference: 288.1 +/- 34.5, LOS: 100.0 %, DrawRatio: 24.5 %

Comments
Post a Comment