Search settings under the learned tables
Seating-corrected effects under the learned tables
Measured evidenceScroll the chart horizontally to inspect all values.
Each arm is the tables baseline plus one switch; intervals crossing zero are inconclusive, and inner scenarios is absent because it cannot bind at depth 2.
View data table
Source: Engine-arena swapped pairs of the search/settings-tables study: each point pools the per-seed seating-corrected effects of one arm over its halves and stages (an after-the-fact pooling; samples 8 and leaf opponents include the 864-927 extension, so 192 seeds), depth 2, deterministic tapes, learned n-tuple leaf in both searches. Run IDs are in the report.
| Series | Arm (pooled seeds) | Wins per game, candidate minus control (seating-corrected) | Low | High |
|---|---|---|---|---|
| Pooled seating-corrected effect (95% interval) | scenarios 4 (128 seeds) | -0.392 | -0.444 | -0.339 |
| Pooled seating-corrected effect (95% interval) | scenarios 16 (128 seeds) | -0.026 | -0.072 | 0.019 |
| Pooled seating-corrected effect (95% interval) | samples 1 (128 seeds) | -0.109 | -0.15 | -0.069 |
| Pooled seating-corrected effect (95% interval) | samples 8 (192 seeds) | 0.045 | 0.009 | 0.081 |
| Pooled seating-corrected effect (95% interval) | leaf opponents (192 seeds) | 0.031 | -0.006 | 0.068 |
| Pooled seating-corrected effect (95% interval) | counts only (128 seeds) | -0.143 | -0.188 | -0.097 |
| Pooled seating-corrected effect (95% interval) | no proposals (128 seeds) | -0.172 | -0.211 | -0.133 |
| Pooled seating-corrected effect (95% interval) | reciprocity (128 seeds) | -0.073 | -0.115 | -0.031 |
What each arm changes
The baseline seat is v2:{"depth":2,"leaf":{"tables":"artifacts/ntuple/hex-portfolio-main.bin"}},
the depth-2 search that evaluates with the learned n-tuple tables. Each candidate
is that seat plus one switch, played against the unchanged baseline. The same
nine switches were measured under the hand-written leaf in the
ablation program, in one seating; the seating diagnosis later
showed those contrasts carry a turn-order term of +0.05 to +0.18 wins per game,
so they are quoted here with that caveat.
| Arm | Switch | What it changes |
|---|---|---|
scenarios:4 | "scenarios":4 | The opponents' round after the current turn is averaged over four common random dice scenarios instead of eight |
scenarios:16 | "scenarios":16 | Sixteen scenarios instead of eight |
samples:1 | "samples":1 | One sampled hidden world instead of four |
samples:8 | "samples":8 | Eight sampled worlds instead of four |
inner_scenarios:2 | "inner_scenarios":2 | Two scenarios at deeper planned levels instead of four |
leaf_opponents | "leaf_opponents":true | Opponents inside the lookahead take the action that maximizes the tables leaf instead of following the fixed builder |
counts_only | "counts_only":true | Hidden hands sampled from public counts alone, without the event history |
no proposals | "propose":false | The seat never proposes trades; it only answers offers |
reciprocity | "reciprocity":true | The willingness model is scaled per partner by that partner's observed acceptance rate of this seat's offers |
The design
Every contrast is a swapped pair on the same seeds: half A seats the candidate
in slot 0 and the control in slot 1, half B seats the control in slot 0 and the
candidate in slot 1, and the seating-corrected effect is the per-seed
half-difference of the two slot-0-minus-slot-1 contrasts, with the seating term
their half-sum (analysis/seating_pair.py). Development played seeds 0 to 63
against the eta and fast builders, the boards of the hand-leaf ablations;
confirmation played fresh seeds 800 to 863, which no earlier experiment used;
population played seeds 800 to 863 with the tables baseline in slot 2 and eta
in slot 3, so three searches share the table. Arms whose pooled effect over the
128 development-plus-confirmation seeds is positive with an interval reaching
within 0.03 of zero extended to seeds 864 to 927 in both lineups. Each half is
256 games (64 seeds, four rotations, deterministic tapes); every cohort
completed all games with no invalid moves, stalls, or search errors. Decision
times are wall-clock under a machine shared with other research (load 80 to 160
on 32 cores), so the candidate-to-control ratio inside the same games is the
cost reading, not the absolute milliseconds.
The cohorts
Every run in the program, half by half. Half A seats the candidate in slot 0; half B seats it in slot 1. Slot 0 and slot 1 wins are out of 256.
| Arm | Stage | Half | Slot 0 wins | Slot 1 wins | Run |
|---|---|---|---|---|---|
| scenarios 4 | dev 0-63 | A (candidate slot 0) | 65 | 153 | 256-game engine cohort |
| scenarios 4 | dev 0-63 | B (candidate slot 1) | 170 | 45 | 256-game engine cohort |
| scenarios 4 | conf 800-863 | A (candidate slot 0) | 74 | 143 | 256-game engine cohort |
| scenarios 4 | conf 800-863 | B (candidate slot 1) | 172 | 53 | 256-game engine cohort |
| scenarios 16 | dev 0-63 | A (candidate slot 0) | 120 | 104 | 256-game engine cohort |
| scenarios 16 | dev 0-63 | B (candidate slot 1) | 132 | 101 | 256-game engine cohort |
| scenarios 16 | conf 800-863 | A (candidate slot 0) | 117 | 108 | 256-game engine cohort |
| scenarios 16 | conf 800-863 | B (candidate slot 1) | 127 | 106 | 256-game engine cohort |
| samples 1 | dev 0-63 | A (candidate slot 0) | 112 | 118 | 256-game engine cohort |
| samples 1 | dev 0-63 | B (candidate slot 1) | 139 | 89 | 256-game engine cohort |
| samples 1 | conf 800-863 | A (candidate slot 0) | 115 | 113 | 256-game engine cohort |
| samples 1 | conf 800-863 | B (candidate slot 1) | 142 | 84 | 256-game engine cohort |
| samples 8 | dev 0-63 | A (candidate slot 0) | 139 | 95 | 256-game engine cohort |
| samples 8 | dev 0-63 | B (candidate slot 1) | 123 | 108 | 256-game engine cohort |
| samples 8 | conf 800-863 | A (candidate slot 0) | 133 | 95 | 256-game engine cohort |
| samples 8 | conf 800-863 | B (candidate slot 1) | 124 | 99 | 256-game engine cohort |
| samples 8 | ext 864-927 | A (candidate slot 0) | 137 | 89 | 256-game engine cohort |
| samples 8 | ext 864-927 | B (candidate slot 1) | 122 | 105 | 256-game engine cohort |
| samples 8 | pop 800-863 | A (candidate slot 0) | 77 | 79 | 256-game engine cohort |
| samples 8 | pop 800-863 | B (candidate slot 1) | 87 | 84 | 256-game engine cohort |
| samples 8 | ext 864-927, L2 | A (candidate slot 0) | 89 | 86 | 256-game engine cohort |
| samples 8 | ext 864-927, L2 | B (candidate slot 1) | 87 | 90 | 256-game engine cohort |
| inner scenarios 2 | dev 0-63 | A (candidate slot 0) | 125 | 100 | 256-game engine cohort |
| inner scenarios 2 | dev 0-63 | B (candidate slot 1) | 125 | 100 | 256-game engine cohort |
| inner scenarios 2 | conf 800-863 | A (candidate slot 0) | 125 | 105 | 256-game engine cohort |
| inner scenarios 2 | conf 800-863 | B (candidate slot 1) | 125 | 105 | 256-game engine cohort |
| leaf opponents | dev 0-63 | A (candidate slot 0) | 133 | 95 | 256-game engine cohort |
| leaf opponents | dev 0-63 | B (candidate slot 1) | 120 | 103 | 256-game engine cohort |
| leaf opponents | conf 800-863 | A (candidate slot 0) | 124 | 104 | 256-game engine cohort |
| leaf opponents | conf 800-863 | B (candidate slot 1) | 121 | 109 | 256-game engine cohort |
| leaf opponents | pop 800-863 | A (candidate slot 0) | 84 | 81 | 256-game engine cohort |
| leaf opponents | pop 800-863 | B (candidate slot 1) | 82 | 85 | 256-game engine cohort |
| leaf opponents | ext 864-927 | A (candidate slot 0) | 133 | 92 | 256-game engine cohort |
| leaf opponents | ext 864-927 | B (candidate slot 1) | 126 | 105 | 256-game engine cohort |
| leaf opponents | ext 864-927, L2 | A (candidate slot 0) | 93 | 70 | 256-game engine cohort |
| leaf opponents | ext 864-927, L2 | B (candidate slot 1) | 92 | 76 | 256-game engine cohort |
| counts only | dev 0-63 | A (candidate slot 0) | 110 | 110 | 256-game engine cohort |
| counts only | dev 0-63 | B (candidate slot 1) | 150 | 78 | 256-game engine cohort |
| counts only | conf 800-863 | A (candidate slot 0) | 104 | 123 | 256-game engine cohort |
| counts only | conf 800-863 | B (candidate slot 1) | 132 | 77 | 256-game engine cohort |
| counts only | pop 800-863 | A (candidate slot 0) | 77 | 78 | 256-game engine cohort |
| counts only | pop 800-863 | B (candidate slot 1) | 93 | 67 | 256-game engine cohort |
| no proposals | dev 0-63 | A (candidate slot 0) | 109 | 108 | 256-game engine cohort |
| no proposals | dev 0-63 | B (candidate slot 1) | 150 | 76 | 256-game engine cohort |
| no proposals | conf 800-863 | A (candidate slot 0) | 95 | 128 | 256-game engine cohort |
| no proposals | conf 800-863 | B (candidate slot 1) | 149 | 79 | 256-game engine cohort |
| no proposals | pop 800-863 | A (candidate slot 0) | 57 | 98 | 256-game engine cohort |
| no proposals | pop 800-863 | B (candidate slot 1) | 90 | 58 | 256-game engine cohort |
| reciprocity | dev 0-63 | A (candidate slot 0) | 120 | 101 | 256-game engine cohort |
| reciprocity | dev 0-63 | B (candidate slot 1) | 139 | 84 | 256-game engine cohort |
| reciprocity | conf 800-863 | A (candidate slot 0) | 104 | 114 | 256-game engine cohort |
| reciprocity | conf 800-863 | B (candidate slot 1) | 128 | 99 | 256-game engine cohort |
| reciprocity | pop 800-863 | A (candidate slot 0) | 65 | 98 | 256-game engine cohort |
| reciprocity | pop 800-863 | B (candidate slot 1) | 87 | 78 | 256-game engine cohort |
The effects
Pooled rows pool the per-seed effects of both halves over stages; they are after-the-fact poolings of preregistered cohorts. The two arms whose pooled 128-seed effect was positive with an interval reaching within 0.03 of zero (samples 8 and leaf opponents) extended to seeds 864 to 927 in both lineups, so their L1 estimates rest on 192 seeds and their L2 estimates on 128.
| Arm | L1 effect | L1 seeds | L2 effect | L2 seeds | Decision time vs control |
|---|---|---|---|---|---|
| scenarios 4 | −0.392 (−0.444 to −0.339) | 128 | not run | 68% | |
| scenarios 16 | −0.026 (−0.072 to +0.019) | 128 | not run | 272% | |
| samples 1 | −0.109 (−0.150 to −0.069) | 128 | not run | 34% | |
| samples 8 | +0.045 (+0.009 to +0.081) | 192 | −0.007 (−0.045 to +0.031) | 128 | 178% |
| inner scenarios 2 | inert, identical games | 128 | not run | 100% | |
| leaf opponents | +0.031 (−0.006 to +0.068) | 192 | +0.033 (−0.009 to +0.075) | 128 | 180% |
| counts only | −0.143 (−0.188 to −0.097) | 128 | −0.053 (−0.107 to +0.002) | 64 | 120% |
| no proposals | −0.172 (−0.211 to −0.133) | 128 | −0.143 (−0.197 to −0.089) | 64 | 92% |
| reciprocity | −0.073 (−0.115 to −0.031) | 128 | −0.082 (−0.141 to −0.023) | 64 | 106% |
Bold intervals exclude zero. Stage by stage: scenarios 4 read −0.416
(−0.490 to −0.342) on the development boards and −0.367 (−0.443 to −0.291) on
the confirmation boards; samples 1 read −0.109 twice; counts only read −0.141
and −0.145; no proposals read −0.143 and −0.201; reciprocity read −0.070 and
−0.076; samples 8 read +0.057 (−0.007 to +0.120), +0.025 (−0.029 to +0.080),
and +0.053 (−0.016 to +0.121) at the builder table and −0.010 (−0.064 to
+0.045) and −0.004 (−0.057 to +0.049) at the population table; leaf opponents
read +0.041 (−0.020 to +0.102), +0.016 (−0.054 to +0.086), and +0.037 (−0.024
to +0.098) against the builders and +0.012 (−0.049 to +0.073) and +0.055
(−0.003 to +0.112) at the population table. The seating terms measured by the
pairs land between −0.018 and +0.146, in line with the seating
report; the inner_scenarios:2 pair, whose two halves play
identical lineups, measures the term directly: +0.098 (+0.006 to +0.189) on
seeds 0 to 63 and +0.078 (−0.028 to +0.184) on seeds 800 to 863.
Dice scenarios
Four scenarios cost −0.392 wins per game, roughly what removing six of the eight scenarios cost under the hand-written leaf (−0.410 single-seating on the same boards, corrected for the +0.176 term of that design, about −0.59). The diagnostics say why the loss is so large: the four-scenario seat ends turns over the seven-card limit constantly, discarding 13.9 cards per game against the control's 5.5, buying 2.75 development cards against 4.25, and finishing 2.4 points behind. Its imagined opponents' rounds are too coarse to see when holding cards is safe. Sixteen scenarios are the mirror image: a null effect (−0.026, interval crossing zero) at 2.7 times the decision cost. Averaging the opponents' round over eight scenarios is close to the right operating point under the tables; the eight default scenarios buy almost all of the available strength, and doubling the count buys nothing the games can see.
Sampled hidden worlds
One sampled world costs −0.109 and cuts decision time to about a third: the belief average over four worlds is real strength, not noise. Eight worlds are the one switch in the program that gains strength, and only where the other seats are builders: +0.045 (+0.009 to +0.081) pooled over the 192 L1 seeds, with every one of the three pairs landing between +0.025 and +0.057. At the population table the gain is gone, −0.007 (−0.045 to +0.031) pooled over 128 seeds, so the extra belief averaging buys nothing when the opponents model the search right back. The cost is 1.8 times the control's decision time, so the switch fails the browser rule on cost even before the population reading. Under the hand-written leaf one world read −0.051 single-seating (−0.012, crossing zero, on 192 fresh seeds): the sampled-world average matters more under the tables leaf than it did under the hand-written terms.
Deeper-level scenarios
inner_scenarios sets the scenario count for the opponents' rounds after
deeper planned turns, and at depth 2 there are none: the leaf is evaluated at
the end of the second planned turn, before any deeper round. The arm cannot
change a decision, and the cohorts confirm it: both halves of both stages
played byte-identical games (the effect is exactly zero by construction, and
the pair's seating term is the null term for those boards). This switch first
binds at depth 3, the browser's depth, where it has not been measured.
Leaf-guided opponents
Letting the opponents inside the lookahead choose by the tables leaf instead of the fixed builder leans positive everywhere and resolves nowhere: +0.031 (−0.006 to +0.068) over the 192 L1 seeds and +0.033 (−0.009 to +0.075) over the 128 population seeds, five pairs all positive, no interval excluding zero, at 1.8 times the control's decision time. The mechanism does change the search's picture of the future: the candidate accepts more offers from others (1.3 against 1.1 per game) and declines fewer, because the opponents it imagines now trade toward their own best builds. Under the hand-written leaf the same switch read −0.008 (single seating); under the tables it is a plausible small gain that this budget, even after the extension, cannot confirm.
Event knowledge
counts_only drops the event history and samples hidden hands from public
counts alone, the one belief mechanism confirmed under the hand-written leaf
(−0.066 when removed, 192 seeds). Under the tables it costs twice that:
−0.143 (−0.188 to −0.097), and −0.053 (−0.107 to +0.002) at the population
lineup. The seat with counts-only beliefs proposes less (11.9 offers per game
against 14.9) and misprices the trades it is offered; event knowledge is worth
more, not less, to the stronger leaf.
Proposals
Turning proposals off costs −0.172, the largest social effect in the study, and it holds at the population table (−0.143, −0.197 to −0.089) where another search answers offers. The diagnostics show the mechanism: the silent seat falls from 14.2 offers per game to 4.6 (the residue is counters to others' offers), closes 2.7 player trades per game against 3.9, and finishes 1.1 points behind. Under the hand-written leaf the same switch read −0.027 single-seating (interval crossing zero): proposals were worth little to the weaker search and are worth a seventh of a win to the tables search.
Reciprocity
Scaling each partner's modeled willingness by their observed acceptance rate of this seat's offers is the one arm whose interval excludes zero in the wrong direction: −0.073 pooled over the 128 L1 seeds, −0.082 (−0.141 to −0.023) against the population lineup. The mechanism explains the loss: against the builders and the baseline search, whose acceptance rules are fixed, a partner that has refused the seat's offers is not a partner that will keep refusing, so the seat with the scaling stops asking. It offers 9.8 times per game against the control's 14.7, counters half as often, declines more, and finishes 0.4 points behind. Under the hand-written leaf the same switch read −0.031 (interval crossing zero); under the tables it is confirmed harmful and stays off.
Against the hand-written leaf
Six of the nine arms have hand-leaf readings on the same development boards, all in one seating with the candidate in slot 0, so each carries the +0.176 seating term of that design in the candidate's favor; the corrected hand-leaf estimate is roughly the published contrast minus that term. The table compares each hand-leaf contrast with the seating-corrected tables effect.
| Arm | Hand-leaf contrast (single seating) | Tables effect (swapped pairs, pooled) |
|---|---|---|
| scenarios 2 instead of 8 | −0.410 (−0.489 to −0.331) | −0.392 for scenarios 4 (−0.444 to −0.339) |
| samples 1 instead of 4 | −0.051 (−0.166 to +0.064); fresh-seed confirmation −0.012, crossing zero | −0.109 (−0.150 to −0.069) |
| counts only | −0.090 dev; −0.066 confirmed (−0.125 to −0.008) | −0.143 (−0.188 to −0.097) |
| proposals off | −0.027 (−0.132 to +0.077) | −0.172 (−0.211 to −0.133) |
| reciprocity on | −0.031 (−0.125 to +0.063) | −0.073 (−0.115 to −0.031) |
| leaf opponents | −0.008 (−0.111 to +0.096) | +0.031 (−0.006 to +0.068), crossing zero |
The pattern is one-directional: every information input to the search is worth as much or more under the learned leaf. The stronger evaluator does not absorb the value of the belief machinery; it leans on it. Only the opponent-model switch (leaf-guided opponents) moved toward the tables leaf, from roughly zero to a small unconfirmed positive.
What could still be wrong
These are engine-arena games at depth 2 on two lineups; strength through the protocol arena, at other depths, or against humans is not established. The decision times are wall-clock under heavy shared load, so only their ratios are comparable; the ratios themselves are stable across halves and stages. The population lineup seats three copies of the same search family, so the social arms (proposals, reciprocity) are measured against opponents whose acceptance behavior is fixed or search-like, not human. The two positive-mean arms (samples 8, leaf opponents) were extended after their pooled intervals reached toward zero, so their final estimates rest on 192 seeds but the extension was chosen after seeing the first 128; both poolings are named as after-the-fact wherever they appear. The inner_scenarios arm is simply untested at the depth where it binds. Every arm was tested alone; combinations were not.
What this means for the browser
The browser build runs WASM, the hand-written leaf, depth 3 under a one-second budget, so a switch is worth enabling there only if it adds strength within the cost rule (pooled effect at least +0.03 with an interval excluding zero and decision time within 25% of the control), saves time without losing strength, or buys a depth the budget would otherwise deny. No switch meets the strength and cost rule together: eight sampled worlds reach the strength half against builders (+0.045, interval excluding zero) but cost 1.8 times the control's decisions and lose the gain at the population table, and the leaf-guided opponents stay unresolved at the same cost. Everything else loses strength. The defaults are right for the browser too, with three cost readings worth keeping:
scenarios:4cuts decision time to 68% but loses 0.39 wins per game under the tables and about as much under the hand leaf (−0.410 published, worse corrected). It is not a browser lever; halving the dice average is the one setting both leaves agree is catastrophic.samples:1cuts decision time to about a third for −0.109 under the tables (the hand leaf's fresh-seed reading was −0.012, crossing zero). This is the one genuine trade on the table: if the one-second budget cannot finish depth 3 in the browser, one sampled world is the setting most likely to buy the missing depth for a strength price of roughly a tenth of a win per game, and it should be measured there in WASM before any decision. It is not worth enabling while depth 3 fits the budget.inner_scenarios:2is free at depth 2 because it cannot bind there, but at the browser's depth 3 it does bind and its cost and strength there are unmeasured. It is the natural next measurement for the browser budget: if two deeper-level scenarios hold strength at depth 3, they shorten exactly the part of the tree the browser pays most for.
Everything else stays at its defaults: event knowledge and proposals are worth more under both leaves than any browser saving from dropping them, sixteen scenarios cost time for nothing, the reciprocity scaling is refuted, and the two unresolved positives (eight sampled worlds, leaf-guided opponents) cost 1.8 times the control's decisions, which the one-second budget cannot afford. If the browser budget ever loosens or the tables leaf reaches the browser, eight sampled worlds against builders is the one measured strength gain worth revisiting.
Methods and reproduction
All cohorts are engine-arena registrations under search/settings-tables, each
half its own experiment: 256 deterministic games (64 seeds, four rotations),
seats as named in each registration, 10 points to win, 500-turn cap. The
seating-corrected effects come from analysis/settings_tables.py, which reads
the retained runs directly and writes analysis/settings_tables.json; the
forest plot comes from analysis/settings_tables_assets.py. Half A experiments
(candidate slot 0, control slot 1) and half B experiments (control slot 0,
candidate slot 1): scenarios4 registered protocol and
registered protocol, scenarios16
registered protocol and registered protocol,
samples1 registered protocol and
registered protocol, samples8
registered protocol and registered protocol,
inner_scenarios2 registered protocol and
registered protocol, leaf_opponents
registered protocol and registered protocol,
counts_only registered protocol and
registered protocol, propose_false
registered protocol and registered protocol,
reciprocity registered protocol and
registered protocol (development, seeds 0-63);
scenarios4 registered protocol and
registered protocol, scenarios16
registered protocol and registered protocol,
samples1 registered protocol and
registered protocol, samples8
registered protocol and registered protocol,
inner_scenarios2 registered protocol and
registered protocol, leaf_opponents
registered protocol and registered protocol,
counts_only registered protocol and
registered protocol, propose_false
registered protocol and registered protocol,
reciprocity registered protocol and
registered protocol (confirmation, seeds 800-863);
leaf_opponents registered protocol and
registered protocol, counts_only
registered protocol and registered protocol,
propose_false registered protocol and
registered protocol, reciprocity
registered protocol and registered protocol,
samples8 registered protocol and
registered protocol (population, seeds 800-863, tables
baseline slot 2 and eta slot 3); samples8 extension
registered protocol and registered protocol
(L1), registered protocol and
registered protocol (L2), leaf_opponents extension
registered protocol and registered protocol
(L1), registered protocol and
registered protocol (L2), seeds 864-927. Runs:
scenarios4 256-game engine cohort and 256-game engine cohort (dev), 256-game engine cohort and 256-game engine cohort (conf); scenarios16 256-game engine cohort and 256-game engine cohort (dev), 256-game engine cohort and 256-game engine cohort (conf); samples1 256-game engine cohort and 256-game engine cohort (dev), 256-game engine cohort and 256-game engine cohort (conf); samples8 256-game engine cohort and 256-game engine cohort (dev), 256-game engine cohort and 256-game engine cohort (conf), 256-game engine cohort and 256-game engine cohort (pop), 256-game engine cohort and 256-game engine cohort (ext L1), 256-game engine cohort and 256-game engine cohort (ext L2); inner_scenarios2 256-game engine cohort and 256-game engine cohort (dev), 256-game engine cohort and 256-game engine cohort (conf); leaf_opponents 256-game engine cohort and 256-game engine cohort (dev), 256-game engine cohort and 256-game engine cohort (conf), 256-game engine cohort and 256-game engine cohort (pop), 256-game engine cohort and 256-game engine cohort (ext L1), 256-game engine cohort and 256-game engine cohort (ext L2); counts_only 256-game engine cohort and 256-game engine cohort (dev), 256-game engine cohort and 256-game engine cohort (conf), 256-game engine cohort and 256-game engine cohort (pop); propose_false 256-game engine cohort and 256-game engine cohort (dev), 256-game engine cohort and 256-game engine cohort (conf), 256-game engine cohort and 256-game engine cohort (pop); reciprocity 256-game engine cohort and 256-game engine cohort (dev), 256-game engine cohort and 256-game engine cohort (conf), 256-game engine cohort and 256-game engine cohort (pop). Reproduce any half with python3 -m harness.engine run EXPERIMENT --threads 6 and SETTLERS_SERVER_DIR at a server worktree; the seat specs are in each registration. Three interrupted duplicates from a scheduling error are retained in the run directory and named in the daily log. Attribution: GLM-5.3 (baseten/zai-org/GLM-5.3) through opencode.
All studies · Search under uncertainty · Experiment log
Detailed result and cohort context
Every switch is the depth-2 tables baseline plus one change, measured as a swapped
pair on the same boards so the arena's seating term cancels. Halving the common
random dice scenarios to four costs −0.392 wins per game (95% interval −0.444
to −0.339, 128 seeds), collapsing the sampled hidden worlds to one costs
−0.109 (−0.150 to −0.069), sampling hands from public counts alone instead of
the event history costs −0.143 (−0.188 to −0.097), and never proposing a trade
costs −0.172 (−0.211 to −0.133). Scaling the willingness model by each
partner's observed acceptance rate is the one refuted improvement: −0.073
(−0.115 to −0.031). Doubling scenarios to sixteen changes nothing measurable
(−0.026, −0.072 to +0.019) for 2.7 times the decision time. Doubling the sampled
worlds to eight is the one switch that gains strength, +0.045 (+0.009 to
+0.081) pooled over 192 seeds against the builders, but the gain disappears at a
table of three searches (−0.007, −0.045 to +0.031) and costs 1.8 times the
decision time. Leaf-guided opponents read +0.031 (−0.006 to +0.068) over 192
seeds and +0.033 (−0.009 to +0.075) against the population, positive everywhere
and resolved nowhere, at 1.8 times the cost. inner_scenarios cannot bind at
depth 2: its halves replayed identical games. Under the hand-written leaf the
same switches read near zero; the learned leaf makes the search's information
inputs worth more, not less.