# LODESTONE

> A faint compass for a from-scratch search: nudge it to commit the rare pieces early, where they're needed. It doesn't raise the ceiling; it makes the search reliably reach the top of its own range.

- Canonical page (with interactive figures/demos): https://eternity2.dev/research/lab/experiments/raphael-anjou/learning/lodestone/
- Updated: 2026-07-21
- Topics: construction, search-space, learning
- Reproduce: `just research-record-boards`
- Source: Rare-colour geography (this project): where the scarce (N,W) demands live — https://github.com/raphael-anjou/eternity2/blob/main/web/content/research/why/rare-color-geography.mdx

---
[KEYRING](/research/lab/experiments/raphael-anjou/learning/keyring) added signals;
LODESTONE, the third experiment in the
[study](/research/lab/experiments/raphael-anjou/learning), pares back to a single
deliberately faint one, and in doing so exposes the knife-edge every learned
signal here balances on. The strong boards quietly agree on something: as the
score rises, they increasingly satisfy a particular set of scarce demands, places
where only one or two pieces in the whole set can serve a cell's north-and-west
colours. LODESTONE asks whether telling a from-scratch search about those demands
helps it commit the right rare pieces before they're stolen.

## How it works

From the corpus of strong boards, LODESTONE builds a prior: for each piece,
how often it ends up serving one of those scarce north-west demands in a good
board, weighted up sharply for the rarest, so a piece that is the only possible
server gets the biggest boost. The beam search then ranks its candidate
placements by the usual matched-edge score plus a small multiple of this
prior, so among otherwise-equal moves it prefers to place the pieces the good
boards learned to spend early.

The crucial detail is the size of that multiple. The prior has to be a pure
tiebreaker, not part of the objective: it breaks ties between equally-matching
moves and nothing more.

> **[Figure]** Interactive: rare-colour attraction map — interactive: LodestoneRarityLab. Rendered on the canonical page (link above); not shown in this markdown export.

## The result

At a tiny weight the prior gives a small, consistent gain: across five seeds
the median from-scratch score rises from 449 to 451, and, more usefully, the
spread tightens, from a 446–451 scatter to a reliable 450–451. It makes the
constructor land at the top of its range instead of sometimes stumbling.

Turn the weight up even slightly and it collapses (422, then 380) because
chasing the corpus's scarce demands then trades directly against matching the
edge in front of you. That failure is itself the finding: scarcity is a real
signal for *which* piece to prefer, but a weak one, and only safe as a
tiebreaker. LODESTONE is modest about its size: it improves construction
quality and consistency by a couple of edges, and does not touch the basin
ceiling that stops every method near the top.

## Method

The signal comes first, then the deliberately-tiny way it is used.

**The measurement.** A *scarce demand* is a cell whose north-and-west colours
can be served by only one or two pieces in the whole set. Over the corpus, the
count of scarce demands satisfied in at least half the boards rises
*monotonically* with score, roughly 1 → 2 → 3 → 10 as boards climb toward
458+. Strong boards don't just happen to place rare pieces well; they
increasingly satisfy the *same* scarce demands. That is a real, score-correlated
structure that no earlier constructor had wired in.

**The prior.** For each piece, weight how often it serves one of those scarce
north-west demands in a good board, boosted sharply for the rarest (a piece
that is the *only* possible server gets the biggest weight). The beam ranks
candidates by the usual matched-edge gain plus a small multiple of this weight.

**The knob is the whole story.** The multiple must be a pure *tiebreaker*:
it decides between equally-matching moves and nothing else. At a tiny weight:
median from-scratch score 449 → 451 across five seeds, and the spread tightens
from 446–451 to a reliable 450–451. Nudge the weight up and it collapses (422,
then 380), because chasing scarce demands then trades directly against matching
the edge in front of you. The collapse *is* the result: scarcity says *which*
piece to prefer, but weakly, safe only as a tiebreak.

## Reproduce

Seeded; the reproducible artifact here is the tiebreak *effect* (a tighter
spread and a +2 median across five seeds), not a single board. The engine is the
shared beam producer;
the change this page describes is a faint scarce-piece-early tiebreak. That
tiebreak weight is derived from the piece set and a corpus, so the run is not
reproduced from scratch here.

## Open questions

Could the prior be made position-aware without becoming part of the objective,
strong only in the regions where scarce demands actually concentrate? Does
combining it with KEYRING's three signals add a fourth useful vote, or just
more noise? And is the consistency gain worth more than the median gain, given
that a tighter search is easier to build a ladder on?

## Related

- [Corpus priors](https://eternity2.dev/research/build/learning/corpus-priors) — The simplest way to learn from strong boards: count where each piece tends to sit, or how often it serves a scarce demand, and use that count as a gentle tiebreak in construction. It has to stay a tiebreak; the moment it becomes part of the objective it collapses the search.
- [When learning collapses](https://eternity2.dev/research/build/learning/when-learning-collapses) — The sobering half of learning from strong boards. A learned signal reaches the top of a search's own range reliably, and then stops. Over-trust it and the search collapses; even used perfectly it does not raise the ceiling, because the ceiling is not a thing the corpus knows.
- [Learning from strong boards](https://eternity2.dev/research/lab/experiments/raphael-anjou/learning) — A study in five experiments of one idea: instead of searching Eternity II from first principles, mine the corpus of strong boards already found for structure and feed it back into a search. A position prior, a learned move-vote, a scarce-demand compass, an anti-pattern miner, and a record decode, ordered from the simplest signal to the subtlest, and the one wall all five reach.
- [Piece theft, where solvers die](https://eternity2.dev/research/why/piece-theft) — A solver fills a few rows for free, then hits a wall in the middle of the board. Here's the mechanism: a scarce piece spent in the wrong place, rows ago.
- [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.
- [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.
- [The rare colors live on the frame](https://eternity2.dev/research/why/rare-color-geography) — Five of Eternity II's 22 colors appear only along the border ring, each on exactly 24 edges, never once in the interior. A structural split that shapes how every solver treats the frame.
