Settlers / Research

75 pages · Search titles and descriptions

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

Robber placement and victim choice

Robber targeting after correcting seating

Measured evidence
-0.14-0.02750.0850.19750.31LeaderNeeded resourceThreatSeating-corrected comparisonChange in wins per gameNo difference

Scroll the chart horizontally to inspect all values.

Swapped-pair estimate with 95% interval95% intervalNo difference

No corrected robber effect is positive; choosing the needed resource loses games.

View data table

Source: Engine-arena cohorts under containment/robber-targeting and containment/robber-targeting-bias: the arm against the unchanged depth-2 control with an ETA and a fast builder, 64 deterministic seeds each played once per rotation (256 games per point). The bias-free points pair the same-orientation confirmation with its swapped cohort on the same seeds. Run IDs are listed in the robber-targeting report. This figure selects the corrected estimates from the original published asset robber-targeting-contrasts.json; each swapped pair contains two completed 256-game halves.

SeriesSeating-corrected comparisonChange in wins per gameLowHigh
Swapped-pair estimate with 95% intervalLeader-0.0234-0.07310.0262
Swapped-pair estimate with 95% intervalNeeded resource-0.0449-0.0855-0.0043
Swapped-pair estimate with 95% intervalThreat-0.0332-0.08450.0181

Robber-targeting contrasts

Measured evidence
-0.14-0.02750.0850.19750.31leader, 0-63leader, 64-127leader, bias-freeneed, 0-63need, 64-127need, bias-freethreat, 0-63threat, 64-127threat, bias-freeArm and measurementWins per game, arm minus controlno difference

Scroll the chart horizontally to inspect all values.

Paired seed contrast (95% interval)95% intervalno difference

Each arm's paired win difference with the arm in slot 0 on the development and fresh seeds, and the seating-bias-free effect from the swapped pairs.

View data table

Source: Engine-arena cohorts under containment/robber-targeting and containment/robber-targeting-bias: the arm against the unchanged depth-2 control with an ETA and a fast builder, 64 deterministic seeds each played once per rotation (256 games per point). The bias-free points pair the same-orientation confirmation with its swapped cohort on the same seeds. Run IDs are listed in the robber-targeting report.

SeriesArm and measurementWins per game, arm minus controlLowHigh
Paired seed contrast (95% interval)leader, 0-630.1250.02150.2285
Paired seed contrast (95% interval)leader, 64-1270.0352-0.04710.1175
Paired seed contrast (95% interval)leader, bias-free-0.0234-0.07310.0262
Paired seed contrast (95% interval)need, 0-630.16020.0570.2633
Paired seed contrast (95% interval)need, 64-1270.0391-0.06170.1398
Paired seed contrast (95% interval)need, bias-free-0.0449-0.0855-0.0043
Paired seed contrast (95% interval)threat, 0-630.11720.02210.2123
Paired seed contrast (95% interval)threat, 64-1270.0352-0.05610.1264
Paired seed contrast (95% interval)threat, bias-free-0.0332-0.08450.0181

What each arm changes

