frozenight
frozenight copied to clipboard
NNUE chess engine that never had an HCE
Frozenight
NNUE chess engine written in Rust. Play against it on lichess.org
The current minimum supported Rust version for the UCI binary is 1.59.0.
Rating Lists
- Frozenight 6.0: 3226
- Frozenight 5.1: 3027
- Frozenight 5.0: 3000
- Frozenight 4.0: 2964
- Frozenight 3.0: 2842
- Frozenight 2.1: 2680
- Frozenight 2.0: 2614
- Frozenight 6.0: 3331
- Frozenight 5.1: 3098
- Frozenight 5.0: 3085
- Frozenight 4.0: 3005
- Frozenight 3.0: 2891
- Frozenight 2.1: 2677
- Frozenight 1.0: 2448
- Frozenight 6.0: 3493
- Frozenight 5.1: 3148
- Frozenight 5.0: 3103
- Frozenight 4.0: 2994
- Frozenight 3.0: 2761
Features
-
cozy-chess
for move generation - Principal Variation Search
- Aspiration windows
- LazySMP multithreading
- NNUE evaluation
- 768 -> 384x2 (-> 1)x16
- Network bucketing based on modified piece material values (Queen = 8)
- This is based on game phase tuning in Koivisto done by Luecx
- Training data generated through self-play, originally starting with a random network
- Trained using (a modified version of) Pali's
marlinflow
- Quiescense search
- SEE ordering & pruning with MVV-LVA for ties
- Check Evasions
- Check Extensions
- PV Extensions
- Late move reductions
- Late move pruning
- Null move pruning
- Reverse futility pruning, except using qsearch instead of static eval
- Internal Iterated Deepening
- Transposition Table
- Depth-preferred with aging
- Move ordering
- Hash move
- SEE captures, losing captures last, with MVV-LVA for ties
- Killer heuristic (ordered near pawn captures pawn)
- Relative history heuristic (side-by-side piece-tosq and fromsq-tosq tables)
- Underpromotions last
- Time management
- Uses at least 2% remaining + increment/2
- Avoids stopping in the middle of an iteration
License
Frozenight is dual-licensed under the MIT License and Apache License (Version 2.0) licesnses.
Thanks
- Analog (Tantabus), for
cozy-chess
and helping me understand search techniques - Pali (Black Marlin), for
marlinflow
and helping me understand NN training and search techniques - Authors of the chess programming wiki, for its wealth of knowledge