Releases: akanalytics/odonata
Releases · akanalytics/odonata
1.0
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
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
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
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
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
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
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
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
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
- 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