Generation research › Guide
Two-Star Generation: Unique vs Logically Solvable
In Solvedle's recorded 106-seed two-star release build, 56 attempts reached a verified unique board. Of those, 16 (28.6%) stalled under the implemented logical techniques and were excluded. That does not prove they require guessing: a stronger logical method might solve them.
This is a publication of the historical 2026-11-02 local build, not a new experiment or a sample of player performance. The build stopped once it had 40 distinct accepted boards, rather than sampling an unlimited stream of independent grids.
What happened in the 106 attempts?
| Outcome | Attempts | Interpretation |
|---|---|---|
| Unique and logically solved | 40 | Accepted into the static library |
| Unique, implemented logic stalled | 16 | Excluded; not a proof of necessary guessing |
| Generation budget reached | 45 | No accepted candidate within that attempt's limits |
| Solver budget reached | 5 | Search unresolved within budget; not accepted as unique |
The accepted fraction of all attempts was 40/106, or 37.7%. The stalled fraction among unique outcomes was 16/56, or 28.6%. These have different denominators. Neither is the probability that a uniformly random 10×10 grid is unique.
What did the logical grader actually do?
It enumerated non-touching two-star pairs for every row, column and region. Two pairs are compatible only when they agree on shared cells and no distinct stars touch. If a pair has no compatible partner in another unit, remove it. Repeating this process can force stars present in every remaining pair or empty cells present in none.
The grader does not read the intended answer or call the exact solver to choose a move. It also does not contain every possible human deduction. Its failure is a statement about this technique set, not a mathematical lower bound on human solving power. See a complete pair-comparison walkthrough.
Why did the first prototype stall?
The original 20-seed probe found five unique boards that its earlier single-unit deductions could not finish. After adding pair compatibility across units, all five could be solved. The release build reused those first 20 probe results while processing seeds 1–106. Do not add 20 to 106 as if they were disjoint samples.
This change demonstrates why “unique but unsolved by a grader” is not equivalent to “requires a guess.” Different algorithms can reach different conclusions about the same board without changing its unique answer.
Budgets and release checks
Each generation attempt allowed 1,200 region moves and a five-second cooperative time budget. Accepted candidates were rechecked with a larger exact-search budget. All ten regions had to be orthogonally connected and contain 4–18 cells.
Recorded attempt time had a median of approximately 416 ms and a maximum of approximately 5000 ms. These historical local timings include the measured attempt and its stopping conditions; they are not website response times or guarantees on another computer.
The released 40-board pool is static. Tests check row-first and transposed column-first search, final quotas and adjacency, and the logical trace. The generator can reject a seed; it does not guarantee a publishable board for an arbitrary seed.
Download the recorded outcomes
Download all 106 seed outcomes as CSV. Columns are seed, recorded status, elapsed milliseconds and reported date. The dataset omits intended answers and anonymous player data. The aggregate and attempt measurements are offered under CC BY 4.0; cite this page and its historical build date.
Methods and source: release verification notes, release builder, two-star generator, exact solver and grader. Re-running time-bounded generation can change its path and timings; the CSV preserves the recorded run.
Continue with how uniqueness is checked, how difficulty labels are assigned, or play an accepted board.