Skip to content

Bread Engine 1.6.0

Choose a tag to compare

@Nonlinear2 Nonlinear2 released this 26 Aug 22:40
· 278 commits to main since this release

Bread Engine 1.6.0 is around 97 elo stronger at short time control (8+0.08s) and 100 elo stronger at long time control (40+0.4s).

This version includes major bugfixes and should no longer crash during engames. SPSA is now supported, and two tunes of 40k games have been run for the main search and move ordering, resulting in a 30 elo increase.
Major parts of Bread's codebase have also been rewritten and improved.

General

  • ability to dump the engine state in a file for bug reproduction
  • added a makefile as a way to build the engine
  • better benchmark positions
  • SPSA tune (~30 elo)
  • merge the root negamax search with the main search

Additions/Improvements:

  • static exchange evaluation pruning to the main search (~21 elo)
  • improving heuristic for reverse futility pruning and late move pruning (~12 elo)
  • multi cut pruning (~11 elo)
  • search transposition table moves in qsearch when in check (~16 elo)
  • prevent transposition table cuts on pv nodes (~18 elo)
  • decrease the move ordering static exchange evaluation threshold (~6 elo)
  • store best moves only if they increase alpha (~5 elo)

Bug fixes:

  • fix storing invalid evaluations in the transposition table when the only legal move is excluded
  • fix singular beta going out of the legal evaluation range (~3 elo)
  • fix a search stack overflow (~3 elo)
  • fix an overflow in reported nodes per second

STC: 8 + 0.08 s

Score of bread_engine_1.6.0 vs bread_engine_1.5.0: 1523 - 703 - 774  [0.637] 3000
...      bread_engine_1.6.0 playing White: 883 - 287 - 330  [0.699] 1500
...      bread_engine_1.6.0 playing Black: 640 - 416 - 444  [0.575] 1500
...      White vs Black: 1299 - 927 - 774  [0.562] 3000
Elo difference: 97.4 +/- 11.0, LOS: 100.0 %, DrawRatio: 25.8 %

LTC: 40 + 0.4 s

Score of bread_engine_1.6.0 vs bread_engine_1.5.0: 351 - 140 - 259  [0.641] 750
...      bread_engine_1.6.0 playing White: 199 - 55 - 121  [0.692] 375
...      bread_engine_1.6.0 playing Black: 152 - 85 - 138  [0.589] 375
...      White vs Black: 284 - 207 - 259  [0.551] 750
Elo difference: 100.5 +/- 20.5, LOS: 100.0 %, DrawRatio: 34.5 %