Settlers / Research

73 pages · Search titles and descriptions

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

After the fix: half the games on paired boards

Corrected search at depth 2 against the builders

95% interval
expectimax-v2 depth 2 (slot 0)50.4% · n=256
ETA builder (slot 1)20.3% · n=256
fast builder (slot 2)14.5% · n=256
ETA builder (slot 3)14.8% · n=256
0%50%100%
Per-slot win rates over 256 games: 64 seeds, each played once per rotation; decisions averaged 87 ms. Run a0c91849-4abf-4f1c-9de1-6255e1ef73e6: 256 of 256 planned games completed; engine arena, paired seeds.

What the defect was

The first cohorts ran with a turn-planning defect. After any non-ending action, the enumerator reused the root's restricting action as its own action list, so it re-applied that action, failed, and explored nothing. A road, a bank exchange, or a purchase was therefore valued at the position right after it, without the opponents' round that every end-turn candidate received, and inner turns collapsed to ending the turn. Measuring the game tree exposed it: inner-level nodes averaged 1.17 end-of-turn positions where a hand with several options should produce many.

The correction limits the restriction to the root step. A second problem then surfaced: with sequences actually explored, the flattened list of end-of-turn positions averaged over the player's own alternatives instead of taking the best, and enumerating every sequence cost seconds. The planner is now a recursion that takes the maximum over own actions and the expectation over chance outcomes, keeps every first action but only the best few continuations of the current turn, follows one greedy line in later turns, and spends the lookahead on the afterstates of the chosen line.

nowyour movedicenext turn487326values654average6max
Leaf values average over the dice, and the player keeps the best end-of-turn position.

Depth 3 wins more still

Run 156f77ff-b781-42d6-b6e0-999bdf9506fe seated the same lineup with depth 3 under a 1.5 s budget. It won 147 of 256 slot-games (57.4%) against the compared ETA slot's 16.0%; the paired contrast is +0.414 (95% interval +0.327 to +0.502), above depth 2's +0.301 on the same boards. Decisions averaged 360 ms. With the defective search, depth 3 had bought nothing; with the turn tree working, the extra planned turn is worth about eleven more wins per 256.

Corrected search at depth 3 with a 1.5 s budget

95% interval
expectimax-v2 depth 3, 1.5 s (slot 0)57.4% · n=256
ETA builder (slot 1)16.0% · n=256
fast builder (slot 2)9.4% · n=256
ETA builder (slot 3)17.2% · n=256
0%50%100%
Per-slot win rates over 256 games: 64 seeds, each played once per rotation; decisions averaged 360 ms. Run 156f77ff-b781-42d6-b6e0-999bdf9506fe: 256 of 256 planned games completed; engine arena, paired seeds.
depth 1depth 2depth 3unfinishedkeep depth 2time budget
Each depth completes before the next begins, and the clock keeps the deepest finished depth.

Against the reference it replaces

Run 436f4740-c7a5-48f2-9e35-9f1ce92c3af5 seated the corrected depth-2 search with the frozen expectimax-v1, an ETA builder and a fast builder. It won 120 of 256 slot-games (46.9%); the reference won 34 (13.3%), ETA 69 and fast 33. The paired contrast against the reference is +0.336 (95% interval +0.249 to +0.423). The reference spent 240 ms per decision to the corrected search's 88 ms.

Corrected search against the frozen reference

95% interval
expectimax-v2 depth 2 (slot 0)46.9% · n=256
expectimax-v1 reference (slot 1)13.3% · n=256
ETA builder (slot 2)27.0% · n=256
fast builder (slot 3)12.9% · n=256
0%50%100%
Per-slot win rates over 256 games: 64 seeds, each played once per rotation, with an ETA and a fast builder in the other seats. Run 436f4740-c7a5-48f2-9e35-9f1ce92c3af5: 256 of 256 planned games completed; engine arena, paired seeds.

What the corrected search does differently

The per-game means show a builder-like profile: 2.0 settlements, 2.1 cities, 4.7 roads and 2.8 development cards, with 6.2 completed player trades and 9.9 offers per game. The defective search offered less and, in its deep variant, bought more development cards than it built cities.

What each policy built per game

Measured evidence
01.753.55.257settlementscitiesroadsdev cardsplayer tradesbank tradesActionPer game

Scroll the chart horizontally to inspect all values.

expectimax-v2 depth 2ETA builderfast builder

Per-game means over 256 completed games per slot; the corrected search builds like ETA and trades with players more often.

Source: Engine-arena run a0c91849-4abf-4f1c-9de1-6255e1ef73e6; per-game means over 256 completed games per slot.

View data table
SeriesActionPer game
expectimax-v2 depth 2settlements2.02
expectimax-v2 depth 2cities2.06
expectimax-v2 depth 2roads4.71
expectimax-v2 depth 2dev cards2.76
expectimax-v2 depth 2player trades6.2
expectimax-v2 depth 2bank trades4.27
ETA buildersettlements2.31
ETA buildercities2.31
ETA builderroads4.75
ETA builderdev cards1.08
ETA builderplayer trades5.3
ETA builderbank trades5.29
fast buildersettlements1.46
fast buildercities2.79
fast builderroads3.11
fast builderdev cards2.06
fast builderplayer trades5.34
fast builderbank trades5.44
candidate Acandidate Bsame dice1: 6 8 5762: 9 4 7343: 6 6 10984: 2 8 353mean 6.0mean 5.3
Both candidates face the same numbered dice sequences, so their values compare directly.
Agent notes

Registered experiments d5eb6354-2b59-4ca4-8ab0-fefee3690cb3 (run a0c91849-4abf-4f1c-9de1-6255e1ef73e6, depth 2) and 11cb5a59-5490-4a78-96cf-2332d8364cf2 (run 156f77ff-b781-42d6-b6e0-999bdf9506fe, depth 3 with "time_budget_ms":1500) seat the search against eta, fast, eta; experiment 8d5b24cd-e6ed-4a04-87c8-c1d0db7b747c (run 436f4740-c7a5-48f2-9e35-9f1ce92c3af5) seats depth 2 against v1, eta, fast. The depth-2 configuration is v2:{"depth":2,"samples":4,"scenarios":8,"inner_scenarios":4}; every cohort uses seeds 0 to 63 with all four rotations. The paired contrast is the per-seed mean of slot-0 minus slot-1 wins with a normal-approximation interval over 64 seeds. Reproduce with just engine-run EXPERIMENT after just build-arena; the manifest records the tournament binary hash and both repositories' Git state (server commit 59433b7 carries the fix). Attribution: Claude Fable 5.1 (claude-fable-5-1) through Claude Code.