Technical transparency · research snapshot

Inside the Eternity II five-clue solver

What the distributed engine actually searches, which pruning techniques are active, what our home-grown “615” technique really does, and which experiments failed. No mystery speed-up and no hidden claim of exhaustive search.

Unlinked preview — 30 August 2026. This page is deliberately absent from the public navigation while its wording and evidence are reviewed.
256unique pieces on a 16 × 16 board
480internal adjacencies in the score
465current best: 15 mismatches
466next target: 14 mismatches

The problem we are solving

We search the official version with all five fixed clue pieces. A board receives one point for each matching internal edge. The solver must place every piece exactly once, in one orientation, while respecting the border and clues.

Official board coordinates

208255139181249
208 @ (2,2), rot 3 · 255 @ (2,13), rot 3
139 @ (8,7), rot 2
181 @ (13,2), rot 3 · 249 @ (13,13), rot 0

Internal 90° clockwise search frame

181208139249255
181 @ (2,2), rot 0 · 208 @ (2,13), rot 0
139 @ (7,7), rot 3
249 @ (13,2), rot 1 · 255 @ (13,13), rot 0

Coordinates shown above are zero-based, exactly as stored in the solver assets. For ordinary one-based reading, add 1 to row and column. Every harvested board is inverse-rotated by 270° before official validation and publication.

Why we do not simply enumerate everything

  • The raw arrangement space is astronomically larger than the number of distributed tickets.
  • A ticket is a reproducible slice of the search, not a promise that the slice will be exhausted.
  • Production tickets are capped at 2 billion DFS nodes. The current corpus shows virtually all of them hit that cap.
  • The practical problem is therefore allocation: spend finite compute on branches with the best measured chance of reaching 463–466.

From a ticket to a validated board

The public apps are thin native workers. Cloudflare coordinates unique work; the CPU does the expensive search locally.

01

Campaign

A root family and a unique sharded ticket are assigned.

02

Integrity

Solver, pieces, clues, roots and ledger are SHA-256 checked.

03

Native DFS

Optimised lookup tables generate only edge-compatible candidates.

04

Pruning

Mismatch budget, clues, MRV demand and proven lower bounds cut branches.

05

Exact tail

Promising deep states receive progressively larger rewind budgets.

06

Validate

Boards ≥463 are independently checked, canonicalised and credited once.

What is active in production

The production configuration is intentionally conservative: only sound cuts and measured search policies are promoted.

Active

Blackwood-style candidate tables

Precomputed lists indexed by the two already-constrained edge colours and mismatch count. This removes most candidate scanning from the hot loop.

Active

Five-clue fixed ordering

A clue-aware cell order and forced root families expose constraints early while keeping the search reproducible.

Active

Three-colour prioritisation

Three empirically useful colours are quota-ramped by depth. It changes candidate order, not correctness.

Active

Progressive break release

The allowed mismatch budget is released at depths 192, 197, 201, 206, 211, 216, 221, 225, 229, 233, 237, 241, 246 and 250.

Active

MRV demand + NCON2 direct

Incremental remaining-demand checks and a direct two-constraint lookup reduce late candidate work.

Active

Exact endgame ladder

Deep near-record states trigger probes and rewinds: 1B nodes from depth 236, 6B from 230, 64B from 224, and 80B from 216 as the score gap narrows.

Active

Campaign root portfolio

A remotely reloadable allowlist controls which legal 3×3 roots receive work. The separate shallow selector is research evidence (AUC ≈0.70), used as a soft allocation clue rather than a hard pruning gate.

Active

Distributed ledger

Completed ticket identities are never reassigned. A physical board may be reached by different paths, but canonical SHA deduplication publishes and credits it only once.

Production configuration snapshot

This is the concrete search recipe launched by the current Windows and Linux workers. It is shown as behaviour rather than as a copy-paste command, because paths and thread counts vary by machine.

ComponentProduction valuePurpose
Instance256pieces.txt + hints_rot90.txtFive official clues, searched in the verified 90° frame
Rootssurv2.txt + remotely reloadable allowlistChoose legal 3×3 campaign territory without rebuilding the app
Distribution4096 shards + per-ticket jitter 3M–100MSeparate machines and diversify candidate ordering
Main cap2,000,000,000 nodes per ticketBound each reproducible slice before moving to another ticket
Endgameprobe 4; exact 244:50MSpend exact work only after a promising deep prefix
Rewind laddergap4 r236 1B · gap3 r230 6B · gap2 r224 64B · gap1 r216 80BEscalate work as a board approaches 466
Paritysigma-tail ON · sigma-main OFFUse LBσ where it pays; avoid its hot-loop overhead
Candidate workNCON2 direct · MRV demand incrementalReduce late candidate generation and demand recomputation
Break schedulerelease depths 192…250; ring-breaks 236Keep early prefixes clean and spend mismatches late
Harvestsave and upload every independently valid score ≥463Preserve useful discoveries while continuing the ticket
Accountingtourney + ticket log + completed ledgerMeasure depth/yield and avoid reassignment of finished tickets

