Skip to content

ArGO v1.0.0

Latest

Choose a tag to compare

@tecu23 tecu23 released this 23 Mar 22:20
· 1 commit to main since this release

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