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

Popular posts from this blog

Solving Loki (11.9) with Oddagons

Solving "Impossible #1" with DoF>1 AIC