feat: NCS-41 Bot Platform #33

Merged
Janis merged 42 commits from feat/bot into main 2026-04-19 15:52:25 +02:00
Member
No description provided.
Janis added 42 commits 2026-04-17 23:11:09 +02:00
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>
Janis merged commit dceab0875e into main 2026-04-19 15:52:25 +02:00
Janis deleted branch feat/bot 2026-04-19 15:52:32 +02:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: NowChess/NowChessSystems#33