Skip to content

Tetrarch v1

Choose a tag to compare

@IchNukeDichWeg IchNukeDichWeg released this 31 Jul 17:50

v1 -- killer moves. The search had no quiet-move ordering whatsoever:
transposition move, MVV-LVA captures, then generation order. Two killers per
ply closes the largest single ordering gap, and it is the first measured Elo
gain in the engine.

Elo   | +50.42 +- 6.41 (95%)
SPRT  | none -- sprt.py not built yet; fixed-N campaign
Conf  | FIXED NODES 20000, Hash=256MB, classic/Teams, 111 workers
Games | N: 10000 (2500 openings x 4 rotations)   score 5720.5 (57.20%)
Dist  | 57, 8, 388, 31, 969, 47, 763, 21, 216
Null  | -2.64 +- 6.24 on the same harness, 10000 games
Base  | vs the Phase 3 baseline: alpha-beta + TT + quiescence, no quiet ordering
Bench | 93,846,865 perft nodes (unchanged; the bench is perft, not search)
Pins  | classic d5: 228,628 -> 83,805 search nodes (36.7%)

Screened +40.66 +- 14.50 over 2000 games first, and the confirm came in higher
rather than regressing toward zero.

Search

  • Killers -- two quiet moves per ply that last caused a beta cutoff there.
    Scores sit strictly between quiet and capture, so captures are never
    displaced. Cleared per search, not per game: a table left over from another
    position orders by moves that meant something somewhere else.

Harness

This is the first result measured on a harness whose null self-test passes.
Two bugs had to be fixed first, both found by that test and neither visible any
other way:

  • The seat rotation cancelled nothing. Rotating the board and the team
    assignment together handed engine A the original R+Y armies in all four
    rotations. Measured +36.26 +- 18.37 with the same engine on both sides.
  • A null self-test collapsed both sides into one subprocess, so all four seats
    shared one transposition table -- the one run that certifies the harness was
    the one run not exercising it.