Expand description
§Chess Vector Engine
A production-ready Rust chess engine that revolutionizes position evaluation by combining vector-based pattern recognition with advanced tactical search and NNUE neural network evaluation.
§Features
- 🎯 Hybrid Evaluation: Combines pattern recognition with advanced tactical search
- ⚡ Advanced Tactical Search: 6-14+ ply search with PVS, iterative deepening, and sophisticated pruning
- 🧠 NNUE Integration: Efficiently Updatable Neural Networks for fast position evaluation
- 🚀 GPU Acceleration: CUDA/Metal/CPU with automatic device detection and 10-100x speedup potential
- 📐 Vector Position Encoding: Convert chess positions to 1024-dimensional vectors
- 🎮 Full UCI Compliance: Complete chess engine with pondering, Multi-PV, and all standard UCI features
- ⚡ Production Optimizations: 7 major performance optimizations for 2-5x overall improvement
§Quick Start
use chess_vector_engine::ChessVectorEngine;
use chess::Board;
use std::str::FromStr;
// Create a new chess engine
let mut engine = ChessVectorEngine::new(1024);
// Add some positions with evaluations
let board = Board::default();
engine.add_position(&board, 0.0);
// Find similar positions
let similar = engine.find_similar_positions(&board, 5);
println!("Found {} similar positions", similar.len());
// Get position evaluation
if let Some(eval) = engine.evaluate_position(&board) {
println!("Position evaluation: {:.2}", eval);
}§Open-Core Architecture
This crate implements an open-core business model:
- Open Source (MIT/Apache-2.0): Basic UCI engine, position encoding, similarity search, opening book, 6-ply tactical search
- Premium (Commercial License): GPU acceleration, NNUE networks, ultra-fast loading, 10+ ply search, multi-threading
- Enterprise (Enterprise License): Distributed training, cloud deployment, enterprise analytics, unlimited positions
All features are developed in a single codebase with runtime license verification controlling access to premium features.
§Performance
- 🚀 Ultra-Fast Loading: O(n²) → O(n) duplicate detection (seconds instead of hours)
- 💻 SIMD Vector Operations: AVX2/SSE4.1/NEON optimized for 2-4x speedup
- 🧠 Memory Optimization: 75-80% memory reduction with streaming processing
- 🎯 Advanced Search: 2800+ nodes/ms with PVS and sophisticated pruning
- 📊 Comprehensive Testing: 123 tests with 100% pass rate
§License
Licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE)
- MIT License (LICENSE-MIT)
at your option.
Re-exports§
pub use auto_discovery::AutoDiscovery;pub use auto_discovery::FormatPriority;pub use auto_discovery::TrainingFile;pub use features::FeatureChecker;pub use features::FeatureError;pub use features::FeatureRegistry;pub use features::FeatureTier;pub use gpu_acceleration::DeviceType;pub use gpu_acceleration::GPUAccelerator;pub use license::LicenseError;pub use license::LicenseKey;pub use license::LicenseStatus;pub use license::LicenseVerifier;pub use license::LicensedFeatureChecker;pub use lichess_loader::load_lichess_puzzles_basic;pub use lichess_loader::LichessLoader;pub use lsh::LSH;pub use manifold_learner::ManifoldLearner;pub use nnue::BlendStrategy;pub use nnue::EvalStats;pub use nnue::HybridEvaluator;pub use nnue::NNUEConfig;pub use nnue::NNUE;pub use opening_book::OpeningBook;pub use opening_book::OpeningBookStats;pub use opening_book::OpeningEntry;pub use persistence::Database;pub use persistence::LSHTableData;pub use persistence::PositionData;pub use position_encoder::PositionEncoder;pub use similarity_search::SimilaritySearch;pub use streaming_loader::StreamingLoader;pub use tactical_search::TacticalConfig;pub use tactical_search::TacticalResult;pub use tactical_search::TacticalSearch;pub use training::EngineEvaluator;pub use training::GameExtractor;pub use training::SelfPlayConfig;pub use training::SelfPlayTrainer;pub use training::TacticalPuzzle;pub use training::TacticalPuzzleParser;pub use training::TacticalTrainingData;pub use training::TrainingData;pub use training::TrainingDataset;pub use ultra_fast_loader::LoadingStats;pub use ultra_fast_loader::UltraFastLoader;pub use variational_autoencoder::VAEConfig;pub use variational_autoencoder::VariationalAutoencoder;pub use uci::run_uci_engine;pub use uci::run_uci_engine_with_config;pub use uci::UCIConfig;pub use uci::UCIEngine;
Modules§
- ann
- auto_
discovery - features
- gpu_
acceleration - license
- lichess_
loader - lsh
- manifold_
learner - nnue
- opening_
book - persistence
- position_
encoder - similarity_
search - streaming_
loader - tactical_
search - training
- uci
- ultra_
fast_ loader - variational_
autoencoder
Macros§
- if_
feature - Conditional compilation macros for features
- if_
feature_ else - require_
feature - Macro for easy feature checking
Structs§
- Chess
Vector Engine - Chess Vector Engine - Production-ready chess engine with hybrid evaluation
- Hybrid
Config - Hybrid evaluation configuration
- Move
Recommendation - Move recommendation data
- Training
Stats - Training statistics for the engine