Repository navigation
Releases: tecu23/argo
Releases · tecu23/argo
Release list
ArGO v1.0.0
Major Release Highlights
This first major release of the ArGO chess engine marks a significant milestone with substantial improvements in playing strength, stability, and performance. The engine now incorporates a fully-functional NNUE evaluation system and sophisticated search techniques that bring it to a competitive level.
New Features
- NNUE Evaluation System: Implemented an Efficiently Updated Neural Network for position evaluation, ported from Koivisto
- Advanced Time Management: Dynamic time allocation based on position complexity and search stability
- Improved Search Algorithms:
- Principal Variation Search (PVS) for more efficient alpha-beta pruning
- Enhanced Late Move Reduction with dynamic depth adjustments
- Null move pruning for quick detection of strong positions
- Transposition Table Enhancements:
- Age-based replacement strategy
- Improved hash entry utilization
- Magic Bitboards: Optimized move generation for sliding pieces with perfect hashing
- Check Extensions: Automatic search depth extension in check positions
- Mate Distance Pruning: Early termination for detected forced mates
Performance Improvements
- Assembly Optimizations: Critical NNUE calculations using hand-tuned assembly for AMD64
- Move Ordering Refinements:
- Fine-tuned MVV-LVA capture scoring
- Improved history heuristic scaling
- Better killer move selection
- Reduced Memory Footprint: More efficient data structures for core components
- Cache-Friendly Data Layouts: Restructured critical arrays for better cache utilization
UCI Compliance
- Full UCI Protocol Support: Compatible with standard chess GUIs
- Configurable Options: Hash size, threads, and other engine parameters
- Detailed Search Information: Proper reporting of depth, score, nodes, and principal variation
Technical Documentation
- Added comprehensive documentation for all major engine components
- Detailed explanations of core algorithms and data structures
- Architecture overview and design principles
Bug Fixes
- Fixed evaluation inconsistencies in endgame positions
- Corrected castling detection in certain edge cases
- Resolved issues with en passant capture generation
- Fixed time management in tournament time controls
- Eliminated memory leaks in long-running searches
Known Limitations
- NNUE assembly optimizations only available on Linux AMD64 platforms
- No multi-threaded search implementation yet
- No endgame tablebase support
Future Plans
- Three-fold repetition check
- Move Generation through iterators
- Aspiration windows
- Updated Transposition Table and Reduction Table
- Refactoring the board implementation for easier move making
- Multi-threaded search
- Syzygy tablebase integration
- NNUE training infrastructure
- More configurable search and evaluation parameters
v0.4.0
Argo V0.4.0
Features Added
- Implemented history heuristics for improved move ordering of quiet moves
- Added killer move tables (2 killers per ply)
- Added Late Move Reduction ( only 1 at the moment)
- Fix Evaluation Bug
Technical Details
- History table tracks successful quiet moves by piece movement (from-to squares)
- Killer moves store non-capturing moves that cause beta cutoffs
- Move ordering priority:
- Transposition table moves
- Capturing moves (MVV-LVA)
- Killer moves
- History moves
Known Issues
- Current move ordering score scaling may need adjustment
- History score updates might be too aggressive with depth^2 bonus
- Memory usage increased due to history tables
v0.3.1
v0.3.0
Argo v0.3.0
Major Features
- Transposition Table implementation
- Move ordering improvements with TT moves
- Enhanced search with memory
- Better time management integration
Technical Improvements
- Zobrist hashing implementation
- TT probing and storing in search
- Memory-efficient position caching
- Search speed improvements via caching
Performance
- Faster search through position caching
- Better move ordering leading to more pruning
- Reduced redundant search in transpositions
- Search depth improvements through better time usage
Known Limitations
- Basic move ordering (only TT moves)
- No killer moves or history heuristic yet
- Basic endgame handling
- Simple evaluation function
- Poor time management
- Draw by repetition even while ahead.
v0.2.0
Argo v0.2.0
Features
- Alpha-beta search implementation
- Basic time management
- UCI protocol compliance
- Bitboard board representation
- Move generation with legal move checking
- Basic evaluation function
Performance
- Search depth: Reaches depth 6-7 in middlegame
- NPS (Nodes Per Second): ~2.7-3.0 million
- Time management for classical time controls
Known Limitations
- Basic endgame handling
- No tablebase support
- Simple evaluation function
- Basic move ordering
v0.1.0
First release of Argo Chess Engine v0.1.0
The engine has no search or evaluation, it just outputs a random move after 500ms delay.
Features:
- UCI protocol support
- Basic move generation
- Random move selection
Binaries available for:
- Linux (amd64, arm64)
- Windows (amd64)
- macOS (amd64, arm64)