Skip to content

Releases: tecu23/argo

ArGO v1.0.0

Choose a tag to compare

@tecu23 tecu23 released this 23 Mar 22:20

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

Choose a tag to compare

@tecu23 tecu23 released this 17 Dec 17:47

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

Choose a tag to compare

@tecu23 tecu23 released this 16 Dec 16:48

Argo v0.3.1

Fixes

  • Fix time management issues that made the engine take more time than allowed

v0.3.0

Choose a tag to compare

@tecu23 tecu23 released this 15 Dec 21:06

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

Choose a tag to compare

@tecu23 tecu23 released this 15 Dec 12:56

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

Choose a tag to compare

@tecu23 tecu23 released this 13 Dec 10:19

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)