The search shortlists four robber placements by a static score and lets the lookahead choose among them. The score adds, per hex, the pips blocked at every rival building (cities double, weighted by the blocked seat's public points), and per victim a bonus for hand size and public points. Each arm changes exactly one part of that score, everything else held fixed:

SwitchChangeWhat it tests
robber.leaderThe hex score counts the points leader's blocked pips in full and every other seat's at a tenthBlocking the leader's best hex beats blocking the most pips overall
robber.needThe victim bonus replaces hand size with 2.8 times the expected share of the resource this seat most needs, from its resource knowledgeStealing the card this seat needs beats stealing from the biggest hand
robber.threatBlocked pips are weighted by 1 + 2 × the seat's bargain threat, and a victim with threat below 0.5 is never robbed while a threatening victim existsSparing trade partners and preferring the top threat beats ignoring threats

The cohorts

Every cohort seats the arm and the unchanged control v2:{"depth":2} with eta and fast on 64 deterministic seeds played once per rotation (256 games). All games completed; there were no invalid moves, stalls, or interruptions.

Full results and cohort ledger
ArmSeedsOrientationArm winsControl winsContrast (95% interval)Run
leader0-63arm slot 012492+0.125 (+0.021 to +0.229)256-game engine cohort
need0-63arm slot 013089+0.160 (+0.057 to +0.263)256-game engine cohort
threat0-63arm slot 012292+0.117 (+0.022 to +0.212)256-game engine cohort
leader64-127arm slot 0112103+0.035 (−0.047 to +0.117)256-game engine cohort
need64-127arm slot 010999+0.039 (−0.062 to +0.140)256-game engine cohort
threat64-127arm slot 0110101+0.035 (−0.056 to +0.126)256-game engine cohort
leader64-127arm slot 193114−0.082 (−0.166 to +0.002)256-game engine cohort
need64-127arm slot 186119−0.129 (−0.217 to −0.041)256-game engine cohort
threat64-127arm slot 190116−0.102 (−0.183 to −0.020)256-game engine cohort

Why the slot-0 contrasts are not arm effects

Two identical searches placed in adjacent slots of this arena differ by a seating term that the seating diagnosis traced to turn-order adjacency: the seat directly before another acts first after three of the four rolls in a round. Every cohort above has the changed seat and the control adjacent, so each contrast mixes the arm's effect with the term. Pairing a same-orientation cohort with a swapped cohort on the same seeds cancels it exactly: the bias-free effect is half the per-seed difference of the two contrasts, and half their sum is the seating term itself.

ArmSame-orientation contrastSwapped contrastBias-free effect (95% interval)Seating term
leader+0.035+0.082−0.023 (−0.073 to +0.026)+0.059
need+0.039+0.129−0.045 (−0.086 to −0.004)+0.084
threat+0.035+0.102−0.033 (−0.084 to +0.018)+0.068

Read against the seating term, the picture is consistent: the dev-seed contrasts of +0.117 to +0.160 were the term plus whatever the seed selection added (the screens that chose these arms ran on seeds 0 to 15, inside the 0-63 cohorts), the fresh-seed contrasts near +0.035 were mostly the term, and the bias-free effects hover slightly below zero. The need arm is the one clear result: its interval excludes zero on the wrong side, so choosing the victim by the card this seat needs is worse than choosing by hand size at this table, plausibly because a big hand is worth more to rob than a well-aimed single card, and the need rule also ignores how many cards the victim holds.

Where the robber actually goes

The arena records every robber placement together with the points leader among the mover's rivals and that seat's highest-pip hex, cities counting double. Pooled over all nine cohorts (2,304 games), the default search landed the robber on that leader's best hex on 27.7 percent of its robber moves and robbed the leader on 45.5 percent. The leader arm raised both shares as designed (28.6 and 49.6 percent), the need arm changed victims rather than hexes, and the threat arm robbed the leader on 46.5 percent while sparing its low-threat partners. The builder policies behind eta and fast block the leader's best hex on about a third of their robber moves, so the default search was the least leader-aware robber at this table, and making it more leader-aware did not win more games.

SeatOn the leader's best hexRobbed the leader
default search (control seats, nine cohorts)1,244 of 4,499 (27.7%)2,047 of 4,499 (45.5%)
leader arm1,284 of 4,492 (28.6%)2,227 of 4,492 (49.6%)
need arm1,192 of 4,472 (26.7%)1,962 of 4,472 (43.9%)
threat arm1,119 of 4,456 (25.1%)2,070 of 4,456 (46.5%)
eta builders2,579 of 7,281 (35.4%)3,752 of 7,281 (51.5%)
fast builders2,706 of 8,069 (33.5%)4,078 of 8,069 (50.5%)

Failures and limits

The screens on 16 seeds (unregistered, 64 games each) read +0.312, +0.219, and +0.203, all larger than anything that followed: small screens overstate. The development cohorts shared seeds with the screens that selected the arms, so their contrasts carry selection on top of the seating term; the only unbiased numbers here are the swapped pairs on seeds 64 to 127. Everything is engine-arena evidence at one lineup (two searches and the two fixed builders, depth 2, deterministic tapes), and the arms were tested one at a time, so a combined arm remains untested.

Methods and reproduction

Implementation: SearchConfig.robber (leader, need, threat) in crates/expectimax/src/v2, documented in docs/expectimax.md under "Robber targeting"; the scoring lives in the free robber_rows function, shared with the endgame leader bias. The need bonus reads ResourceKnowledge expected hands taken at the root of the decision, and the need itself is the largest missing-card gap toward the builds the seat is closest to affording. All switches off reproduce the previous scoring bit for bit: 32 deterministic games are identical before and after the change, and again after the merge with the endgame switches. The arena's GameRecord carries one compact row per robber placement (player, hex, victim, the leader among the mover's rivals, and that seat's highest-pip hex, cities double); analysis/robber_obvious.py computes the shares, analysis/robber_bias.py the bias-free effects, and analysis/robber_assets.py the plot from the retained runs.

Reproduction: python3 -m harness.engine run EXPERIMENT --threads 8 in the research checkout with SETTLERS_SERVER_DIR pointing at a server worktree containing the switches. Experiments registered protocol, registered protocol, and registered protocol are the 0-63 cohorts; registered protocol, registered protocol, and registered protocol the same-orientation confirmations; registered protocol, registered protocol, and registered protocol the swapped pairs under containment/robber-targeting-bias. Arm seat: v2:{"depth":2,"robber":{"leader":true}} (and need, threat); control v2:{"depth":2}. Focused tests in crates/expectimax/tests/internal/v2_robber.rs.

All studies · Leader containment · Experiment log

Detailed result and cohort context

With the arm in slot 0, all three switches beat the unchanged depth-2 control on seeds 0 to 63: leader +0.125 (95% interval +0.021 to +0.229), need +0.160 (+0.057 to +0.263), threat +0.117 (+0.022 to +0.212), each over 256 paired games. Fresh-seed confirmations on 64 to 127 read +0.035, +0.039, and +0.035 with intervals crossing zero, which first looked like a small real effect. It was not: this arena design gives two identical searches in adjacent slots a seating term, and swapped pairs on the same fresh seeds cancel it. Bias-free, the effects are leader −0.023 (−0.073 to +0.026), need −0.045 (−0.086 to −0.004, the only interval excluding zero), and threat −0.033 (−0.084 to +0.018). All three switches stay off by default; the need rule is refuted at this table, and the seating term is now a standing hazard for any two-search cohort in this arena.