Skip to content

Releases: Nonlinear2/Bread-Engine

Bread Engine 1.1.0

29 Jul 18:28
Compare
Choose a tag to compare

Bread Engine 1.1.0 is around 130 elo stronger than version 1.0.0 in short time controls, and 65 elo stronger in long time controls.

Additions:

  • Mate scores
  • Internal iterative reductions
  • uci information for tablebase moves
  • history heuristic
  • razoring
  • static exchange evaluation pruning
  • and... there is now a nonsense option, which makes Bread bongcloud occasionally, underpromote to bishops and knights as well as print lyrics from "never gonna give you up" during search.

Improvements/bug fixes:

  • switched from using float to integer scores
  • improved reverse futility pruning
  • removed late move reduction for killer moves
  • fixed WDL probing bug
Results of bread_engine_1.1.0 vs bread_engine_1.0.0 (10+0.1, 1t, MB, UHO_2024_8mvs_big_+115_+134.pgn):
Elo: 132.04 +/- 31.13, nElo: 182.16 +/- 38.93
LOS: 100.00 %, DrawRatio: 30.07 %, PairsRatio: 5.69
Games: 306, Wins: 167, Losses: 56, Draws: 83, Points: 208.5 (68.14 %)
Ptnml(0-2): [2, 14, 46, 53, 38]
LLR: 2.95 (-2.94, 2.94) [0.00, 10.00]
Results of bread_engine_1.1.0 vs bread_engine_1.0.0 (40+0.5, 1t, MB, UHO_2024_8mvs_big_+115_+134.pgn):
Elo: 64.42 +/- 23.05, nElo: 89.02 +/- 31.08
LOS: 100.00 %, DrawRatio: 42.92 %, PairsRatio: 2.51
Games: 480, Wins: 208, Losses: 120, Draws: 152, Points: 284.0 (59.17 %)
Ptnml(0-2): [9, 30, 103, 60, 38]
LLR: 2.99 (-2.94, 2.94) [0.00, 10.00]

Bread Engine 1.0.0

20 Jul 22:13
Compare
Choose a tag to compare

Bread Engine has been updated to version 1.0.0!

The patch version numbers were starting to get large... From now on, I will try to follow semantic versioning.

Bread engine 1.0.0 features null move pruning which makes it around 25 elo stronger than version 0.0.10 in short time controls, and around 55 elo stronger in long time controls.


STC: 10 + 0.1 s

Score of bread_engine_1.0.0 vs bread_engine_0.0.10: 424 - 338 - 349 [0.539] 1111
Elo difference: 26.9 +/- 16.9, LOS: 99.9 %, DrawRatio: 31.4 %
SPRT: llr 2.95 (100.1%), lbound -2.94, ubound 2.94 - H1 was accepted

LTC: 40 + 0.5 s

Score of bread_engine_1.0.0 vs bread_engine_0.0.10: 231 - 146 - 147 [0.581] 524
Elo difference: 56.9 +/- 25.4, LOS: 100.0 %, DrawRatio: 28.1 %
SPRT: llr 3.14 (106.5%), lbound -2.94, ubound 2.94 - H1 was accepted



Here are the results from an STC tournament featuring all the engine versions:

Version Elo +/- Games Score Draw
1.0.0 199 38 330 75.9% 19.1%
0.0.10 155 37 330 70.9% 18.2%
0.0.9 94 35 330 63.2% 19.1%
0.0.8 61 34 330 58.6% 19.1%
0.0.7 0 33 330 50.0% 20.6%
0.0.6 -16 34 330 47.7% 17.3%
0.0.5 -62 34 330 41.2% 20.6%
0.0.4 -68 34 330 40.3% 20.6%
0.0.3 -112 36 330 34.4% 16.1%
0.0.2 -267 45 330 17.7% 11.2%

Bread Engine 0.0.10

19 Jul 09:26
Compare
Choose a tag to compare

Added support for the 50 move rule, implemented late move reductions on the root node (~15 elo), disabled some transpositions cutoffs in the principal variation (~15 elo) and added reverse futility pruning (~35 elo). Bread Engine 0.0.10 is around 65 elo stronger than version 0.0.9.

Score of bread_engine_0.0.10 vs bread_engine_0.0.9: 198 - 118 - 117 [0.592] 433
... bread_engine_0.0.10 playing White: 135 - 33 - 48 [0.736] 216
... bread_engine_0.0.10 playing Black: 63 - 85 - 69 [0.449] 217
... White vs Black: 220 - 96 - 117 [0.643] 433
Elo difference: 64.9 +/- 28.3, LOS: 100.0 %, DrawRatio: 27.0 %
SPRT: llr 2.95 (100.3%), lbound -2.94, ubound 2.94 - H1 was accepted

Bread Engine 0.0.9

13 Jul 11:15
Compare
Choose a tag to compare

Updated readme, tweaked late move reductions, refactored some code and added check extensions. Bread Engine 0.0.9 is around 45 elo stronger than version 0.0.8.

Score of bread_engine_0.0.9 vs bread_engine_0.0.8: 311 - 223 - 164 [0.563] 698
... bread_engine_0.0.9 playing White: 203 - 79 - 67 [0.678] 349
... bread_engine_0.0.9 playing Black: 108 - 144 - 97 [0.448] 349
... White vs Black: 347 - 187 - 164 [0.615] 698
Elo difference: 44.0 +/- 22.7, LOS: 100.0 %, DrawRatio: 23.5 %
SPRT: llr 2.95 (100.2%), lbound -2.94, ubound 2.94 - H1 was accepted

