Commit Graph

20 Commits

Author SHA1 Message Date
Janis 8fb872e958 feat: Implement dataset versioning and management for NNUE training data 2026-04-16 18:50:22 +02:00
Janis 5df5a1875f feat: Improved how NNUE Evalutes 2026-04-16 18:50:18 +02:00
Janis ed26406185 feat: Update BotController and tests for improved bot instantiation and configuration 2026-04-16 18:50:04 +02:00
Janis 3750931251 feat: NCS-43 NNUE high-impact performance optimisations
Implements three high-impact improvements from NCS-43:

1. Incremental L1 accumulator — L1 pre-activations are maintained
   per-ply on a stack and updated by column-add/subtract when pieces
   move, reducing L1 cost from O(768×1536) to O(pieces×1536) for root
   init and O(changed_pieces×1536) per node. Column-major weight
   transposition (l1WeightsT) makes each update sequential in memory.

2. Eval cache — a 256 K direct-mapped cache keyed by Zobrist hash
   skips the L2-L5 forward pass for positions seen during quiescence,
   where the same position often recurs across capture sequences.

3. Dynamic time allocation — NNUEBot now grants 1 500 ms in complex
   positions (> 30 legal moves) and 500 ms in nearly-terminal ones
   (< 5 moves), instead of a fixed 1 000 ms budget.

Accumulator hooks (initAccumulator, pushAccumulator, copyAccumulator,
evaluateAccumulator) are added to the Evaluation trait with no-op
defaults, so ClassicalBot and HybridBot are unaffected.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 18:50:04 +02:00
Janis 1b5759828b feat: enhance AlphaBetaSearch with incremental search hash updates and improve move ordering logic 2026-04-16 18:50:03 +02:00
Janis 75286a8773 feat: enhance AlphaBetaSearch with move timing and improve king square detection in GameContext 2026-04-16 18:50:03 +02:00
Janis 01c8a0f8fe feat: add metadata files for NNUE weights versions and implement burst training functionality with subsampling options 2026-04-16 18:50:02 +02:00
Janis 5d4cf5f13c feat: add hybrid bot implementation and enhance NNUE training pipeline with tactical data extraction 2026-04-16 18:50:00 +02:00
Janis 0bf1d52132 feat: enhance training and evaluation processes with new parameters and normalization options 2026-04-16 18:50:00 +02:00
Janis a5560285fd feat: enhance training and evaluation processes with new parameters and normalization options 2026-04-16 18:50:00 +02:00
Janis 34945e4fb8 feat: enhance nnue.py and train.py with options for existing labels and improved file handling 2026-04-16 18:49:59 +02:00
Janis adc2de23bc feat: add rich console interface for NNUE training pipeline and update requirements 2026-04-16 18:49:59 +02:00
Janis b25be99dcf feat: integrate NNUE bot and add Python training pipeline with weight export functionality 2026-04-16 18:49:58 +02:00
Janis 6a9ac55b31 feat: refactor AlphaBetaSearch and ClassicalBot for improved evaluation and organization 2026-04-16 18:49:58 +02:00
Janis 558f43d0f6 feat: refactor AlphaBetaSearch and ClassicalBot for improved evaluation and organization 2026-04-16 18:49:58 +02:00
Janis 539f53b000 feat: enhance AlphaBetaSearch with parallel processing and improved move ordering 2026-04-16 18:49:57 +02:00
Janis 0bc7282dfa feat: enhance evaluation logic with mobility scoring and positional bonuses 2026-04-16 18:49:57 +02:00
Janis 8e208b8a25 feat: implement bot functionality with difficulty levels and integrate Polyglot opening book 2026-04-16 18:49:56 +02:00
Janis 3b945da958 feat: add AlphaBetaSearch and bot implementation with difficulty levels 2026-04-16 18:49:56 +02:00
Janis a247eb3d0d feat: add AlphaBetaSearch and bot implementation with difficulty levels 2026-04-16 18:49:55 +02:00