Skip to content

Pygin v64

Choose a tag to compare

@IchNukeDichWeg IchNukeDichWeg released this 13 Sep 05:56
· 47 commits to main since this release

v64 -- a new evaluation network, and four settings that only pay together. The net is replaced, and four search parameters that each measured as nothing on their own cross the accept bound when armed as one change. Both were measured at the shipping time control, and the net was measured on top of the bundle rather than beside it, so the two are known to work together.

Elo   | +78.82 +/- 8.3 for the net, on top of the bundle (SPRT-stopped at the minimum)
      | +6.19 +/- 4.1 for the bundle vs v63 (tranche 1 ran a FULL budget: +5.94 +/- 4.4)
SPRT  | [0,4] normalized, LLR +9.264 -> ACCEPT H1 (net, stopped early)
      | and LLR +2.969 -> ACCEPT H1 (bundle, extension stopped early)
Games | N: 3004   W: 1195  L: 525   D: 1284      (net, on the bundle tree)
      | N: 11896  W: n/a   L: n/a   D: n/a       (bundle, two tranches; penta below)
Penta | [17, 201, 547, 566, 169]      1500 pairs, pair ratio 3.37, norm Elo +121.86
      | [247, 1383, 2506, 1535, 277]  5948 pairs, pair ratio 1.12, norm Elo +9.54
Conf  | TIMED 50+0.50, x86, workers 48, Threads=1, Hash=192MB BOTH SIDES
Base  | net vs the bundle tree; bundle vs Old Engine/63. SUBSET_SEED 62
      | ledger ~+354 -> ~+360 on the bundle's UNBIASED tranche (+5.94); the net's
      | number stopped at a bound and is not banked
Bench | 785,901 nodes (was 1,123,567)
Speed | +4.7% from a profile-guided build, node-identical (3 x 15 paired d13 rounds)

What changed

  • A new evaluation network. Same architecture and size as the one it replaces; only the weights differ, so nothing about the search or the interface changes.
  • The bundle, armed as one change. LMR_DIV 200 -> 170 (less late-move reduction), SEE_SCALED_K 50 -> 75 (a sharper capture-pruning threshold), SOFT_STOP_STABLE_FRAC 0.40 -> 0.45 and SOFT_STOP_STABLE_ITERS 2 -> 3 (a stable best move gets a little more clock). Each of the four measured as a NULL alone; the four together cross.
  • Profile-guided build. The shipped binary is compiled against its own execution profile: +4.7% faster with an identical node count, so it is speed and nothing else.

How it was measured

  • The bundle's first tranche ran the full 10,000 games without stopping early, which is the number the ledger advances on (+5.94 +/- 4.4). Its extension crossed a bound and is quoted separately.
  • The net was screened at 10+0.1 (+65.66 +/- 8.9) and then confirmed at 50+0.5, where it measured larger, not smaller. A screen gain that grows at the longer control is the opposite of the usual failure mode.
  • Old Engine/64 is node-exact against the live engine in a fresh process at d10/d12/d14.

Known limits

  • A bundle verdict prices the bundle, not its members. Nothing here says which of the four settings pays, and separating them would cost four more campaigns.
  • The net's number stopped at a bound, so its magnitude carries the usual upward bias. The sign and the scale are not in doubt; the exact figure is.
  • Measured on x86 (2x EPYC 7443). The speed figure is from the arm64 reference machine. Neither is confirmed on the other.
  • A fixed-budget v63-vs-v61 measurement was never run, so that link of the ledger chain remains unpriced.

Full Changelog: v63...v64