Since you’re here...

We hope you will consider supporting us today. We need your support to continue to exist, because good entries are more and more work time. Every reader contribution, however big or small, is so valuable. Support "Chess Engines Diary" even a small amount– and it only takes a minute. Thank you.
============================== My email: jotes@go2.pl



Catalyst 3.1.0 - new version chess engine


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