Skip to content

Releases: DeveloperPaul123/byte-knight

v3.0.0 - Search improvements and bug fixes

19 May 16:50
10fcf1f
Compare
Choose a tag to compare

This new release of byte-knight focuses on search improvements and bug fixes. Overall, there is a ~200 elo gain over v2.0.0.

Search

  • Implemented late move reductions
  • Implemented internal iterative reductions
  • Implemented null move pruning

Other changes and fixes

  • byte-knight now outputs the correct principle variation during search instead of just a best move
  • Added transposition table probing and storing in qsearch.
  • Updated search bench FEN suite
  • Small code refactoring to make code more ergonomic
  • More mate in X tests
  • Fixed bug when negative times are given with go wtime/btime commend
  • Fixed bug with history bonus/malus calculation in certain situations
  • Added way to track node types during search
  • Increased base search bench depth to 8

Comparison to v2.0.0

STC

Elo   | 197.30 +- 7.95 (95%)
Conf  | 8.0+0.08s Threads=1 Hash=16MB
Games | N: 5000 W: 2855 L: 286 D: 1859
Penta | [6, 104, 519, 1057, 814]
https://pyronomy.pythonanywhere.com/test/2755/

LTC

Elo   | 200.24 +- 10.84 (95%)
Conf  | 40.0+0.40s Threads=1 Hash=128MB
Games | N: 2500 W: 1421 L: 121 D: 958
Penta | [0, 37, 272, 545, 396]
https://pyronomy.pythonanywhere.com/test/2756/

The following release notes are auto generated:

What's Changed

Full Changelog: v2.0.0...v3.0.0

v2.0.0 - Search and evaluation improvements

01 Apr 18:01
7d63b22
Compare
Choose a tag to compare

The next release of byte-knight! This release sees improvements in both search and evaluation as well as some bug squashing. Overall ~250/265 elo gain for STC/LTC respectively over v1.0.0.

Search

  • Implemented principle variation search
  • History heuristic with history gravity
  • Aspiration windows
  • Reverse futility pruning

Evaluation

  • Re-scaled and fixed minor issues related to MVV-LVA move ordering scoring
  • Re-wrote most of the evaluation implementation
  • Added an HCE tuner
  • Tuned PSQT values for the engine using the lichess-big-3 data set

Other changes and fixes

  • Fixed a bug related to king captures
  • Moved to Rust 2024 (stable)
  • Improved CI and added ability to generate code coverage metrics (integrated with CodeCov)
  • Updated dev dependencies (mostly suggested by Dependi)

Comparison to 1.0.0

STC

Elo   | 251.95 +- 12.77 (95%)
Conf  | 8.0+0.08s Threads=1 Hash=16MB
Games | N: 3006 W: 2102 L: 238 D: 666
Penta | [6, 52, 245, 472, 728]
https://pyronomy.pythonanywhere.com/test/1831/

LTC

Elo   | 264.99 +- 18.94 (95%)
Conf  | 40.0+0.40s Threads=1 Hash=128MB
Games | N: 1500 W: 1070 L: 106 D: 324
Penta | [5, 24, 100, 244, 377]
https://pyronomy.pythonanywhere.com/test/1832/

These release notes are auto-generated by Github.

What's Changed

Full Changelog: v1.0.0...v2.0.0

v1.0.0 - Initial Release!

03 Dec 18:50
Compare
Choose a tag to compare

This is the first release of byte-knight. Based on play against stash, the estimated ELO of byte-knight is around ~1800. The following features are implemented in this version:

Search

  • Iterative deepening
  • Negamax with a/b pruning
  • Quiescent search
  • Move ordering using basic MVV/LVA table
  • PeSTO based evaluation with tapering using the PeSTO PSQT values
  • Transposition table (used for move ordering and cutoffs)

Game

I've written my own board representation complete with legal and pseudo-legal move generation as well as magic bitboards for sliding piece attacks. Performance is acceptable and will likely be improved on in the future.


These release notes are auto-generated by Github.

What's Changed

New Contributors

Full Changelog: https://github.com/DeveloperPaul123/byte-knight/commits/v1.0.0