Settlers / Research

73 pages · Search titles and descriptions

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

Hand-size risk: spending down, projected discards, and the risk weight

The three mechanisms

Each arm is one switch or weight on the otherwise unchanged depth-2 search, off or unchanged by default. spend_down acts only when the hand exceeds the discard limit: the candidate list then also carries up to three bank trades and two roads picked only to shed cards before another seat's roll, so the leaf's hand_risk term can price spending down against holding. The control never considers a trade that reduces no build deficit or a road toward nothing. discard_projection changes the discard ranking: each legal multiset is still enumerated, but the kept hand is credited with the seat's expected production over the rolls before its next turn, so a discard is valued by the target it preserves after that production rather than by the current hand alone. The weight sweep sets weights.hand_risk to 0, 2, or 4 (default 1) with the risk inclination fixed at 0.5.

The measurements

Every cohort is 256 games in the engine arena, deterministic, each board 0 to 63 played once per rotation of the four slots, with an ETA and a fast builder beside the two searches. All 256 games completed in every cohort. The five arms were registered as single-seating contrasts, candidate in slot 0 against the control in slot 1. The seating diagnosis then showed that two identical searches in adjacent slots differ by +0.05 to +0.18 wins per game from turn order alone: the seat directly before another acts first after three of the four rolls in a round. Every contrast below is that size, so none of them is an effect. The discard_projection arm was re-registered with the seats swapped on the same boards, and the pair separates the effect from the term.

ArmSlot 0Slot 1Wins 0 / 1Contrast, slot 0 minus slot 1 (95% interval)
spend_downcandidatecontrol118 / 101+0.066 (−0.020 to +0.153)
discard_projectioncandidatecontrol124 / 92+0.125 (+0.021 to +0.229)
discard_projectioncontrolcandidate131 / 84+0.184 (+0.086 to +0.281)
hand_risk 0candidatecontrol112 / 93+0.074 (−0.024 to +0.173)
hand_risk 2candidatecontrol124 / 91+0.129 (+0.039 to +0.219)
hand_risk 4candidatecontrol116 / 96+0.078 (−0.028 to +0.184)

The pair combines the two projection contrasts per board: the effect is half their difference, −0.029 (−0.073 to +0.015), and the seating term is half their sum, +0.154 (+0.064 to +0.245), consistent with the +0.176 to +0.180 measured for identical seats on these boards in the seating report. The other four rows are single-seating readings, each at or below that term, so they are consistent with zero rather than measured effects. The weight sweep is flat: 0, 1, 2, and 4 are the same weight inside the seating noise.

Hand-management arms against the unchanged control

Measured evidence
-0.10.00250.1050.20750.31spend downdiscard projectiondiscard projection, seats swappedhand_risk 0hand_risk 2hand_risk 4discard projection, seating-correctedturn-order term measured by the pairCohortWins per game, slot 0 minus slot 1

Scroll the chart horizontally to inspect all values.

Single-seating contrast (slot 0 minus slot 1)Swapped-pair combination95% interval

Each point is one cohort’s slot-0-minus-slot-1 wins per game with its 95% interval over boards; single-seating points carry the turn-order term and the swapped-pair combination removes it.

Source: Engine-arena cohorts of 256 games on deterministic boards 0-63 played once per rotation, the candidate and the unchanged depth-2 control in the named slots with an ETA and a fast builder. Runs 901f81f4, dd2a5d1f, 2bae826e, 2f8fae6e, af6fcb03, and 43215190 with the seats swapped; the corrected point is half the difference of the two projection contrasts and the turn-order point half their sum.

View data table
SeriesCohortWins per game, slot 0 minus slot 1LowHigh
Single-seating contrast (slot 0 minus slot 1)spend down0.0664-0.01970.1525
Single-seating contrast (slot 0 minus slot 1)discard projection0.1250.02150.2285
Single-seating contrast (slot 0 minus slot 1)discard projection, seats swapped0.18360.08580.2814
Single-seating contrast (slot 0 minus slot 1)hand_risk 00.0742-0.02440.1728
Single-seating contrast (slot 0 minus slot 1)hand_risk 20.12890.03890.2189
Single-seating contrast (slot 0 minus slot 1)hand_risk 40.0781-0.02760.1839
Swapped-pair combinationdiscard projection, seating-corrected-0.0293-0.07320.0146
Swapped-pair combinationturn-order term measured by the pair0.15430.06370.2449

The mechanisms fire without winning

The diagnostics show the switches do what they claim. Per-game means for the candidate against the control; the projection row pools both seatings of the pair, the others are single-seating.

ArmCards discardedTurns ended over the limitTimes robbedBank trades
spend_down8.70 / 8.590.91 / 0.993.62 / 3.734.73 / 4.13
discard_projection (pair)8.72 / 8.761.03 / 0.953.70 / 3.674.29 / 4.23
hand_risk 010.00 / 9.241.41 / 0.983.52 / 3.794.52 / 4.01
hand_risk 27.85 / 8.580.82 / 1.053.55 / 3.674.66 / 4.02
hand_risk 48.07 / 8.620.82 / 0.983.65 / 3.484.35 / 4.03

Removing the risk term raises discards by three quarters of a card per game and turns ended over the limit from 1.0 to 1.4; doubling or quadrupling it cuts both. Spending down adds half a bank trade per game and ends fewer turns over the limit. The projected discard changes which cards go (the candidate discards a little less) without changing the exposure counts. All of this moves the dial the term is supposed to measure, and none of it moves the win rate once seating is removed. Holding eight cards is apparently rare enough, and the half-hand penalty small enough, that pricing it differently buys nothing at this depth.

Limits

This is engine-arena evidence at depth 2 with the hand-written leaf, two builders at the table, and one lineup; the protocol-arena baseline is the learned-tables leaf, which prices hands from self-play and may already encode discard exposure. The screens that preceded the cohorts (16 boards each, unregistered, kept under runs/screen-risk/) read +0.156 to +0.250 for the five arms and +0.219 for a control-against-control pair on the same boards: they overstated everything and were the reason the seating question came up in this study. The switches remain in the search, off by default, documented in docs/expectimax.md. A protocol smoke of both switches together (run 1b8775f4) completed four of four games; it is a plumbing check, not evidence.

Agent notes

Candidate and control seats are v2:{"depth":2} plus the named switch or weight. Registrations and runs, all boards 0-63 deterministic: 47486c2e / 901f81f4 (spend_down), d09eaccb / dd2a5d1f (discard_projection), a78e5220 / 2bae826e (hand_risk 0), e79ff8a3 / 2f8fae6e (hand_risk 2), 1a506239 / af6fcb03 (hand_risk 4), and 945e89c0 / 43215190 (discard_projection, swapped seats). The pair's decision rule is in registration 945e89c0; per the seating report the effect is half the per-board difference of the two slot-0-minus-slot-1 contrasts and the seating term half their sum, with 95% intervals over boards. All runs used server commit 9980af2 (branch research/risk), which predates the rotating recipient order; the seating report found the term unchanged by that fix, and the pair cancels it regardless. The arena counted turns_over_limit from this study onward; older records lack the field. python3 analysis/hand_management.py recomputes every number and the plot asset from the retained run folders.