The home-grown “615” technique

This project designed and implemented a residual colour-parity lower bound, called LBσ. The underlying parity mathematics is general; its constant-time representation and placement in this five-clue solver are our own engineering.

Sound lower bound
LBσ = ⌈ popcount(oddMask) / 2 ⌉

As free edges disappear, the engine tracks which of the 22 internal colours have odd residual demand. One future mismatch can repair at most two odd colours. If mismatches already spent plus LBσ exceeds the target budget, the branch is impossible and can be cut immediately.

Soundness: it cannot discard a valid board within the selected mismatch budget.

deep stateodd residual demand×LBσ proves impossible
Main DFS

Almost all nodes are reached before the bound becomes informative.

615–677×

node reduction in isolated r230/r236 tail benchmarks

Important: the complete solver is not 615× faster. The famous number measures only the isolated endgame subtree: r230 fell from 4,513,384 nodes to 7,340 (615×), with 677× at r236. In measured full workloads that tail represented roughly 0.001%–2.44% of nodes, so the end-to-end gain can be small. The broader “sigma-main” variant cut about 2% locally but produced no useful global speed-up and remains disabled.

What the data says about today’s search

437,931 real tickets audited

100%

hit the 2-billion-node cap; none exhausted its full assigned subtree in this ticket-log corpus.

  • Median maximum depth: 243
  • 88.1% reached at least depth 240
  • 84.4% stopped at exactly depth 243

Interpretation

This is not evidence that the solver is broken. It shows a heavy endgame sink: many branches get very deep, yet the last placements remain combinatorially expensive. It also means nodes/second alone is insufficient; a useful improvement must increase deep-board yield per unit of time.

Finds are harvested through a separate validation channel, so “zero completions” in this ticket-log sample does not mean the project found zero boards.

Territory and allocation findings

The probability of a high score is strongly non-stationary. Where the engine searches has mattered at least as much as small changes to how it searches.

Observed

The 465 burst

All 11 canonical 465s in the audited timeline arrived between 11 and 21 August. Before that window, 36 new 464s produced no 465; after it, another 92 new 464s also produced no 465. This supports a fertile-territory burst, not a stable “one 465 per N 464s” rate.

Pipeline healthy

Not a 465 upload filter

463, 464 and 465 use the same harvest, validation and upload path. Continued 464 flow after the drought is strong evidence against a score-465-specific detection failure.

Historical bias

Root coverage

An earlier audit found only 247 of 3,029 candidate roots receiving deep work (8.2%, Gini 0.54). This motivated wider root portfolios and hot-reloadable campaigns without replaying completed global tickets.

Rejected

Root motif clustering

Adding frontier-family motifs to the stable shallow score changed AUC only from 0.710 to 0.716: ΔAUC +0.006, 95% CI [−0.004,+0.017]. The apparent 0.97 result disappeared when related roots were kept in the same holdout group.

Experiment ledger — including the failures

A technique is not promoted because it sounds clever. We require soundness, replay integrity and a net gain on representative search states.

Kept LBσ tail parity

Residual odd-colour lower bound in tight endgames.

615–677× fewer nodes in isolated tail trees; limited global exposure.
Kept Root selector

Shallow statistics prioritise historically fertile root families.

AUC 0.698; 4.0× enrichment in the top allocation quintile.
Rejected Hall / Régin

All-different feasibility and matching checks.

Failures around 0.0036%; check cost exceeded saved branching.
Rejected Frontier matching

Matching feasibility on selected hot frontiers.

Real cuts, but only 2.36% weighted exposure; net negative.
Rejected Hungarian assignment LB

Minimum assignment cost as a stronger bound.

About 34 µs per check — roughly 10 node costs; 7–11× slower overall.
Rejected Pair / region packing

Conflict and capacity bounds on small remaining regions.

Sound conditional cuts, but measured subtrees were too small to repay the check.
Rejected Generalised parity

Global deficits, GF(q), broader sigma and colour conservation.

Global invariant was zero; no cuts for nfree ≥15 in the 74% dominant workload.
Rejected 2×2 macros / PDB

Corollas, local pattern databases and proof-learning reuse.

Insufficient recurring structure; memory/check overhead dominated.
Not mainline SAT / MILP / CP-SAT

Alternative exact formulations.

