# GAUNTLET

> Run the same beam search across nine different scan orders, so it lands in different regions instead of always converging to the same one. The zigzag order found a brand-new 458 board.

- Canonical page (with interactive figures/demos): https://eternity2.dev/research/lab/experiments/raphael-anjou/pipelines/gauntlet/
- Updated: 2026-07-21
- Topics: construction
- Reproduce: `just research-record-boards`
- Source: Beam search (this project's concept page): the construction this varies the scan order of — https://github.com/raphael-anjou/eternity2/blob/main/web/content/research/build/construct/beam-search.mdx

---
A beam search that always fills the board in the same order tends to discover
the same kind of board, no matter the random seed. The order you visit the
cells quietly decides which region you end up in, and across sixteen seeds,
a single scan order produced just one distinct corner-arrangement family.
GAUNTLET turns that into a tool: run the search across nine genuinely
different scan orders, and you sample genuinely different regions.

## How it works

GAUNTLET forks the constructive PRIOR beam and gives it a scan order it can
swap: row, row-reversed, column, column-reversed, zigzag, zigzag-reversed,
spiral-in, spiral-out, and diagonal, nine in all. Because the order of cells
changes which partial boards survive at each step, each order explores a
different trajectory rather than crowding into one. A sweep of 9 scans × 4
seeds produced **18 distinct corner-arrangement signatures**, against just
one across sixteen seeds of the single-scan beam it grew from.

Each full run produces a complete board; the strongest are then polished by a
30-minute ALNS lift. The finding is sharp: *scan order is a stronger
diversity axis than the random seed.* That is the lever, and it is what the
later KEYRING and PRIOR build on.

> **[Figure]** Interactive: the construction-order schedule — interactive: GauntletDiagram. Rendered on the canonical page (link above); not shown in this markdown export.

Step through one scan to see how the visit order steers the beam.

> **[Figure]** Interactive: step through the build order — interactive: GauntletStepThrough. Rendered on the canonical page (link above); not shown in this markdown export.

Or race the nine orders against each other, live, in your browser.

> **[Figure]** Interactive: race the construction strategies — interactive: GauntletLiveRace. Rendered on the canonical page (link above); not shown in this markdown export.

## The board

The search is stochastic, so it won't reproduce this exact board, but the
board it found is fixed, bundled here, and checkable edge by edge.
> **[Interactive: RecordBoard]** Rendered on the canonical page (link above); not shown in this markdown export.
## The result

The zigzag order at seed 99, lifted, reached 458 of 480 in the corner
arrangement cp=(3,0,1,2), the first board at or above 458 ever found in that
arrangement in our database. It is at least 246 of 256 cells away from
anything we had at that level: a genuinely new basin, not another route to a
known one.

So GAUNTLET's contribution is reach rather than a record: it opened a new
region of strong boards. A second round (32 more lifts) topped out at 457
with no 461, which says the new family saturates like the others, but the
family itself was the prize.

## Method

The pipeline is three stages, and the parameters are the point.

**Stage 1: diverse construction.** Fork PRIOR's beam and give it a swappable
scan order over the 256 cells: `row`, `row_rev`, `col`, `col_rev`, `zigzag`,
`zigzag_rev`, `spiral_in`, `spiral_out`, `diagonal`, nine orders, crossed
with seeds `{1, 7, 42, 99}`. All share one prior (the `high459` matrix) at a
low softmax temperature (0.05), so the beam is prior-guided but not
deterministic. The order changes which partial boards survive each step, so
each (scan, seed) walks a different trajectory.

**Stage 2: lift.** Each strong build gets an ALNS lift (prior-escape +
`basic_lkh` destroy/repair operators), 5 minutes per build in the sweep, longer
for the finalists.

**Stage 3: cluster.** Group all outputs by corner-permutation and flag the
signatures absent from the existing database. That is how the 9×4 sweep
surfaced **18 distinct corner families** where sixteen seeds of a single scan
had surfaced one, the measured claim that *scan order is a stronger diversity
axis than the seed.*

The winning board, zigzag, seed 99, lifted, sits at cp = (3, 0, 1, 2),
Hamming distance ≥ 246/256 from anything previously at that level: a new basin
by the same corner-perm-plus-Hamming test [PRIOR](/research/lab/experiments/raphael-anjou/learning/prior)
uses.

## Reproduce

`just research-record-boards` verifies the committed 458 board's score exactly
from its stored Bucas string. The sweep is stochastic (nine scans × four seeds,
then a polish pass), so it will not reproduce the same board; the board is the
artifact of record. The engine is the shared beam
producer run across
nine fill orders; it uses the same corpus-mined prior as
[PRIOR](/research/lab/experiments/raphael-anjou/learning/prior), so the run is not
reproduced from scratch here.

## Open questions

Does this new family have the same rigid local structure as the others, or a
different shape? And can a longer refinement lift it past 458, the way a
fresh family sometimes has more room than a well-worn one?

## Related

- [PRIOR](https://eternity2.dev/research/lab/experiments/raphael-anjou/learning/prior) — Build a board from nothing, breaking ties by where pieces tend to sit in the strong boards we already have. It reaches a high score with no starting board to copy.
- [KEYRING](https://eternity2.dev/research/lab/experiments/raphael-anjou/learning/keyring) — Build a board from scratch, ranking each next piece by three signals learned from past strong boards. Reached 460 in a board family no earlier search had cracked.
- [Beam search](https://eternity2.dev/research/build/construct/beam-search) — Keep the K most promising partial boards alive at once and grow them cell by cell. Beam search is the workhorse behind this project's from-scratch builders, and a clean illustration of why breadth alone stalls in the deep interior.
