DEV Community

SEN LLC
SEN LLC

Posted on

Kurotto: the puzzle with no global rule — and the first crack in the probe-equals-uniqueness law

Kurotto in the browser with four rule sets inside. Some cells of
an n×n grid carry a circled number and are never shaded. Shade any of
the remaining cells so that each circled number equals the total size
of the shaded blocks
— orthogonally connected groups — sharing an
edge with that circle
. That is the whole rule book. Puzzle #37 in the
solver series.

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

Kurotto

I picked this puzzle because it has no global rule at all.

The legal boards are… all of them

Strip the circles away and ask what a finished board can look like:
anything. No connectivity rule, no 2×2 ban, no border rule. All 16
shadings of the 2×2 board are valid, all 512 of the 3×3 — checked
exhaustively. The configuration space is the full hypercube, 2^(n²)
boards.

This series has spent entries hunting bijections between legal boards and
samplable objects — Yin-Yang's ridge paths, Cave's lattice cycles. Kurotto
is the degenerate end of the hunt: the bijection is the identity, and a
uniform sample is n² coin flips. The generator needs no theorem.

In exchange, everything the earlier puzzles got for free from
connectivity theorems, Kurotto must buy with arithmetic alone — and the
only global force left in the puzzle is the demand that the answer be
unique
.

Four rungs — but not four theorems

A circle's clue is bracketed by two flood fills. The floor: the shaded
cells already attached to it. The ceiling: everything still reachable
through non-white cells (its potential region). The floor only rises,
the ceiling only falls.

level rule
sum clue at the ceiling → the whole potential region shades; clue at the floor → the frontier seals white (a 0-clue is this with an empty floor)
door a circle below its clue must grow, and every growth shades a frontier cell; one frontier cell means a forced shade
echo assume one color on one cell, re-run every circle's floor/ceiling arithmetic, drop the assumption if some clue falls out of its bracket
probe assume one color on one cell, run the rules below to a fixpoint, drop the assumption on contradiction

Unlike the earlier ladders these are not four different theorems — they
are one theorem probed harder: the same two floods read directly, at
the frontier, under a hypothesis, under a propagated hypothesis. The
ablation table makes this brutally visible.

The law breaks

Measured on 300 raw generator boards per size (circle density 0.8 over the
white cells, unfiltered — fraction finished by the fixpoint alone, no
guessing):

board sum +door +echo +probe unique answers in the raw stream
6×6 21.7% 48.7% 56.3% 62.0% 63.3%
8×8 10.7% 33.0% 43.0% 52.0% 52.7%
10×10 2.0% 21.7% 33.0% 42.0% 42.3%

In every earlier puzzle of this series, the probe column equaled the
uniqueness column at every size: a sound fixpoint can't decide a cell two
answers disagree on, so uniqueness is a ceiling — and the ladder always
sat exactly on it.

Kurotto is the first puzzle where it doesn't. 4 of the 190 unique 6×6
boards, 2 of 158 at 8×8, 1 of 127 at 10×10 are unique — yet no chain of
single-cell assumptions finishes them. Confirmed independently: a brute
force that shares no code with the ladder (pruned only by the definitional
floor/ceiling restatement, every leaf scored by a standalone validator)
counts exactly one solution on each gap board, in 906–3,078 nodes
(tools/gapcheck.mts).

Why here? Because block arithmetic can hold two reshuffling ambiguities
in superposition: every single cell survives both hypotheses alone,
and only a pair of assumptions dies. The uniqueness proof lives outside
the world a one-cell probe can see.

Ablation: remove anything, nothing happens

board full −sum −door −echo
6×6 62.0% 61.7% 62.0% 61.7%
8×8 52.0% 52.0% 52.0% 50.7%
10×10 42.0% 42.0% 42.0% 39.0%

In Cave, removing the one clue-reading rule collapsed everything to 0.0%.
Kurotto has no "only rule that reads the clues" — every rung reads the
same arithmetic
, so every rung below probe is nearly redundant against
the rest. Fifth entry in a row with redundant-but-not-useless rules, but
this time it's not one rule — it's the ladder's whole lower half shadowing
itself. The rungs still earn their keep: they define genuine difficulty
grades in the shipped bank, and they are the deductions a human actually
makes, in that order.

Where the ambiguity lives — the oracle needed three certificates

A circle can only speak about its potential region. A free cell outside
every region is a free second solution before a single deduction is made —
so uniqueness first demands full coverage. Then two assassins remain:
silent flips (one cell whose lone flip changes no sum) and — new in
this puzzle — silent pair flips: two cells whose joint flip reshuffles
blocks without any circle noticing.

The uniqueness oracle behind every table reads all three certificates
straight off the drawn solution before it ever searches; only the
nearly-unique survivors go to the counting search. Before the pair-flip
check existed, naive counting stalled for minutes per board — the
measuring instrument itself had to learn the puzzle's ambiguity
structure
. Guess-cap overflows across all sections: zero.

Circle density sweep at 10×10, 150 raw boards per point:

density unique no-silent-flip ceiling echo-solved sum-solved
0.30 0.0% 4.7% 0.0% 0.0%
0.42 0.0% 18.0% 0.0% 0.0%
0.54 2.0% 49.3% 0.0% 0.0%
0.66 11.3% 79.3% 5.3% 0.0%
0.78 36.0% 90.0% 28.0% 0.7%
0.90 67.3% 100.0% 60.7% 20.0%

Two honest surprises. The coverage ceiling never binds: even at
density 0.30, all 150 boards were fully covered — empty-board floods
reach nearly everything, so the "cell no circle can see" assassin only
appears in far cornerier regimes than a random stream produces. And where
Cave's uniqueness hugged its flip ceiling all the way up, Kurotto's
crawls far below it
: at density 0.54 the single-flip ceiling allows
49.3% and reality delivers 2.0%. Kurotto's ambiguity is dominated by
multi-cell block reshuffles — the same structure that broke the
probe-equals-uniqueness law. In the series' coordinate system, Kurotto is
Yin-Yang's kind of hunger, taken to the extreme.

Search effort to certify uniqueness

On boards that pass all three certificates (100 per size):

board rule set median guesses mean
6×6 sum 4 29.7
6×6 door 0 8.3
6×6 echo 0 3.1
6×6 probe 0 0.5
10×10 echo 0 2.3
10×10 probe 0 0.0

Once echo propagates, proving uniqueness is barely a search at all — a
median of 0 guesses at 10×10. The weak levels' searches explode with the
free-cell count past 6×6, so they never see the larger stream. The
shipped bank pins a 10×10 board with a median of 27–35 circles, where a
random reveal needs ~48 (density 0.84 over the white cells) for a
coin-flip's chance.

Verification

  • Solution counts. Brute force vs propagating search at each of the four rule levels, on every board where the brute force is feasible: 520/520 (board, level) pairs agree.
  • Exhaustive anchors. 16/16 shadings of the circle-free 2×2 validate, 512/512 of the 3×3 — there really is no hidden rule. A hand-enumerated corner circle splits its 8 completions 2/2/3/1 by sum; the brute force reproduces it.
  • The gap. Every probe-stuck unique board behind the headline claim is re-counted by the brute force.

All 26 tests: npm test.

Play it

The Hint button fills in the first cell the selected level can prove, one
deduction at a time. Every shaded block of two or more wears its current
size in the corner — the number a Kurotto player keeps recounting.
Circles turn green when exactly satisfied and sealed, red when they can no
longer be met.

Next up: another puzzle with a solver inside.


SEN LLC — software development experiments, shipped in public.
More: https://sen.ltd/portfolio/

Top comments (0)