Useful for proofs and small windows, not competitive for global q14 traversal.
Not mainline GPU DFS

Massively parallel search and record-neighbour climbs.

Useful historically for local/exact climbs; divergence made general q14 DFS slower.
Rejected Local search / LNS / GA

Improve known high-scoring boards by neighbourhood moves.

Known boards behaved as local optima; no robust route to 466.
Testing CPU specialisation

AVX2/x86-64-v3 and AVX-512/x86-64-v4 builds.

Current public binary is generic x86-64; gain is uncertain because the hot loop is branch-heavy.
Testing Dynamic colour trio

Choose Blackwood priority colours and quotas per root family.

Promotion gate: at least 1.20× deep-board yield, not merely more nodes/s.

Expanded research registry

The summary above is not the whole history. The registry below records the other major measured experiments, including optimisations, allocation work, failed cuts, alternative search architectures and results that were positive only in a narrow regime.

A. Deployed engine and measured speed work

Active DEEP-LEAN + PGO

Compile out production-disabled branches, then profile-guide the real hot path.

DEEP-LEAN: +20% at 24 threads, +33% at one thread. Combined with PGO: +27.6% at 24 threads, with an identical choice fingerprint.
Active bundle Tail fast path

Free-piece list, pre-rotated faces, placement bitmap and thread-local telemetry counters.

1.41× × 1.53× × 1.44× ≈3.1× in pure-tail microbenchmarks. Honest observed gain was about 1.087× at 8 threads in the measured full context, not 3.1× globally.
Active Exact endgame ladder

Probe at 244, then rewind at 236/230/224/216 as the score gap tightens.

The mechanism behind the historical 465 finds. Budgets are 1B, 6B, 64B and 80B nodes for gaps 4, 3, 2 and 1.
Active Native hot loop

Blackwood two-edge tables, fixed clue-aware order, three-colour HSC, NCON2 direct and incremental MRV demand.

These are the low-cost operations in every production ticket. Candidate ordering changes exploration priority, never board validity.
Active Integrity and uniqueness

SHA-256 assets, 4096-way sharding, completed-ticket ledger, harvest validation and canonical board deduplication.

A completed global ticket is not reassigned; a physical grid is published and credited only once, to its first verified discoverer.

B. Positive signals whose 465/466 value remains limited or unproved

Measured Shallow root selector

Millions of short attempts estimate which legal 3×3 roots tend to penetrate deeply.

Honest holdout AUC 0.66–0.70; lift@top20 ≈1.6×. 80.6% of 36 known fertile-464 roots lay in the top 20% (4.0× density), but this is a soft allocator, not proof of 465 fertility.
Measured Fertility sorting

Prioritise roots that historically produced useful boards.

About +15% in an earlier campaign. Temporal transfer was weak, so a hard exclusion policy was rejected.
Not promoted LBdemSigma gate

A demand-plus-parity bound called only behind a cheap trigger.

+4.6% in the selected tail benchmark, estimated ≈0.28% globally. Cold-start A/B often never entered its useful regime.
Not promoted Short ticket cap

250M rather than 2B nodes increases the number of independent attempts.

Four-arm test: 4.4–5.0× more tail reaches/hour and ≈2.5× more depth-244 events, but 0 harvested 463/464/465 in the short benchmark. Production remains at 2B.
Experimental fix Canonical restart order

An in-place sort made a ticket depend on the history of earlier tickets on that thread.

The same jidx reached 243 in isolation but 22 after a predecessor. Canonical reset gave 243/243/243 and was neutral (±6%) on proxies; upper-tail yield was not established.
Special regime GPU q0 wavefront

GPU exact search for the zero-break macro problem, not production q14 DFS.

Bit-exact and 6.51× end-to-end versus CPU28 in that regime. It cannot search scores 465–479 and is not a 466 production lever.

C. Sound pruning ideas that failed economically

Rejected Hall / Régin / all-different

Check whether remaining pieces can still be assigned to remaining cells.

Weighted failure rate 0.0036%. A direct Hall build slowed 664M to 522M nodes/s (0.849×).
Rejected Frontier min-cost matching

Matching and assignment lower bounds on constrained frontiers.

Real marginal cut rate ≈0.0005%; the hot frontier covered only 2.36% of weighted work. Net wall-time negative.
Rejected Hungarian / LBassign

A stronger minimum-cost assignment bound.

≈34 µs per check, roughly ten node costs; full runs were 7–11× slower.
Rejected Pair-conflict / region packing

Exact lower bounds on disjoint local regions.

Sound on 11,000 tests and 43–49% conditional would-cut, but eliminated subtrees had median ≤235 nodes (hot-loop ≈20), far below the 10,000-node economic gate.
Rejected GF(q) placement code

