Expand description
§Chess Vector Engine
A fully open source, 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: 14+ ply search with PVS, check extensions, 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 Source Features
All features are included in the open source release (MIT/Apache-2.0):
- Advanced UCI Engine: Complete chess engine with pondering, Multi-PV, and all standard features
- Professional Tactical Search: 14+ ply search with check extensions and sophisticated pruning
- GPU Acceleration: CUDA/Metal/CPU support with automatic device detection
- NNUE Networks: Neural network evaluation with incremental updates
- Ultra-fast Loading: Memory-mapped files and optimized data structures
- Vector Analysis: High-dimensional position encoding and similarity search
- Opening Book: 50+ professional chess openings and variations
Re-exports§
pub use errors::ChessEngineError;pub use auto_discovery::AutoDiscovery;pub use auto_discovery::FormatPriority;pub use auto_discovery::TrainingFile;pub use gpu_acceleration::DeviceType;pub use gpu_acceleration::GPUAccelerator;pub use lichess_loader::LichessLoader;pub use lsh::LSH;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 strategic_evaluator::AttackingPattern;pub use strategic_evaluator::PlanGoal;pub use strategic_evaluator::PlanUrgency;pub use strategic_evaluator::PositionalPlan;pub use strategic_evaluator::StrategicConfig;pub use strategic_evaluator::StrategicEvaluation;pub use strategic_evaluator::StrategicEvaluator;pub use strategic_evaluator_lazy::LazyStrategicEvaluator;pub use strategic_evaluator_lazy::EnhancedStrategicEvaluation;pub use strategic_evaluator_lazy::StrategicThemeAnalysis;pub use streaming_loader::StreamingLoader;pub use core_evaluation::CoreEvaluator;pub use core_evaluation::CoreEvaluationResult;pub use core_evaluation::SimilarityInsights;pub use core_evaluation::StrategicInsights;pub use core_evaluation::SimilarityEngine;pub use core_evaluation::StrategicAnalyzer;pub use core_evaluation::EvaluationBlender as CoreEvaluationBlender;pub use tactical_search::TacticalConfig;pub use tactical_search::TacticalResult;pub use tactical_search::TacticalSearch;pub use training::AdvancedSelfLearningSystem;pub use training::EngineEvaluator;pub use training::GameExtractor;pub use training::LearningProgress;pub use training::LearningStats;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 evaluation_calibration::CalibrationConfig;pub use evaluation_calibration::CalibratedEvaluator;pub use evaluation_calibration::EvaluationBreakdown;pub use evaluation_calibration::EvaluationComponent;pub use evaluation_calibration::MaterialEvaluator;pub use evaluation_calibration::PieceValues;pub use evaluation_calibration::PositionalEvaluator;pub use stockfish_testing::StockfishTester;pub use stockfish_testing::StockfishTestConfig;pub use stockfish_testing::EvaluationComparison;pub use stockfish_testing::EvaluationCategory;pub use stockfish_testing::TestSuiteResults;pub use stockfish_testing::TestStatistics;pub use stockfish_testing::StockfishTestError;pub use hybrid_evaluation::AdaptiveLearningStats;pub use hybrid_evaluation::AnalysisDepth;pub use hybrid_evaluation::BlendWeights;pub use hybrid_evaluation::ComplexityAnalysisResult;pub use hybrid_evaluation::ComplexityAnalyzer;pub use hybrid_evaluation::ComplexityCategory;pub use hybrid_evaluation::ComplexityFactor;pub use hybrid_evaluation::ComplexityWeights;pub use hybrid_evaluation::ConfidenceScorer;pub use hybrid_evaluation::EvaluationBlender;pub use hybrid_evaluation::EvaluationComponent as HybridEvaluationComponent;pub use hybrid_evaluation::EvaluationRecommendations;pub use hybrid_evaluation::GamePhase as HybridGamePhase;pub use hybrid_evaluation::GamePhaseAnalysisResult;pub use hybrid_evaluation::GamePhaseDetector;pub use hybrid_evaluation::HybridEvaluationEngine;pub use hybrid_evaluation::HybridEvaluationResult;pub use hybrid_evaluation::HybridEvaluationStats;pub use hybrid_evaluation::NNUEEvaluator;pub use hybrid_evaluation::PatternEvaluator;pub use hybrid_evaluation::PhaseAdaptationRecommendations;pub use hybrid_evaluation::PhaseAdaptationSettings;pub use hybrid_evaluation::PhaseDetectionWeights;pub use hybrid_evaluation::PhaseIndicator;pub use hybrid_evaluation::PhaseTransition;pub use hybrid_evaluation::StrategicEvaluator as HybridStrategicEvaluator;pub use hybrid_evaluation::TacticalEvaluator;pub use pattern_recognition::AdvancedPatternRecognizer;pub use pattern_recognition::EndgamePatternAnalysis;pub use pattern_recognition::KingSafetyAnalysis;pub use pattern_recognition::LearnedPatternMatch;pub use pattern_recognition::PatternAnalysisResult;pub use pattern_recognition::PatternRecognitionStats;pub use pattern_recognition::PatternWeights;pub use pattern_recognition::PawnStructureAnalysis;pub use pattern_recognition::PieceCoordinationAnalysis;pub use pattern_recognition::TacticalPatternAnalysis;pub use strategic_initiative::ColorInitiativeAnalysis;pub use strategic_initiative::InitiativeAnalyzer;pub use strategic_initiative::InitiativeFactors;pub use strategic_initiative::PlanOutcome;pub use strategic_initiative::PositionalPressure;pub use strategic_initiative::PositionalPressureEvaluator;pub use strategic_initiative::StrategicInitiativeEvaluator;pub use strategic_initiative::StrategicInitiativeResult;pub use strategic_initiative::StrategicInitiativeStats;pub use strategic_initiative::StrategicPlan;pub use strategic_initiative::StrategicPlanGenerator;pub use strategic_initiative::StrategicPlanType;pub use strategic_initiative::TimePressure;pub use strategic_initiative::TimePressureAnalyzer;pub use uci::run_uci_engine;pub use uci::run_uci_engine_with_config;pub use uci::UCIConfig;pub use uci::UCIEngine;pub use motif_extractor::MotifExtractor;pub use strategic_motifs::CoordinationPattern;pub use strategic_motifs::EndgamePattern;pub use strategic_motifs::GamePhase;pub use strategic_motifs::InitiativePattern;pub use strategic_motifs::MotifMatch;pub use strategic_motifs::MotifType;pub use strategic_motifs::OpeningPattern;pub use strategic_motifs::PawnPattern;pub use strategic_motifs::SafetyPattern;pub use strategic_motifs::StrategicContext;pub use strategic_motifs::StrategicDatabase;pub use strategic_motifs::StrategicMotif;
Modules§
- auto_
discovery - core_
evaluation - errors
- evaluation_
calibration - gpu_
acceleration - hybrid_
evaluation - lichess_
loader - lsh
- motif_
extractor - Strategic Motif Extraction System
- nnue
- opening_
book - pattern_
recognition - persistence
- position_
encoder - similarity_
search - stockfish_
testing - strategic_
evaluator - strategic_
evaluator_ lazy - Enhanced strategic evaluator with lazy-loaded motif database
- strategic_
initiative - strategic_
motifs - Strategic Motif Recognition System
- streaming_
loader - tactical_
search - training
- uci
- ultra_
fast_ loader - utils
- Utility modules for the chess engine
Macros§
- add_
context - config_
error - invalid_
position - memory_
limit_ exceeded - profile_
scope - Macro for easy scoped timing
- resource_
exhausted - search_
error - training_
error - validation_
error - vector_
error
Structs§
- Chess
Vector Engine - Chess Vector Engine - Fully open source, production-ready chess engine with hybrid evaluation
- Hybrid
Config - Hybrid evaluation configuration
- Material
Balance - Material balance for tactical awareness
- Move
Recommendation - Move recommendation data
- Training
Stats - Training statistics for the engine