Skip to content

Bread 3.0.0

Latest

Choose a tag to compare

@Nonlinear2 Nonlinear2 released this 15 Mar 13:08
· 25 commits to main since this release

Bread 3.0.0 is much stronger than version 2.1.1 thanks to various search and NNUE improvements. The code has been largely refactored and the occasional search explosions should now be fixed. You can find the progression tests results in the table below:

Short time control (8 + 0.08 s) +158 Elo
Long time control (40 + 0.4 s) +155 Elo

What's new:

Main search:

  • material scaling (~26 elo)
  • pawn correction history (~17 elo)
  • TT refactors, TT entry replacement (~12 elo)
  • SPSA tunes (~10 elo)
  • sorted move generation improvements (~ 8 elo)
  • better search termination (~7 elo)
  • history bonus tweaks (~5 elo)
  • refactor SEE (~5 elo)
  • add skip quiets to qsearch (~ 4 elo)
  • add double extensions (~4 elo)
  • capture history (~2 elo)

NNUE:

  • a modified architecture ((768x10 -> 1024)x2 -> 1x8) featuring input buckets and training data from a new training stage (~50 elo)
  • add support for AVX512 instructions
  • avoid recomputing both accumulators when the king moves (~10 elo)
  • add finny tables (~3 elo)
  • various refactors (~5 elo)

Simplifications / Bug fixes:

  • fixed the go infinite command.
  • fixed occasional search explosions

Progression tests results

STC: 8 + 0.08 s

Elo   | 158.45 +- 4.95 (95%)
Conf  | 8.0+0.08s Threads=1 Hash=32MB
Games | N: 10104 W: 4962 L: 649 D: 4493
Penta | [21, 256, 1310, 2319, 1146]
https://nonlinear.eu.pythonanywhere.com/test/1000/

LTC: 40 + 0.4 s

Elo   | 155.44 +- 4.51 (95%)
Conf  | 40.0+0.40s Threads=1 Hash=128MB
Games | N: 10020 W: 4596 L: 390 D: 5034
Penta | [6, 160, 1425, 2460, 959]
https://nonlinear.eu.pythonanywhere.com/test/1001/