Settlers / Research

73 pages · Search titles and descriptions

↑ ↓ to navigate · Enter to open · Esc to closeLocal search
Play the game

Endgame racing and stopping the leader

The three switches

All three sit behind one endgame object in the seat configuration, off by default, so v2:{"depth":2} is unchanged. Each was tested with exactly one switch on, the unchanged depth-2 control in the other search slot, and an ETA and a fast builder in the other seats.

The race leaf (endgame.race) arms once any opponent is within endgame.trigger points, two by default, of victory. It drops the plain opponent_progress and opponent_production terms and adds two: the own-minus-leader margin, and the leader's expected new points next turn, estimated as the best of a city, a reachable settlement, and a development purchase, each times the share of its cost their hand plus one roll of their production covers, with the purchase priced at the deck's remaining victory-card share. Blocked production counts for less, so moving the robber onto the leader's best hex also slows the estimate.

The hidden points switch (endgame.hidden_points) keeps every term and only changes what counts as an opponent's score: the victory cards sampled into each hidden world from the remaining deck prior, on top of public points. A leaf averaged over sampled worlds therefore counts expected hidden victory points inferred from public purchases and plays, without seeing any private hand.

The leader bias (endgame.block_leader) touches only the candidate shortlists, never the leaf, and only after two thirds of the estimated game length. Robber placements score the leader's blocked production and stolen cards with extra weight, and a road that lengthens the leader's route to the best site both seats contest scores part of that site's value, a road the plain reach score never pays for.

The single-seating cohorts and why they do not count

The first six cohorts seated the candidate in slot 0 and the control in slot 1 and rotated the four slots through the seats on every board, so both searches sat in every seat; but slot 1 always sits one seat after slot 0, and the bargaining code makes that order worth +0.05 to +0.18 wins per game to the earlier seat (null pairs 91ddb42d and 689a1947 on boards 0 to 63, 9d213ed0 on boards 64 to 127, in the bargaining arms report). The contrasts below are the size of that term and are superseded.

SwitchSeedsSlot 0 winsSlot 1 winsSingle-seating contrast
Race leaf0 to 6312188+0.129 (+0.029 to +0.228)
Hidden points0 to 6312985+0.172 (+0.080 to +0.264)
Leader bias0 to 6312784+0.168 (+0.073 to +0.263)
Race leaf64 to 12711090+0.078 (−0.010 to +0.166)
Hidden points64 to 12710797+0.039 (−0.049 to +0.127)
Leader bias64 to 12710895+0.051 (−0.044 to +0.146)

The fresh-board contrasts match the fresh-board seating term, so as filed they are consistent with no effect at all.

The swapped pairs

Each switch was then registered again on boards 64 to 127 as a swapped pair under the follow-up study containment/endgame-seating: half A seats the candidate in slot 0, half B seats it in slot 1, both halves on the same seeds and the same engine. Both halves were played fresh because the engine no longer reproduces the earlier confirmations: the recipient-order change and the accept-side partner-cost fix landed after them, and on a 64-game sample of the race lineup 6 games differ between engines. The effect of a switch is the per-seed half-difference of the two contrasts and the seating term their half-sum (analysis/seating_pair.py).

SwitchHalf A (candidate in 0)Half B (candidate in 1)Seating-corrected effectSeating term
Race leafcandidate 114, control 86, +0.109 (+0.026 to +0.192)candidate 94, control 113, +0.074 (−0.013 to +0.161)+0.018 (−0.018 to +0.053)+0.092 (+0.014 to +0.169)
Hidden pointscandidate 111, control 99, +0.047 (−0.048 to +0.141)candidate 98, control 107, +0.035 (−0.060 to +0.130)+0.006 (−0.030 to +0.041)+0.041 (−0.047 to +0.129)
Leader biascandidate 111, control 93, +0.070 (−0.027 to +0.168)candidate 97, control 109, +0.047 (−0.040 to +0.133)+0.012 (−0.018 to +0.041)+0.059 (−0.029 to +0.146)

Half A's contrast is candidate minus control, half B's is the registered slot-0-minus-slot-1, control minus candidate, so a real effect makes the two contrasts point opposite ways and the seating term the same way. Every pair points the same way: what the single-seating cohorts measured was the seating. The seating terms match the null pairs measured on the same boards. All three registered rules fail to confirm: every mean is below +0.05 wins per game and every interval crosses zero.

The pair runs are 3e8ec893-c404-4a08-a15d-0c9bd7a3b656 and 8bacdaf4-8be4-47ea-93df-c0e26156f94d (race), 6638df3f-4e04-41ac-881e-8fc11c12c4ce and 26f98193-ebf6-4edb-bf34-a722052b9053 (hidden points), and 77b249a6-80a7-4a4d-98d9-a0a55d3006d6 and e6e854a2-8469-4b76-acec-1942b96e2f17 (leader bias), each 256 of 256 games at eight threads on the current engine.

Diagnostics

Across each pair the candidate seat lost 21, 22, and 25 one-point games out of about 300 losses, and the winner finished 2.3 points ahead of it on average, with no visible difference between the switches. As before, the game-level robber statistics are shared by all four seats and do not isolate a one-seat bias.

What this says and what it does not

After correcting for seating, each switch is worth between nothing and about two hundredths of a win per game against two fixed builders and one identical search, and the intervals exclude effects larger than about +0.05. This is engine-arena evidence on one lineup; the opponents never retaliate, negotiate, or adjust. Nothing here tests the switches together, at the deeper confirmed configurations, or against the learned tables leaf. The switches stay off by default and any future endgame cohort is registered as a swapped pair from the start.

All runs · Study · Log 2026-09-11