Finite-field conservation stronger than parity on tiny remainders.

Sound after correcting a sign bug; signal only at nfree≤14. It cut 0% for nfree≥15, representing 74% of weighted work.
Rejected Slot T-join / spatial sigma

Use geometry to strengthen the parity cost.

T-join equalled LBσ everywhere tested; free cells remained connected and supplied no extra trapped-colour cut.
Rejected Checker / tropical band

Bipartite checker and min-plus band certificates.

Sound, but checker-tail touched ≈0.001% of nodes; the r216 tropical rung fired 0 times over 795 billion nodes.
Rejected SAC-2 look-ahead

Exact two-ply singleton consistency in the only tight depth band.

0/260 incremental cuts. Median domains were 84×10 (≈880 combinations/check); all tight samples were already at depths 224–239.
Rejected Negative-fact clause #1

Turn a proved impossible perfect placement into a local break clause.

Mapping verified 256/256 and fact sound, but activation was 0/358 real prefixes (0.000%); the remaining 17 DRAT facts were not expanded.

D. Search architecture, repair and alternative solvers

Rejected Reordered fill paths

Delay defect regions or switch away from the clue-corner-first sequence.

Baseline reached depth 243; reordered variants stopped at 163–210, even when an exact known board was representable. HSC-off did not recover the loss.
Rejected Deep transposition cache

Reuse repeated frontiers or dead states.

92/92 sampled depth-230 frontiers were unique; measured cache hit rate 0%.
Rejected Proof learning / PDB cores

Store certified UNSAT local cores and reuse them elsewhere.

Cores were valid, but measured reuse was 0 on representative proxies.
Rejected 2×2 macros and corollas

Pre-solve blocks, use dirty macros or combine record boards.

P8 canary was null; CP-SAT union of 465+464+464 could not make 466; q≤16 local search found no distinct neighbouring 464.
Rejected Exact cavities / windows

CP-SAT repair around mismatch cells of known boards.

Sixteen cavity families around a 464 produced 0 hit to 465. Record boards behaved as rigid local optima.
Rejected LNS / annealing / GA

Improve complete boards through swaps, windows and crossovers.

Broad complete-board LNS plateaued around 412; targeted 463/464 runs collapsed back into known basins and gave no robust 466 path.
Rejected GPU q14 DFS

Port the actual 14-break Blackwood traversal to CUDA warps.

Soundness was bit-exact, but the representative work-stealing version was about 7,000× slower than CPU because deep DFS is serial and warp-divergent.
Rejected GPU multi-basin climb

Single, multi-parent and crossover annealing around known 463/464 boards.

Nine validated basins explored; 0 new basin and 0×465 in the controlled campaign.
Rejected Cross-basin predictors

Climbability, relational backbones, good-groups and macro lineages.

No transfer: T22 correlation 0, T23 AUC 0.51, relational holdout inverted, and macros replayed only in their birth lineage.
Not mainline SAT / MILP / full CP-SAT

Exact global formulations and proof engines.

Valuable for certificates and bounded windows; not competitive for full 16×16, 14-break production traversal.
Testing CPU specialisation

AVX2/x86-64-v3 and AVX-512/x86-64-v4 builds.

No production claim yet. The hot loop is branch-heavy; only end-to-end tests can decide.
Testing Dynamic colour trio

Select HSC priority colours and quotas per root family.

Promotion gate: at least 1.20× deep-board yield, not merely more nodes/s.

A recent null result: E555 structural features

Concentration, demand imbalance and Mahalanobis-style features were tested as possible new branch selectors. None crossed the pre-registered AUC gate of 0.73.

DepthSamplesBaselineColour concentrationDemandMahalanobis
32100.55.542.556.521
6492.60.546.544.517
9684.66.613.596.508
12882.67.540.578.500

At root depth 9, the same family was essentially random: concentration AUC .505, demand/Mahalanobis around .52, and Spearman correlation .047 (p=.34). We did not deploy it.

What we do not claim

  • We have not exhaustively searched Eternity II or every ticket.
  • We have not proved that no better pruning rule exists. Only the documented families and tested regimes are closed.
  • A higher node rate does not automatically mean a higher probability of 466.
  • Historical board counts are probabilistic outcomes, not deterministic hardware benchmarks.
  • The five clue values, campaign roots and full operational datasets are validated assets; this page explains the method without publishing contributor credentials or infrastructure secrets.

Public foundations

Our engine builds on ideas documented by the Eternity II community, especially Joshua Blackwood’s fast DFS design. “Home-grown” identifies our additional implementation and experiment, not ownership of the puzzle or of basic parity theory.