Triumviratus 8.1 20261028 - new version strong chess engine


Triumviratus is a strong, UCI-compliant chess engine written in C++. 
Author: Francesco (fraTorsello)   Rating Chess Engines Diary CEDR=3849

Triumviratus what's new?

Triumviratus 8.1: pre-release (28 October 2026)

This is a pre-release for testing. bench 219346.

Strength

  • Against 8.0 (official release): +14.5 ± 6.5 Elo over 2,728 games, SPRT [0, 5] passed. Both universal PGO
    builds, 8+0.08, 1 thread per engine, UHO openings.
  • At 15+0.15 and 30+0.3: estimated at about +10 Elo, from shorter runs.
  • The network alone: +10.3 ± 4.3 Elo over Consilium (the 8.0 network) with the same search, 30k nodes per move,
    8,332 games.

What is new

New network: Consilium Plebis

  • Each side has its own expert, chosen by the non-pawn material that side is facing (8.0 chose one expert for both
    sides by the total piece count).
  • Eight experts; the king-relative weights are int8, so the eight take the memory of four.
  • A small pawn-king subnetwork, cached per thread, adds its view of the pawns and kings to every layer stack.
  • Trained from 21 to 28 October 2026: pretraining of 496 epochs, finetune of 60 and a continuation of 3 down to a zero
    learning rate. The final network is the average of the last 3 epochs.
  • Inference written for this network, faster than the first version with the same evaluations.

Search

  • The search code was rewritten in the project's own form, block by block, each block first at the identical search
    tree.
  • One table of piece values for the whole search (exchange evaluation, futility, capture order, threats), ready
    for a value per network expert; in this build the values are the same for every expert.
  • Pruning margins per expert for the three experts with the most material (reverse futility, futility,
    reductions, null move), from an SPSA run.
  • HistGrad: the quiet history learns more from a surprising best move and punishes little a move the ordering
    already rated low. +0.90 ± 3.41 over 11,166 games.
  • No null move with a minor piece or less (NmpNpmFloor 3). +1.32 ± 2.29 over 6,844 endgame games.
  • Every update of the move statistics and correction tables in one learning module (identical tree).

Fixes

  • Zobrist keys from a 64-bit generator. The old keys had only 32 independent bits, which caused false hash hits:
    the 37.Re4 blunder of 8.0 in a CCRL game, reported by A Tin Man. +4.57 ± 3.56 over 9,660 games at 5+0.05.
  • Race between threads in the transposition table, dead work in the evaluation, and a static exchange evaluation
    that ignored the gain of a promotion: found by Bastiii in a code review.
  • go, d or eval before any position command no longer crashes: the engine starts from the initial position
    (issue #7).
  • Tablebase wins print as cp 20000 minus the distance (GUIs show ±199.xx) instead of about ±94.
  • Printed evaluation recalibrated for the new network: +1.00 again means a 50% chance of winning (fitted on
    183,630 positions of 8.1 in 3,588 games; with the 8.0 scale the 50% point was at +0.94). Display only: the search
    and the games do not change.

Speed

  • Legal move generator ported from Zoomies and an AVX-VNNI variant, by A Tin Man (+6% to +9% on the Raptor Lake CPUs
    measured).

Thanks

  • Maurizio Platino (MortalSin), the project's main tester, who also shares the cost of training the networks.
    Maurizio has been a fundamental asset for this project: without Maurizio, the fast development that started with
    version 4 would never have been possible.
  • A Tin Man and Bastiii, for the code contribution and the code review in this release.
  • CCRL and the computer chess community.


Comments

Popular posts from this blog

Torch-4 UCI v 1.01 - new version chess engine

Reckless 0.9.0 - new version super strong chess engine

Reckless 0.10.0 - new version super strong chess engine

We already have the new Fritz 20 program - what does it look like and how does it work?