DEV Community

SEN LLC
SEN LLC

Posted on

Nurimisaki: clue positions the setter never chooses — and half the information lives in the blank cells

Nurimisaki in the browser with four rule sets inside. Shade some
cells of an n×n grid: the white cells form one connected region, no 2×2
is all white or all black, and a white cell with exactly one white
neighbor is a cape — with the circled cells being exactly the
capes. A number counts the white cells of the straight run leaving its
cape, circle included. Puzzle #38 in the solver series.

Demo: https://sen.ltd/portfolio/nurimisaki/
Repo: https://github.com/sen-ltd/nurimisaki

Nurimisaki

I picked this puzzle for two reasons, and both live inside the single word
exactly — the clue rule is an iff.

The blank cells are clues

If every cape must be circled, then a cell with nothing printed on it is a
promise: no cape here. Should that cell end up white, at least two of its
neighbors are white too. Part of the puzzle is written in the places where
nothing is written, and for the first time in this series I could measure
how much (spoiler: on 6×6 boards, dropping that promise from the semantics
takes unique boards from 12/60 down to 2/60 and triples the typical
solution count — roughly half the information is negative space).

The setter never places a clue

In every sibling puzzle of this series, the setter finishes a board and
then chooses where the clues go. In Nurimisaki the answer forces them:
circles sit exactly on the capes of the finished shading. Clues cannot be
added or moved — only their numbers can be removed. The board deals its
own clue budget
: about 15 capes per 100 cells at every size, with run
lengths averaging 3.0 regardless of size. The demand for information grows
with n²; the budget doesn't. That structural starvation shows up in every
table below.

The configuration space

Strip the numbers and count what a finished board can be (white connected,
no monochrome 2×2 of either color): 12 boards on 2×2, 103 on 3×3, 2,286 on
4×4, by plain exhaustive loops. The white region is a skinny polyomino —
it contains no 2×2 — yet the all-black ban means it must also touch every
2×2 window: thin, but everywhere. The cape histogram comes free: of the
2,286 4×4 boards, 14 have no cape at all (white loops and lone dots), 48
have exactly one (a loop with a tail), and 3 capes is the mode. The two
capeless 3×3 boards — a single center dot, and the ring around it — are
precisely the solutions of the empty puzzle, because a puzzle with no
circles bans capes everywhere.

Four rule sets

level rule
cape the iff, both halves: enumerate which neighbor of a circle is its single white one (numbered runs lay out their cells and terminator), force what every viable direction agrees on; blank cells must keep two reachable white neighbors or go black
window no monochrome 2×2, either color: three-of-a-kind turns the fourth. A printed rule here — in the siblings the 2×2 pattern was connectivity's emergent shadow
bridge white connectivity made local with one articulation-point DFS: pockets can't be white, bridges must be. The black cells owe nothing — this rule has no black half
probe assume a color on one cell, run the rules below to a fixpoint, drop what contradicts

The law returns — and the uniqueness cliff

300 raw boards per size, every cape numbered (density 1.0 is the natural
baseline: the circle set is forced, numbers are the only dial there is).
Fraction finished by the fixpoint alone:

board cape +window +bridge +probe unique in the raw stream
6×6 1.0% 4.0% 14.0% 24.3% 24.3%
8×8 0.3% 0.3% 3.0% 7.0% 7.0%
10×10 0.0% 0.0% 0.7% 1.3% 1.3%

Two things stare back. Probe equals uniqueness at every size — the law
that Kurotto broke last time holds again. Kurotto's ambiguity lived in
paired-cell block rearrangements invisible to single-cell probing;
Nurimisaki's window and connectivity rules apparently drag that kind of
superposition back into a one-cell probe's field of view.

And the uniqueness column is a cliff. Print every number the board can
carry
and still only 1.3% of 10×10 boards have one answer. The siblings
could always turn the density dial up to 100%-unique territory. Nurimisaki
has no dial left to turn.

Ablation: zero redundancy, a series first

Full ladder minus one rule; the last column keeps every printed rule and
drops only the blank cells' no-cape promise from the propagator:

board full −cape −window −bridge −blank promise
6×6 24.3% 0.0% 6.0% 9.3% 7.7%
8×8 7.0% 0.0% 0.3% 0.7% 1.7%
10×10 1.3% 0.0% 0.0% 0.0% 0.0%

Removing cape collapses everything — the only rule that reads a clue,
same as Cave's −count. But look at the 10×10 row: removing any single
rule collapses the ladder to 0.0%
. Kurotto's four rungs were one theorem
poked four ways — you could delete three of them for free. Cave's corner
rule was bridge's perfect shadow. After five straight
redundant-but-not-useless findings, this is the series' first puzzle with
no redundancy at all: four different theorems, all load-bearing at once,
because the boards are too starved to afford spares.

The dial that never reaches

8×8, 150 raw boards per density point, thinning only the numbers:

density unique probe-solved bridge-solved mean numbers
0.00 0.0% 0.0% 0.0% 0.0
0.50 1.3% 1.3% 0.0% 4.4
1.00 5.3% 5.3% 3.3% 9.3

Probe = unique holds at every point of the dial, and the top of the dial
is 5.3%. Circles alone (density 0) never pinned an 8×8 board in 150 tries —
but small boards manage it almost: the shipped 5×5 probe-grade boards keep
a median of 1 number on their 4 circles. There are boards whose cape
geometry nearly names the answer.

A bank you fish for, not thin down

The siblings generate banks by thinning a generous reveal. Nurimisaki's
full reveal is often not even unique — my test fixtures pin two hand-drawn
boards whose fully numbered puzzles have 4 and 6 solutions, certified by
brute force. So the generator fishes the raw stream for the rare unique
boards, then removes numbers adversarially. A 10×10 probe-grade board
keeps a median of 6 numbers on 17 circles.

The grade lineup is dealt by the board too: past 6×6, cape-graded and
window-graded boards stop existing — zero found in thousands of
attempts. The UI greys out the difficulties your chosen size cannot
produce. Certifying uniqueness takes a median of 6 guesses at 10×10 with
the full ladder propagating; the connectivity-free rungs already explode
at 6×6 (mean 139.5 guesses for cape alone).

Verification

  • A brute force sharing no code with the ladder — DFS over free cells, pruned only by restatements of the printed rules, leaves scored by a standalone validator — agrees with the propagating search at all four levels on every board it can reach: 560/560 (board, level) pairs, plus 120/120 for the variant engines with the blank-cell promise dropped.
  • Exhaustive anchors: 12 / 103 / 2,286 circle-free configurations at 2×2 / 3×3 / 4×4, of which 4 / 2 / 14 are capeless — and those capeless boards are exactly what every engine returns as the solutions of the empty puzzle.
  • Uniqueness is never inferred from solvability: every shipped board is re-checked by the searching engine.

All 40 tests: npm test. TypeScript + Vite, no runtime dependencies.

Takeaways

  • An iff clue rule makes silence informative: the no-cape promise of blank cells carries roughly half the puzzle's information.
  • Forced clue positions cap the clue budget at ~15 capes per 100 cells — the most information-starved puzzle in the series (1.3% unique at 10×10 with every number printed).
  • The probe-equals-uniqueness law is back — and ablation redundancy hit zero for the first time: at 10×10, every rule is a single point of failure.
  • Difficulty grades are dealt, not designed: no cape- or window-grade boards exist past 6×6.

Repo: https://github.com/sen-ltd/nurimisaki

Top comments (0)