Text set in serif type with a dotted bar in the margin was drafted by an LLM (claude-fable-5) and sometimes reviewed by the author. The rest is the author's own. How to read this site
schedopt_bo_r9
20260722_145632_schedopt_bo_r9 · complete · published 2026-07-23 · seed 1000
part of investigation alpha-curriculum → schedule-opt → schedopt-v2
Intent
Step E of the schedopt re-freeze continuation (Phase 4), round 9: eight candidate schedules from the four-parameter modulation family, the three-parameter ramp multiplied by (1 + A·w) with amplitude A in [0, 1] and w pinned to burst_16's realized tooth wave (period 400/3 steps, duty 0.5, peak-first), proposed by Thompson sampling from a Gaussian process warm-started from every three-parameter evaluation re-expressed at A = 0 and scored at the re-frozen operating point v2 (m_star=95.5, k=350, dwell 2) over the shared search seed pool. The pre-registration (experiments/schedopt/phase4_prereg.md) precedes every run of this phase; v1 and v2 numbers are never merged.
Hypothesis
At least one modulated candidate beats the best smooth schedule on the search pool, and the running optimum's amplitude A is greater than zero. Search-phase s-hat values are never reported as results.
Setup
data regime (all arms): fresh-dataset-per-stage — 14 dataset(s) × 25 iters each = 0.02 epochs per dataset
Replicate this experiment
Get the code at this exact version:
git clone https://github.com/ClaireHobbs/imagining-syntax
cd imagining-syntax
git checkout d0568094b686
pip install -e ".[dev]"
Download the config (experiment.yaml) and run:
imsyn exp run experiment.yaml
Checks
PASS children_complete PASS replicate_coverage PASS schedule_total_matches_final_waypoint PASS instrument_consistent PASS objective_computable
Results — objective: P(unseen_mismatch ≥ 95.5 by t = 350, dwell 2, smoothing 1)
| arm | ŝ | wilson95 | median crossing [CI] | crossed |
|---|---|---|---|---|
| r9_c3 | 0.880 | [0.700, 0.958] | 222.8 [221.2, 257.8] | 22/25 |
| r9_c1 | 0.800 | [0.609, 0.911] | 235.5 [220.8, 293.8] | 20/25 |
| r9_c4 | 0.800 | [0.609, 0.911] | 258.4 [219.8, 298.0] | 20/25 |
| r9_c7 | 0.760 | [0.566, 0.885] | 221.5 [213.5, 272.5] | 19/25 |
| r9_c6 | 0.720 | [0.524, 0.857] | 222.6 [218.5, 243.4] | 18/25 |
| r9_c0 | 0.480 | [0.300, 0.665] | 214.4 [196.3, 309.1] | 12/25 |
| r9_c2 | 0.120 | [0.042, 0.300] | 194.0 [192.4, 194.8] | 3/25 |
| r9_c5 | 0.000 | [0.000, 0.133] | — | 0/25 |
Trajectory summary — unseen_mismatch
Evaluation data: seen_* probed at reference α = 1.4 · unseen_* = held-out pairings, uniform (α-independent) · 1000 pairs per condition
- Each probe is a minimal pair: a grammatical sentence and its verb-number-flipped twin. The model scores correct when it assigns the grammatical version higher probability; accuracy = % correct over 1000 pairs per condition.
- seen_match / seen_mismatch — noun–verb pairings that occur in training, sampled at fixed reference α = 1.4 (not at the schedule's own α, so arms stay comparable)
- unseen_match / unseen_mismatch — held-out noun–verb pairings that never occur in training, sampled uniformly (α = 0), so their difficulty is identical across all arms and training αs
- match vs mismatch — whether the prepositional objects agree in number with the subject; mismatch places attractor nouns between subject and verb (the AGREE-RECENT trap)
| arm | end of training (t = 350) | per-seed | flags |
|---|---|---|---|
| r9_c0 | 74.5 ±22.6 | ⚠ seed_split: range 32.1-100.0 (1 low / 11 high of 25) | |
| r9_c1 | 99.2 ±1.8 | ||
| r9_c2 | 44.1 ±29.3 | ⚠ seed_split: range 2.0-100.0 (5 low / 2 high of 25) | |
| r9_c3 | 99.9 ±0.4 | ||
| r9_c4 | 98.2 ±6.3 | ||
| r9_c5 | 95.2 ±2.2 | ||
| r9_c6 | 99.6 ±0.9 | ||
| r9_c7 | 98.5 ±2.8 |
Conclusions
The final round does not improve on round 8, so the search ends at its pre-registered four-round cap with the stop rule also newly quiet. The best candidate here, r9_c3 (ramp α 2.72 to 1.91 with late curvature γ 3.99, amplitude A = 0.75), crossed on 0.88 of the pool seeds, just under the round-8 pair at 0.92; the round's failures repeat the established pattern, a high-flat ramp (r9_c5, 4.98 to 4.40, crossed on no seeds) and an early full descent (r9_c2, 4.87 to 0.01 with early curvature, 0.12).
Over four rounds and 32 modulated candidates the best observed value rose from 0.84 to 0.92 and the winner is r8_c3 (ramp 3.42 to 0.16, γ 3.65, A = 0.69), chosen over the tied r8_c0 (2.61 to 0.10, γ 3.07, A = 0.43) by earlier median crossing, 224.0 against 227.4 steps. The selection-stability bootstrap puts 0.34 and 0.30 of the winner share on those two arms; every arm at or above 0.84 carries amplitude A of at least 0.39, and the near-smooth probe of round 6 (A = 0.02) read 0.24. The best smooth schedule sits at 0.52 on the same pool.
Referenced by (1 direct)
Direct references:
The pre-registered gate to confirmation passes, since the search-pool gap over the best smooth schedule far exceeds 0.05, but that comparison is exactly the one the pre-registration rules out as a result: more flexibility plus selection over a larger space wins on the pool essentially always. Whether the tooth amplitude survives held-out evaluation, with the pre-registered bar of 0.10 and a predicted winner's-curse drop of 0.08 to 0.15, is decided by the fresh-seed confirmation. These are search-phase values on the v2 objective, not reportable results.
Comparison figures
Children
| Child | peak unseen_mismatch | Status |
|---|---|---|
| r9_c0 | 84.7 | done |
| r9_c1 | 99.2 | done |
| r9_c2 | 79.0 | done |
| r9_c3 | 99.9 | done |
| r9_c4 | 98.2 | done |
| r9_c5 | 95.2 | done |
| r9_c6 | 99.6 | done |
| r9_c7 | 98.5 | done |