Solving Scyphozoa (SE 9.1) with Multifish and Anti-UR
I like checking out the new user-submitted puzzles on sudoku.coach, and while most of the time they're nothing spectacular, I'm always
keeping an eye out for the user "h4nv" as he posts some very interesting
grids with exotic moves to find if you're creative. In this article I'll be
solving one of his recent puzzles.
.................2..6.4278........2...4..58....2.8756.....7..5..27..941..85.6427.
- Play on sudoku.coach
Sudoku.coach rates this puzzle "Almost Impossible", indicating its solver
was unable to complete it, but the puzzle still has a unique solution. This
is what you typically expect to see from SE 10-11 puzzles, so 9.1 is
comparatively low - interesting.
The solve begins with some singles on 2s, then (unsurprisingly if you
Google the puzzle's name), a Jellyfish on 1s.
(1)c3567/r1247 => r1c249, r2c124, r4c1249, r7c12<>1
Jellyfish is a very rare technique showing up in fewer than 1/1000 random
puzzles. The structure of the givens of this puzzle - particularly the
nearly-empty columns 1249, and the fact there's only one 1 present - cause
it to appear. You may also notice there's only one 9, and 3 doesn't appear
anywhere in the grid. These digits have near-miss Jellyfish in the same
columns albeit within too many rows to be proper Jellyfish.
Let's go over the Fish logic to see if we can salvage these near-miss
Jellyfish. In a previous article I've given an intuitive explanation of a technique called
Multifish by counting the occurrences of digits in a set of rows and
showing that these candidates occupy the maximum possible count of positions
in the columns. Here I'll give a more general definition using
Fish logic.
Fish are defined by their base sets and their cover sets. In the Jellyfish
above, there are 4 base sets: the 1s in columns 3, 5, 6, 7. These base sets
must not be overlapping - no pair of base sets may contain
the same candidate.
These sets, or "Truths" as they're sometimes known, are defined as a
collection of candidates where exactly one of them must be true. We can
derive them from the rules of Sudoku: every digit must be present exactly once in each
region, no more, no less. So all the 1s in row 1 form a set, as do the 3s in
column 7, the 5s in box 2, etc.
Our goal is to choose 4 regions that contain all of the candidates from the
base sets. If we can do this, we know that these cover sets are completely
filled by the base sets, so all non-base candidates can be removed from the
cover sets. In the Jellyfish above these cover sets are the 1s in rows 1, 2,
4, 7.
All 1s within the base sets (blue) are contained within the cover sets
(purple), so conversely all 1s within the cover sets must be contained
within the base sets
This however isn't very useful for our situation: candidates with differing
digits cannot interact with each other so overlaying the Jellyfish on digits
1, 3 and 9 won't offer any more than the individual Jellyfish can achieve on
their own.
The second rule of Sudoku, often forgotten but equally as important, states
that every cell must contain exactly 1 digit, no more, no less. This means
we can use cells as regions for our base & cover sets, which is the
final piece of foundation I needed to establish before we can get back to
solving the puzzle.
From now on I'm going to be colouring all the uncovered candidates within a
base set blue, and candidates covered by a cover set will be coloured in
purple. Our goal is to define N base sets and N cover sets such that there
are no uncovered candidates.
Let's start with the base sets as digits 1, 3, 9 in columns 3, 5, 6,
7.
139c3, 139c5, 13c6, 139c7, 11 base sets because c6 already has a
9
The naïve approach is to cover all these candidates with row cover
sets, let's try it.
13 cover sets: 139r1, 139r2, 139r4, 139r7, 3r8
13 cover sets for 11 base sets is 2 too many but there are tricks to lower
it. If I add the two base sets 3c8 and 3c9, most of their candidates are
already covered by the existing row cover sets. The exceptions are 3r5c8 and
9r5c8, but these are in the same cell, so add this cell as a cover set. I'll
colour cell cover sets in yellow.
13 base sets: 139c3, 139c5, 13c6, 139c7, 39c8
14 cover sets: 139r1, 139r2, 139r4, 139r7, 3r8 + r5c8
See, adding 2 base sets but only 1 cover set brought us one step closer to
our goal of N base sets and N cover sets. While it would be ideal if we
could pull this trick a second time, there are no viable options so it's
time to fiddle with our existing cover sets. Notice how we use 4 different
cover sets to cover the candidates in rows 7 & 8. The candidates are
within 4 cells so we can replace these row cover sets with cell cover sets
at no loss or gain.
13 base sets: 139c3, 139c5, 13c6, 139c7, 39c8
14 cover sets: 139r1, 139r2, 139r4 + r5c8, r7c367, r8c5
At this point you should be able to use AIC to prove that two of these
yellow cells cannot be occupied by the base candidates at once. I'll leave
that as an exercise for the reader and continue with the base/cover
sets.
Wouldn't it be great if we could add 2 base sets and 1 cover set like
before...? Yeah that's exactly what we can do. We can add 58b8 to our base
sets (5 & 8 in box 8). Most of their candidates are already covered by
the cover sets r7c6 & r8c5, the rest are all contained within r8c4 so
add that as a cover set, and we have our final Multifish.
15 base sets: 139c3, 139c5, 13c6, 139c7, 39c8, 58b8
15 cover sets: 139r1, 139r2, 139r4 + r5c8, r7c367, r8c45
All candidates of the N base sets are contained within the N cover
sets, so conversely all candidates of the cover sets must be contained
within the base sets. This allows us to eliminate all non-base candidates
from the cover sets.
r1c249<>39, r2c124<>39, r4c1249<>39, r7c7<>6,
r8c4<>3
If your head is spinning from reading "base set" and "cover set" so many
times, I'm sorry, the fishing isn't done yet - there's 1 more move I need to
get out of the way. Then we're done with Fish, I promise.
So far we've only been considering Fish with an equal amount of base sets
and cover sets. These Fish have the simple elimination rule that all
non-base candidates may be removed from the cover sets.
If there are N base sets and N+1 cover sets however, eliminations are still
possible, provided a non-base candidate is contained within 2 overlapping
cover sets. The same goes for N+2 cover sets requiring 3 overlapping cover
sets, N+3 requiring 4, and so on.
(9)r124b9/c357b3c9 => r3c9<>9
4 base sets, 5 cover sets (not coloured in the diagram). 9r3c9 is contained
within the overlap between the two cover sets 9b3 and 9c9 so it can be
eliminated.
The next step brings a change of pace as it uses some novel Uniqueness
logic. You are most likely familiar with Uniqueness techniques already but
the basic gist of it is that if you can prove that a pattern of candidates
can only be solved in such a way that its digits can be permuted without
affecting the rest of the solution, then the pattern is "deadly" and can
only be present in a grid with multiple solutions.
It's generally assumed that any competent puzzle setter will ensure the
grid has a single solution. If this is the case, eliminating candidates can
only ever reduce the possibilities, not increase them - so there will only
ever be 1 solution, or 0 solutions if you make a mistake and eliminate too
many candidates. It's not possible for the grid to go from 1 solution to 2.
Therefore, if you eliminate candidates and a deadly pattern becomes present
in the solution, you have made a mistake.
Consider what would happen if a puzzle contained two empty rows within the
same band.
Rows 1 & 2 here are empty. Any potential solution which you could enter
into these rows would be non-unique because the rows can be freely swapped
and nothing else in the grid would be affected by this operation. Therefore,
row 1 & 2 cannot both be empty in a puzzle with a unique solution.
Now consider this scenario.
Rows 1 & 2 have four given digits, the purple square of 12/21. While
this puzzle satisfies the requirement that rows 1 & 2 cannot both be
empty, it's still not uniquely solvable, because the 1s and 2s are isolated
from all other digits. However you solved the digits 3456789 in these rows,
you'd be able to swap them freely, so any puzzle containing this division
between solved & unsolved digits in 2 rows cannot be unique.
I don't know if this phenomenon has a name yet but I've been calling it
"Anti-UR". I've only ever seen it on Baidu in a thread about Shufen UR, a topic for another day. It's not a Shufen UR though, as far as I can
tell...
It's an "Anti-UR" because it forces the opposite cells to form a huge
extended UR.
The technique can be applied to the puzzle being solved today.
If r2c1 were 5 it'd create an Anti-UR and force the remaining cells in rows
1 & 2 to become a huge deadly pattern, so r2c1 cannot be 5.
This article has gotten rather long so it's time to wrap things up. I lied
about there being no more Fish, there's one more to exploit. This time it's
a Kraken Fish.
(3)r3c9 = r3568/c124b68 - (3=1)r9c4 - r9c1 = r7c3 - r12c3 = (1)r3c12 =>
r3c9<>1
The Kraken Jellyfish (3)r3568/c124b68 is almost valid save for an extra 3 being in r3c9. It would
eliminate (3)r9c4 if valid, as that is the only candidate contained within 2
overlapping cover sets.
We can declare a strong inference between the extra candidate and the Fish
which would be valid if this candidate was false. This resulting AIC proves
a strong inference between (1)r3c12 and (3)r3c9, so at least one must be
true - both would eliminate (1)r3c9 so it can be safely eliminated.
After this the puzzle solves with singles.
I'll definitely be posting more h4nv puzzles to this blog in the future,
they have such delicious tricks to them. This solve ended up being very
fish-heavy, but that's ok, at the end of the day everything is a Fish.
Comments
Post a Comment