Triumviratus is a strong, UCI-compliant chess engine written in C++.
Author: Francesco (fraTorsello)
Triumviratus 6.0 what's new?
New network — nn-rubicon-alea-v3
Own-lineage weights, trained by the project from its own data pipeline — no Stockfish network used as
a seed. Each block is grafted onto the previous net with zero-initialised columns, so the graft is
bit-identical to its parent before training and learning adds signal instead of relearning it.
New network architecture — TRANN1
The inference machinery is Stockfish's SFNNv13 (GPLv3), extended with two input feature blocks
SFNNv13 does not have:
PawnPair (4560 features) — pawn-structure geometry: phalanxes, chains, doubled and isolated pawns, which threat features cannot see (two pawns side by side attack nothing). This feature design is not ours: it is shared with Stormphrax, Viridithas and Pawnocchio, and is credited to them. Our implementation and weights are our own.
PassedPawns (96 features) — one per passed pawn. Deciding "is this pawn passed" means combining the enemy pawn configuration across three files, which the king-relative HalfKAv2_hm input cannot express directly. This one is original to this project.
Both fold into the existing threat accumulator, so they add no new SIMD path and cost essentially nothing at inference. The net format is consequently not SFNNv13; the reader still loads v2-format nets (zero-filling the passed-pawn segment), so one binary can gate v2 against v3.
Triumviratus in Chess Engines Diary tests
The previous version, Triumviratus 5.1, took 2nd place in Challenger Group B and advanced to Group A. All indications are that the engine will soon be among the best. We'll see how the latest version fares in testing.
Comments
Post a Comment