Releases: feftywacky/thrawn
Release list
Thrawn v3.2
v3.2 improves on v3.1 through a search rework (#21) and dynamic time management (#24): fail-soft search with retuned pruning/reduction heuristics/constants, plus time allocation that adapts to position complexity.
Combined gain over v3.1 is ~195 Elo (120+1, 1t, 256MB, UHO_Lichess_4852_v1.epd):
Search rework vs v3.1: +124.60 +/- 11.34 Elo, 1000 games
Time management vs above: +69.71 +/- 10.93 Elo, 1000 games
Thrawn v3.1
Thrawn v3.0
Thrawn v3.0 introduces a new native NNUE model, major search improvements, and broad engine performance work.
~3000 ELO
NNUE
- Integrated Thrawn’s new HalfKAv2_hm NNUE architecture
- Added incremental NNUE accumulator state directly to
Position - Added SIMD-aware NNUE paths for AVX2, AVX512, and NEON builds
- Added UCI
EvalFilesupport for loading NNUE networks - Fallback to handcrafted evaluation when NNUE is unavailable
- Replaced the old external-style NNUE interface with native Thrawn NNUE APIs
- Added NNUE refresh, copy, promotion, update, and verification helpers
- Updated make/unmake and null-move handling to preserve NNUE state
Engine Changes
- Refactored
Positioncopy/init behavior and shared attack/hash table storage - Improved move generation performance
- Reworked transposition table storage with clustered entries, aging, static eval storage, and prefetching
- Added and tuned search features including correction history, capture/quiet history, counter moves, LMR, ProbCut, futility pruning, and singular extensions
- Improved Lazy SMP/threaded search behavior and result selection
Notes
- NNUE file must be placed in the same directory of the executable or the engine will fallback to using HCE for evaluation
Thrawn v2.2
Thrawn v2.2
~3000 ELO (~200 ELO better than v2.1)
Changes:
- Introduced multithreaded search by Lazy SMP (see PR for more detail #9)
- Default threads is 4
- Change thread count using this uci command
setoption name Threads value <number of threads>
- Search improvements (see PR for more detail #11)
- Choose results from best thread
- Improve stability of aspiration window
- Refactor TT API and logic
Non-performance changes:
- Fix Search Score Returning 0 When uci Sends stop With No Time #6
- Redesign Core Logic: Implement Position Class for OO Architecture #7
- Add Perft Testing Functionality with Performance Metrics by #8
- Allocate position object copies on to the heap #12
IMPORTANT NOTE: nnue file must be placed in the same directory of the executable or the engine will play random moves
Compilation support for Windows, MacOS, and, Linux
Thrawn v2.1
Changes:
- Support for ARM chips
- Compilation support for Windows, MacOS, and, Linux
IMPORTANT NOTE: nnue file must be placed in the same directory of the executable or the engine will play random moves
Thrawn v2.0
Thrawn v2.0
~2800 ELO
IMPORTANT NOTE: nnue file must be placed in the same directory of the executable or the engine will play random moves
notice: this executable and source code below has been updated to fix some bugs. The current files are the most updated ones.
- fixed uci input parsing bug regarding tournament mode and switching sides
- fixed queen promotion bug where previously the engine promoted to other pieces when queen is clearly the best promotion type
new changes
- fixed zero evaluation blundering bug
- embedded NNUE (using pure NNUE evaluation)
- no-hashmove reduction
- reverse futility pruning / static null move pruning
- late move pruning
Thrawn v1.1
Thrawn is a UCI compliant chess engine that does not have its own GUI
Rated 2011 ELO in 2+1 blitz by CCRL
New updates:
- hash move ordering
- razoring
Features:
- bitboard representation
- PeSTO's evaluation + bonuses/penalties for piece mobility and safety
- negamax search
- alpha beta pruning
- principal variation search
- iterative deepening
- MMV-LVA move ordering
- move history
- late move reduction
- null move pruning
- zobrist hashing + transposition table (with dynamic memory allocated hashmap)
- time control
Thrawn v1.0
Thrawn is a UCI compliant chess engine that does not have its own GUI
~1900 ELO
Features:
- bitboard representation
- PeSTO's evaluation + bonuses/penalties for piece mobility and safety
- negamax search
- alpha beta pruning
- principal variation search
- iterative deepening
- MMV-LVA move ordering
- move history
- late move reduction
- null move pruning
- zobrist hashing + transposition table (with dynamic memory allocated hashmap)
- time control
ThrawnEngine v0.6-beta
v0.6
~1800 ELO
new changes
- improved search speed from fixing various bugs
- detecting 3-fold repetition
- zobrist hashing
- transposition tables
old updates
- added uci commands for timing control (search no longer fixed depth)
- null move pruning
- late move reduction
- iterative deepening (also adjusting aspiration window)
- principal variation search
- move history (quiet and killer)
- basic move ordering
- quiescence search
- negamax alpha beta search
- checkmate and stalemate
- basic static eval using piece square tables
ThrawnEngine v0.5-beta
~1800 ELO
added uci commands for timing control (search no longer fixed depth)