Tetrarch v6
v6 -- NNUE evaluation. The engine plays with net v4 instead of the
hand-written evaluation it was bootstrapped on. First release to change the
evaluation rather than the search, and the first since v0 where a fresh clone
plays differently.
Elo | +76.79 +- 6.87 (95%)
SPRT | none -- sprt.py not built yet; fixed-N campaign
Conf | FIXED TIME movetime 200, Hash=256MB, classic/Teams, 10 workers
Games | N: 10000 (2500 openings x 4 rotations) score 6087.5 (60.88%)
Dist | 39, 2, 380, 13, 846, 25, 839, 17, 339
Null | -10.77 +- 13.96 on the same instrument, 2000 games
Base | vs v5
Bench | 93,846,865 perft nodes (unchanged; the bench is perft, not search)
Pins | unchanged -- with no net loaded not a line of this runs
Also confirmed at FIXED NODES 20000: +135.19 +- 7.36 over 10000 games.
Fixed time is the smaller number for the obvious reason: the net costs 1.37x
per node, so about 58 Elo buys back the depth it loses. It keeps well over
half.
Net v4 was trained on 12.31 M positions from 149,986 games that net v1 played.
Generation N+1 beating generation N is the mechanism the whole NNUE phase
rested on, and it had never once been demonstrated before this: v0 lost at
-40.13 and v1 at -2.26. v4 beats v1 by +90.22 +- 15.13 on a clock.
The fixed-time instrument was certified with its own null first. Every earlier
fixed-time result rested on an instrument that had never been checked.
Settled in the same campaign: lambda closed at 0.7 (the 0.30 and 0.15 arms lose
by 94.51 and 124.60); mobility in the hand eval rejected at both instruments.
Net=none still selects the hand eval. Full record, including every rejection
and one published analysis that a later measurement overturned entirely:
docs/AB.md
git clone https://github.com/IchNukeDichWeg/Tetrarch.git && cd Tetrarch && ./setup.sh