Bread Engine 0.0.8

12 Jul 09:54
Compare
Choose a tag to compare

Bread Engine 0.0.8 has cleaner code for move generation, backwards compatible code removed, a better transposition table replacement scheme and improved uci support. Finally, a bug in search termination has been fixed. Bread Engine 0.0.8 is around 60 elo stronger than version 0.0.7.

Score of bread_engine_0.0.8 vs bread_engine_0.0.7: 232 - 145 - 102 [0.591] 479
... bread_engine_0.0.8 playing White: 145 - 54 - 41 [0.690] 240
... bread_engine_0.0.8 playing Black: 87 - 91 - 61 [0.492] 239
... White vs Black: 236 - 141 - 102 [0.599] 479
Elo difference: 63.8 +/- 28.0, LOS: 100.0 %, DrawRatio: 21.3 %
SPRT: llr 2.96 (100.5%), lbound -2.94, ubound 2.94 - H1 was accepted

Bread Engine 0.0.7

02 Jul 16:30
Compare
Choose a tag to compare

Bread Engine 0.0.7 has more compact transposition table entries, better replacement scheme, quiescence search moves are now stored. Move ordering has also been refactored. Bread engine 0.0.7 is around 35 elo stronger than version 0.0.6.

Score of bread_engine_0.0.7 vs bread_engine_0.0.6: 418 - 323 - 185 [0.551] 926
... bread_engine_0.0.7 playing White: 258 - 123 - 82 [0.646] 463
... bread_engine_0.0.7 playing Black: 160 - 200 - 103 [0.457] 463
... White vs Black: 458 - 283 - 185 [0.594] 926
Elo difference: 35.8 +/- 20.1, LOS: 100.0 %, DrawRatio: 20.0 %
SPRT: llr 2.95 (100.1%), lbound -2.94, ubound 2.94 - H1 was accepted

Bread Engine 0.0.6

26 Jun 00:28
Compare
Choose a tag to compare

Bread Engine 0.0.6 has better optimized matrix multiplication for NNUE inference. Version 0.0.6 is around 20 elo stronger than version 0.0.5.

Score of bread_engine_0.0.6 vs bread_engine_0.0.5: 717 - 611 - 339 [0.532] 1667
... bread_engine_0.0.6 playing White: 450 - 224 - 160 [0.635] 834
... bread_engine_0.0.6 playing Black: 267 - 387 - 179 [0.428] 833
... White vs Black: 837 - 491 - 339 [0.604] 1667
Elo difference: 22.1 +/- 14.9, LOS: 99.8 %, DrawRatio: 20.3 %
SPRT: llr 2.97 (100.7%), lbound -2.94, ubound 2.94 - H1 was accepted

Bread Engine 0.0.5

22 Jun 23:38
Compare
Choose a tag to compare

Bread Engine 0.0.5 has cleaner code, and a bug concerning the tablebase probe has been fixed. Bread engine now supports the Clang 17, and GCC 13 compilers. Version 0.0.5 is around 30 elo stronger than version 0.0.4.

Score of bread_engine_0.0.5 vs bread_engine_0.0.4: 377 - 287 - 212 [0.551] 876
... bread_engine_0.0.5 playing White: 217 - 108 - 113 [0.624] 438
... bread_engine_0.0.5 playing Black: 160 - 179 - 99 [0.478] 438
... White vs Black: 396 - 268 - 212 [0.573] 876
Elo difference: 35.8 +/- 20.1, LOS: 100.0 %, DrawRatio: 24.2 %
SPRT: llr 2.95 (100.2%), lbound -2.94, ubound 2.94 - H1 was accepted

Bread Engine 0.0.4

18 Jun 11:09
Compare
Choose a tag to compare

Version 0.0.4 has an improved neural network, as well as a few performance improvements. It is around 30 elo stronger than version 0.0.3.

Score of bread_engine_0.0.4 vs bread_engine_0.0.3: 459 - 362 - 203 [0.547] 1024
... bread_engine_0.0.4 playing White: 293 - 130 - 89 [0.659] 512
... bread_engine_0.0.4 playing Black: 166 - 232 - 114 [0.436] 512
... White vs Black: 525 - 296 - 203 [0.612] 1024
Elo difference: 33.0 +/- 19.1, LOS: 100.0 %, DrawRatio: 19.8 %
SPRT: llr 2.96 (100.6%), lbound -2.94, ubound 2.94 - H1 was accepted

Bread Engine 0.0.3

10 Jun 14:09
Compare
Choose a tag to compare

Fixed internal bugs. Version 0.0.3 is around 150 elo stronger than version 0.0.2.

Score of bread_engine_0.0.2 vs bread_engine_0.0.3: 52 - 165 - 33 [0.274]
... bread_engine_0.0.2 playing White: 28 - 76 - 21 [0.308] 125
... bread_engine_0.0.2 playing Black: 24 - 89 - 12 [0.240] 125
... White vs Black: 117 - 100 - 33 [0.534] 250
Elo difference: -169.3 +/- 44.4, LOS: 0.0 %, DrawRatio: 13.2 %
250 of 250 games finished.