Catalyst is a UCI-compliant chess engine combining NNUE evaluation with a modern, highly optimized search.
Author: Chad AKT (AnanyTanwar)
Catalyst 3.1.0 what's new?
Search Fixes
Fixed a null-move pruning regression that had NMP gated to cut-nodes only instead of all non-PV nodes — this was quietly costing a lot of search efficiency
Removed a direct depth reduction on alpha-raise (confirmed anti-scalar by community testing), relying on standard LMR instead
Restricted RFP at TT-PV and quiet TT nodes for more accurate pruning
Added repetition-avoidance logic so the engine prefers a non-repeating alternative when clearly ahead
Move Ordering & History
Split history bonus/malus constants per table type (butterfly, piece-to, pawn, continuation) instead of sharing one scale
Skip history updates on trivial single-move cutoffs at low depth to reduce ordering noise
Restored plain gravity-based updates for continuation history
Transposition Table
Switched to a 10-byte entry, 3-per-cluster, 32-byte layout — 50% more TT capacity for the same hash size
Tuned age-weighting in the replacement policy for more accurate eviction of stale entries
Allocate TT with MAP_HUGETLB, falling back to transparent huge pages (THP)
General Fixes
Removed mid-search periodic info prints
Fixed best_thread() score priority logic
Various stability and correctness improvements
Performance
Elo | +35.74 ± 6.80 (95%)
Conf | 10+0.10s | Threads=1 | Hash=128MB
Games| N: 4000 | W: 1065 | L: 655 | D: 2280
Penta| [42, 366, 859, 606, 127]
LOS | 100.00%

Comments
Post a Comment