Skip to content

Releases: akanalytics/odonata

1.0

22 Jul 15:55
Compare
Choose a tag to compare

Release 1.0 (22 Jul 2024)

  • NNUE evaluation (768 - 1024)x2 -> 5 buckets
  • Introduced bucketed L2 based on queen-count/phase, increased HL to 1024
  • Increased training dataset to 700m positions
  • Relabeled positions using Odonata's NNUE rather than HCE
  • Fixed some bugs in the tuner
  • Expected Elo +150 vs Odonata 0.9.0

0.9.0

06 Jun 17:46
Compare
Choose a tag to compare

Odonata 0.9.0 (6 Jun 2024)

  • NNUE evaluation (768 - 512x2 - 1 network)
  • Trained using simple self-written CPU-device NN trainer (mini-batch, AdamW), and own self-play and evals.
  • Expected Elo +250 to +300 vs Odonata 0.8.0

v0.8.0

06 Feb 17:24
Compare
Choose a tag to compare

Odonata 0.8.0 Changelog

  • Connected rooks and doubled rooks evals fixed
  • Training migrated from LBFGS (argmin) to Adam (custom coded) in anticipation of Odonata NNUE
  • Increase in training dataset to 4m+ positions
  • Migration to rustc 1.75
  • Elo +30 (maybe?) vs Odonata 0.7.0

Use the "modern" binary for best performance. Use the "generic" binary if the modern binary does not run on your hardware (pre-Haswell CPU for example)

v0.7.0

04 Oct 13:39
Compare
Choose a tag to compare

Odonata 0.7.0 changelog

  • Release to kickstart development again after a long pause
  • Updated rust library dependencies
  • Improved zugzwang detection on null move pruning
  • Futility pruning uses classical piece evals
  • Eval changes - candidate passed pawns and distant pawn bishops bonus
  • Rust dependencies updated
  • Node counts and NPS include q-search nodes

v0.6.2

21 Jun 17:10
Compare
Choose a tag to compare

Odonata 0.6.2 changelog

  • Pawn structure examined during eval
  • Eval caching
  • Promos accounted for in q-search
  • Internal search metrics

(There was a compilation issue with windows-0.6.0 - please upgrade to 0.6.2)
(22/06/22 windows binaries updated again just to correct reported version number - no change in play/performance)

v0.5.1

26 Nov 10:56
Compare
Choose a tag to compare

Release 0.5.1 replaces release 0.5.0 which had a fatal issue involving Hash resizing on Windows. Please upgrade to 0.5.1.

Release 0.5.1

  • Elo improved by 200+ in self-play vs release 0.4.0 (expected Elo 2500+)
  • Late move reductions, razoring, check extensions, time control tuning
  • Greatly simplified UCI options
  • Rook behind passer eval adjustment
  • Phase adjusted logistic k-steepness incorporated into texel-style tuning
  • Some items built but not tuned, finished or adding Elo yet. Notably
    • Aspiration searches
    • (Alternate/direct addressed) bucket hashing and aligned hash
    • MultiPV (experimental)
    • TOML configuration/profile files
    • Tri-valued evaluation weights

v0.4.0

12 Oct 14:39
Compare
Choose a tag to compare

Odonata 0.4.0

Changelog

  • Evaluation of king tropism, passed pawn on 7th
  • Bishop and knight outposts
  • Rook batteries
  • History table
  • Xray attacks considered in SEE
  • Texel tuning uses Rayon library for parallel evals (138 M/sec)
  • Check for insufficient material in quiesensce
  • CLOP tuning of non-eval params
  • Support for "searchmoves" and "info hashfull" in UCI interface
  • ELO in the region of 2300

v0.3.37

01 Sep 21:08
Compare
Choose a tag to compare

Highlights

  • Texel style tuning for piece values
  • Pre-compiled binaries should run on more CPUs (not fully tested)
  • Tuning tooling
  • Recursive null move pruning
  • Material balance, move to compiler version nightly-2021-08-04
  • Fix repetition detection bug
  • Check extensions and late move reduction
  • Piece square table for rook end game, pawn pst corrected
  • Futility margin adjustment, PVS re-enabled

Building from source and testing

See Compilation

v0.3.26

28 Jul 18:10
Compare
Choose a tag to compare

Highlights

  • 180 Elo improvement from 0.3.17
  • Futility pruning
  • Null move pruning
  • Multi-threading (still experimental)
  • Command-line switches for benchmarking and perft (use --help)
  • Bishop pair bonus
  • Json-rpc for python interface (still experimental)
  • Lockless transposition table

v0.3.17

06 Jun 20:48
Compare
Choose a tag to compare
  • pondering
  • fixed bug with pv lenght on uci info
  • Python: added move_attributes and attacks_from
  • added mate_in_4 tests
  • make_moves taking a variation
  • removed pseudo_legal_move logic
  • replace MoveList vec with array
  • added magic bitboards for benchmarking (and completeness). Not my own code. Just a rust "port" of C++.
  • cargo features to enable release-like configs
  • disable piece mobility for low plys