The Ultimate FISH Guide

Advanced methods and approaches for solving Sudoku puzzles

Postby ronk » Tue Nov 14, 2006 1:51 pm

Ruud wrote:Many of these fish patterns allow different interpretations. For the eliminations, only the empty cells are relevant.

Here are 2 completely different views on the same [edit: 16] empty cells:
Code: Select all
 *  X  X  | .  .  .  | X  X  *       
 *  X  X  | .  .  .  | X  X  *   
 *  X  X  | .  .  .  | X  X  *   
----------+----------+---------
 .  /  /  | .  .  .  | /  /  .         
 *  X  X  | *  *  *  | X  X  *   
 .  /  /  | .  .  .  | /  /  .         
----------+----------+---------     
 .  /  /  | .  .  .  | /  /  .         
 *  X  X  | *  *  *  | X  X  *         
 .  /  /  | .  .  .  | /  /  .
 Franken-Jelly cccc * rrbb

Code: Select all
 *  .  .  | .  .  .  | .  .  *       
 *  .  .  | .  .  .  | .  .  *   
 *  .  .  | .  .  .  | .  .  *   
----------+----------+---------
 X  /  /  | X  X  X  | /  /  X         
 *  .  .  | *  *  *  | .  .  *   
 X  /  /  | X  X  X  | /  /  X         
----------+----------+---------     
 X  /  /  | X  X  X  | /  /  X         
 *  .  .  | *  *  *  | .  .  *         
 X  /  /  | X  X  X  | /  /  X
 Franken-Jelly rrrr-ccbb

Both are 2-box Franken-Fish, I think...

There is even a third interpretation.
Code: Select all
 *  .  .  | .  .  .  | .  .  *       
 *  .  .  | .  .  .  | .  .  *   
 *  .  .  | .  .  .  | .  .  *   
----------+----------+---------
 X  /  /  | .  .  .  | /  /  X         
*X  X  X  | *  *  *  | X  X *X   
 X  /  /  | .  .  .  | /  /  X         
----------+----------+---------     
 X  /  /  | .  .  .  | /  /  X         
*X  X  X  | *  *  *  | X  X *X         
 X  /  /  | .  .  .  | /  /  X
 mutant jelly bbbb\rrcc (cannibalistic)

That all three interpretations yield the same exclusions is significant. Perhaps we'll come around to Ocean's viewpoint of months ago.

Ruud wrote:combined with ... gives us this monster:

Code: Select all
 *  X  X  | *  X  *  | X  X  *       
 *  X  X  | *  X  *  | X  X  *   
 *  X  X  | *  X  *  | X  X  *   
----------+----------+---------
 .  /  /  | .  /  .  | /  /  .         
 *  X  X  | * *X  *  | X  X  *   
 .  /  /  | .  /  .  | /  /  .         
----------+----------+---------     
 .  /  /  | .  /  .  | /  /  .         
 *  X  X  | * *X  *  | X  X  *         
 .  /  /  | .  /  .  | /  /  .
 cannibalistic Franken-Squirmbag

How is it you can have candidates at r58c5 to start with?
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Postby ronk » Tue Nov 14, 2006 2:41 pm

Havard wrote:The original Franken Fish had two boxes in the covering unit, and I thought that the new definition of a Frankenfish was one that uses one or more boxes as covering units

Sorry guys. Reckon I need to read tarek's opening post once in a while.
tarek wrote:3. Franken: N (rows+boxes) * N (columns+boxes) or vv. (no fins)
4. Finned franken: N (rows+boxes) * N (columns+boxes) or vv. (with fins)
5. Mutant: N Sectors * N Sectors (no fins)
6. Finned mutant: N sectors * N sectors (with fins)

Those definitions are still fine with me.:)
Last edited by ronk on Tue Nov 14, 2006 10:41 am, edited 1 time in total.
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Postby Ruud » Tue Nov 14, 2006 2:41 pm

There are 2 more interpretations for this pattern with 16 empty cells:

Here is Ocean's original post on the programmers forum (sept '05), where he only examined the empty cells, calling it a "hidden pattern".

And this is a grouped X-cycle view:

Code: Select all
 *  .  .  | .  .  .  | .  .  *       
 *  .  .  | .  .  .  | .  .  *   
 *  .  .  | .  .  .  | .  .  *   
----------+----------+---------
 B  /  /  | .  .  .  | /  /  A         
 *  A  A  | *  *  *  | B  B  *   
 B  /  /  | .  .  .  | /  /  A         
----------+----------+---------     
 A  /  /  | .  .  .  | /  /  B         
 *  B  B  | *  *  *  | A  A  *         
 A  /  /  | .  .  .  | /  /  B

=[r5c23]-[r5c78]=[r46c9]-[r79c9]=[r8c78]-[r8c23]=[r79c1]-[r46c1]=[r5c23]-


Ronk wrote:How is it you can have candidates at r58c5 to start with?

Whether or not there are candidates in those cells is irrelevant. I have a program that does a pattern check after I marked some cells as empty.

For this example, here is the output:

Image

As you can see, the other empty cells are sufficient to eliminate r58c5. It is our interpretation of these "combined" patterns that allows us to see that it is a 2-step process, in which step 1 eliminates r58c5, which triggers the subsequent eliminations in box 2.

Ruud
Ruud
 
Posts: 664
Joined: 28 October 2005

Postby ronk » Tue Nov 14, 2006 3:22 pm

Ruud wrote:There are 2 more interpretations for this pattern with 16 empty cells ...

Sorry, I was referring to interpretations based upon single-digit constraint sets ... of which fish are a subset.

Ruud wrote:As you can see, the other empty cells are sufficient to eliminate r58c5.

OK. So we can ignore c5 and make eliminations based on the c2378 jellyfish. Which basically means your squirmbag is a degenerative pattern ... which should have been obvious to me since it is a "combined" pattern.

Ruud wrote:It is our interpretation of these "combined" patterns that allows us to see that it is a 2-step process, in which step 1 eliminates r58c5, which triggers the subsequent eliminations in box 2.

Applying a technique is a single step, is it not? If there is not a technique ... a single step technique ... that eliminates r58c5, I don't see the relevance of combining the smaller patterns.
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Postby tarek » Wed Nov 15, 2006 10:58 am

Ruud wrote:I have a program that does a pattern check after I marked some cells as empty.


Cool, I need to program one of those.........

I will be adding some true examples for Finned franken, Finned Mutant fish later today....

tarek
User avatar
tarek
 
Posts: 2577
Joined: 05 January 2006

Postby Ruud » Wed Nov 15, 2006 3:35 pm

I could not find this mutant jellyfish in Tarek's opening post, so it may be a new one:

Code: Select all
 X  *  *  | X  *  *  | *  *  *
 /  .  .  | /  .  .  | .  .  *
 /  .  .  | /  .  .  | .  .  *
----------+----------+---------
 X  *  *  | X  *  *  | X  X *X
 /  .  .  | /  .  .  | /  /  X
 /  .  .  | /  .  .  | /  /  X
----------+----------+---------
 X  *  *  | X  *  *  | X  X *X
 /  .  .  | /  .  .  | /  /  X
 /  .  .  | /  .  .  | /  /  X

ccbb * rrrc

I think I might have a theory about the cannibalistic nature of these patterns.

The secondary set of constraints can never be satisfied with a single candidate covering more than one of these constraints, because this would leave the defining constraints with a surplus candidate that cannot be placed anywhere in the secondary constraints. Therefore, all candidates that cover 2 or more secondary constraints will be eliminated, even if they are part of the defining set.

This mutant Jellyfish has some excellent finning opportunities. Surprisingly, every single-box fin will also eliminate the candidate in r1c9.
Code: Select all
 X  *  *  | X  .  .  | .  .  *
 F  .  .  | /  .  .  | .  .  *
 /  .  .  | /  .  .  | .  .  .
----------+----------+---------
 X  .  .  | X  .  .  | X  X  X
 /  .  .  | /  .  .  | /  /  X
 /  .  .  | /  .  .  | /  /  X
----------+----------+---------
 X  .  .  | X  .  .  | X  X  X
 /  .  .  | /  .  .  | /  /  X
 /  .  .  | /  .  .  | /  /  X


 X  .  .  | X  .  .  | .  .  *
 /  .  .  | /  .  .  | .  .  .
 /  .  .  | /  .  .  | .  .  .
----------+----------+---------
 X  *  *  | X  .  .  | X  X  X
 F  .  .  | /  .  .  | /  /  X
 /  .  .  | /  .  .  | /  /  X
----------+----------+---------
 X  .  .  | X  .  .  | X  X  X
 /  .  .  | /  .  .  | /  /  X
 /  .  .  | /  .  .  | /  /  X


 X  .  .  | X  .  .  | *  .  *
 /  .  .  | /  .  .  | .  .  .
 /  .  .  | /  .  .  | .  .  .
----------+----------+---------
 X  .  .  | X  .  .  | X  X  *
 /  .  .  | /  .  .  | F  /  X
 /  .  .  | /  .  .  | /  /  X
----------+----------+---------
 X  .  .  | X  .  .  | X  X  X
 /  .  .  | /  .  .  | /  /  X
 /  .  .  | /  .  .  | /  /  X


I'm not sure this has been done before, but here is a 2-cell fin in row 2. It eliminates the candidate in r2c9 (part of the original pattern) and r1c9 as a bonus.

Code: Select all
 X  .  .  | X  .  .  | .  .  *
 F  .  .  | F  .  .  | .  .  *
 /  .  .  | /  .  .  | .  .  .
----------+----------+---------
 X  .  .  | X  .  .  | X  X  X
 /  .  .  | /  .  .  | /  /  X
 /  .  .  | /  .  .  | /  /  X
----------+----------+---------
 X  .  .  | X  .  .  | X  X  X
 /  .  .  | /  .  .  | /  /  X
 /  .  .  | /  .  .  | /  /  X


Ruud
Ruud
 
Posts: 664
Joined: 28 October 2005

Postby ronk » Wed Nov 15, 2006 5:03 pm

Ruud wrote:I could not find this mutant jellyfish in Tarek's opening post, so it may be a new one:

Code: Select all
 X  *  *  | X  *  *  | *  *  *
 /  .  .  | /  .  .  | .  .  *
 /  .  .  | /  .  .  | .  .  *
----------+----------+---------
 X  *  *  | X  *  *  | X  X *X
 /  .  .  | /  .  .  | /  /  X
 /  .  .  | /  .  .  | /  /  X
----------+----------+---------
 X  *  *  | X  *  *  | X  X *X
 /  .  .  | /  .  .  | /  /  X
 /  .  .  | /  .  .  | /  /  X

ccbb * rrrc

Ruud, very good find. In the style of the others, I'll maximize the symmetry and put the pattern and its inverse side-by-side.

Ruud wrote:I think I might have a theory about the cannibalistic nature of these patterns.

The secondary set of constraints can never be satisfied with a single candidate covering more than one of these constraints, because this would leave the defining constraints with a surplus candidate that cannot be placed anywhere in the secondary constraints.

Spot on. That reasoning was posted by Lummox JR in a constraint subset thread (link courtesy of Mike Barker).

[edit: added link]
Last edited by ronk on Wed Nov 15, 2006 4:56 pm, edited 1 time in total.
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Postby ronk » Wed Nov 15, 2006 6:56 pm

Ruud wrote:This mutant Jellyfish has some excellent finning opportunities. Surprisingly, every single-box fin will also eliminate the candidate in r1c9.
Code: Select all
 X  *  *  | X  .  .  | .  .  *
 F  .  .  | /  .  .  | .  .  *
 /  .  .  | /  .  .  | .  .  .
----------+----------+---------
 X  .  .  | X  .  .  | X  X  X
 /  .  .  | /  .  .  | /  /  X
 /  .  .  | /  .  .  | /  /  X
----------+----------+---------
 X  .  .  | X  .  .  | X  X  X
 /  .  .  | /  .  .  | /  /  X
 /  .  .  | /  .  .  | /  /  X


 X  .  .  | X  .  .  | *  .  *
 /  .  .  | /  .  .  | .  .  .
 /  .  .  | /  .  .  | .  .  .
----------+----------+---------
 X  .  .  | X  .  .  | X  X  *
 /  .  .  | /  .  .  | F  /  X
 /  .  .  | /  .  .  | /  /  X
----------+----------+---------
 X  .  .  | X  .  .  | X  X  X
 /  .  .  | /  .  .  | /  /  X
 /  .  .  | /  .  .  | /  /  X

Very interesting!
Code: Select all
 .  .  .  | #  .  .  | .  . **
 .  .  .  | /  .  .  | .  .  *
 .  .  .  | /  .  .  | .  .  *
----------+----------+---------
 *  *  *  | X  *  *  | X  X *X
 .  .  .  | /  .  .  | /  /  X
 .  .  .  | /  .  .  | /  /  X
----------+----------+---------
 *  *  *  | X  *  *  | X  X *X
 .  .  .  | /  .  .  | /  /  X
 .  .  .  | /  .  .  | /  /  X

A placement in an "empty cell" of c1 (or c4) would leave a finned mutant swordfish. Were the fin false, all the * and ** eliminations apply. With the fin true, only the ** elimination applies.

A placement in an "empty cell" of b6 (or b9) would also leave a finned mutant swordfish.
Code: Select all
 #  .  .  | #  .  .  | .  . **
 /  .  .  | /  .  .  | .  .  *
 /  .  .  | /  .  .  | .  .  *
----------+----------+---------
 X  *  *  | X  *  *  | *  *  *
 /  .  .  | /  .  .  | .  .  *
 /  .  .  | /  .  .  | .  .  *
----------+----------+---------
 X  *  *  | X  *  *  | X  X *X
 /  .  .  | /  .  .  | /  /  X
 /  .  .  | /  .  .  | /  /  X

That r1c9 elimination is not an easy one to spot. Did your program help you there?

P.S. Indicating a fin cell with the '#' is customary in this forum. I've been trying to "sell" the ** to indicate exclusions that apply whether or not a fin cell is true. No luck so far.:D
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Postby Mike Barker » Wed Nov 15, 2006 8:32 pm

The r1c9 elimination is the result of a "Siamese fish" (two fish in one). In this case its a mutant finned Swordfish:
Code: Select all
 .  .  .  | #  .  .  | .  .  *
 .  .  .  | /  .  .  | .  .  .
 .  .  .  | /  .  .  | .  .  .
----------+----------+---------
 .  .  .  | X  .  .  | X  X  X
 .  .  .  | /  .  .  | /  /  X
 .  .  .  | /  .  .  | /  /  X
----------+----------+---------
 .  .  .  | X  .  .  | X  X  X
 .  .  .  | /  .  .  | /  /  X
 .  .  .  | /  .  .  | /  /  X
basis: c4b69, cover=r47c9, fin=r1c4

One link to Lummox posts is http://forum.enjoysudoku.com/viewtopic.php?p=14719#p14719
Last edited by Mike Barker on Thu Nov 16, 2006 1:35 am, edited 1 time in total.
Mike Barker
 
Posts: 458
Joined: 22 January 2006

Postby ronk » Wed Nov 15, 2006 9:17 pm

Mike Barker wrote:The r1c9 elimination is the result of a "Siamese fish" (two fish in one).

You're certainly more familiar with the usage of "Siamese fish" than I, but I question its usage here ... for two reasons.

1. IMO Siamese fish should be peers of equal size.

2. Most unfinned N-fish probably contain a finned fish of size N-1. Are we going to call them all Siamese?

It would also be desirable for the twins to be "inseparable" ... if that even applies to fish.
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Postby Ruud » Wed Nov 15, 2006 9:58 pm

ronk wrote:That r1c9 elimination is not an easy one to spot. Did your program help you there?

yes. I'm currently reprogramming it to do a complete exhaustive search. Expect a long post in the nearby future...

Most unfinned N-fish probably contain a finned fish of size N-1. Are we going to call them all Siamese?

Maybe we should call these "pilot fish", a smaller fish that tags along.

This pattern actually has 2 pilot fish, the one shown by Mike and this twin:

Code: Select all
 #  .  .  | .  .  .  | .  .  *
 /  .  .  | .  .  .  | .  .  .
 /  .  .  | .  .  .  | .  .  .
----------+----------+---------
 X  .  .  | .  .  .  | X  X  X
 /  .  .  | .  .  .  | /  /  X
 /  .  .  | .  .  .  | /  /  X
----------+----------+---------
 X  .  .  | .  .  .  | X  X  X
 /  .  .  | .  .  .  | /  /  X
 /  .  .  | .  .  .  | /  /  X
basis: c1b69, cover=r47c9, fin=r1c1


so they may be Siamese after all...

Ruud
Ruud
 
Posts: 664
Joined: 28 October 2005

Postby Myth Jellies » Wed Nov 15, 2006 10:11 pm

Ruud wrote:There are 2 more interpretations for this pattern with 16 empty cells.... And this is a grouped X-cycle view:

Code: Select all
 *  .  .  | .  .  .  | .  .  *       
 *  .  .  | .  .  .  | .  .  *   
 *  .  .  | .  .  .  | .  .  *   
----------+----------+---------
 B  /  /  | .  .  .  | /  /  A         
 *  A  A  | *  *  *  | B  B  *   
 B  /  /  | .  .  .  | /  /  A         
----------+----------+---------     
 A  /  /  | .  .  .  | /  /  B         
 *  B  B  | *  *  *  | A  A  *         
 A  /  /  | .  .  .  | /  /  B

=[r5c23]-[r5c78]=[r46c9]-[r79c9]=[r8c78]-[r8c23]=[r79c1]-[r46c1]=[r5c23]-



I actually like the following representation better because it also explains the eliminations at the intersections....
Code: Select all
 *  .  .  | .  .  .  | .  .  *       
 *  .  .  | .  .  .  | .  .  *   
 *  .  .  | .  .  .  | .  .  *   
----------+----------+---------
 A  /  /  | .  .  .  | /  /  D         
*AB B  B  | *  *  *  | C  C *CD   
 A  /  /  | .  .  .  | /  /  D         
----------+----------+---------     
 H  /  /  | .  .  .  | /  /  E         
*GH G  G  | *  *  *  | F  F *EF         
 H  /  /  | .  .  .  | /  /  E


r456c1 = r5c123 - r5c789 = r456c9 - r789c9 = r8c789 - r8c123 = r789c1 -...

This AIC loop means all links can be converted into conjugate links. Converting the weak links to conjugate links makes all of the eliminations in boxes 1, 3, 5, and 8. Converting the strong-only links to conjugate links makes all of the eliminations in r58c19.
Myth Jellies
 
Posts: 593
Joined: 19 September 2005

Postby ronk » Wed Nov 15, 2006 10:49 pm

While sailing the 'Big fish' thread, I netted two 'finned franken swordfish' from Havard's puzzles.

Link 1
Code: Select all
..36...971...9.62369.2731.53.6...7.9.5..39.6.4.9..63..931..8.7674.36.9...6.9.7.3.

After SSTS with 43 cells completed
 
 8  8  . |  .  8  . |  8  .  . 
 .  8  8 |  8  .  . |  .  .  . 
 /  / *8 |  /  /  / |  / *8  . 
---------+----------+----------
 .  8  . |  8  8  . |  / *8  . 
 8  . -8 |  8  .  . | #8  . *8 
 .  8  . |  8  8  . |  / *8 *8 
---------+----------+----------
 .  .  . |  .  .  . |  .  .  . 
 /  / *8 |  /  /  / |  / *8 *8 
 8  .  8 |  .  .  . |  8  .  8 

 r5c7 finned r38b6\c389 franken swordfish

Link 2
Code: Select all
.....42..8....9....64......34.7.5..957.94......6..35474.95..7.263.......7.54...16

After SSTS plus r7c5<>1 for 32 cells completed

*1 *1  / |  1  1  . |  .  .  1
 . *1  / |  1  1  . |  1  .  1
*1  .  / |  1  1  1 |  1  .  1
---------+----------+----------
 .  .  1 |  .  1  . |  1  .  .
 .  .  1 |  .  . -1 |  1  .  1
*1 *1  / | #1 #1  . |  /  /  /
---------+----------+----------
 . *1  / |  /  / *1 |  /  /  /
 .  .  1 |  1  1  1 |  .  .  .
 .  .  . |  .  .  . |  .  .  .
 r6c45 finned r67b1\c126 franken swordfish
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Postby ronk » Wed Nov 15, 2006 11:30 pm

Ruud wrote:This pattern actually has 2 pilot fish, the one shown by Mike and this twin:

Code: Select all
 #  .  .  | .  .  .  | .  .  *
 /  .  .  | .  .  .  | .  .  .
 /  .  .  | .  .  .  | .  .  .
----------+----------+---------
 X  .  .  | .  .  .  | X  X  X
 /  .  .  | .  .  .  | /  /  X
 /  .  .  | .  .  .  | /  /  X
----------+----------+---------
 X  .  .  | .  .  .  | X  X  X
 /  .  .  | .  .  .  | /  /  X
 /  .  .  | .  .  .  | /  /  X
basis: c1b69, cover=r47c9, fin=r1c1

Plus these two make four.
Code: Select all
 #  .  .  | #  .  .  | .  .  *
 /  .  .  | /  .  .  | .  .  .
 /  .  .  | /  .  .  | .  .  .
----------+----------+---------
 X  .  .  | X  .  .  | .  .  .
 /  .  .  | /  .  .  | .  .  .
 /  .  .  | /  .  .  | .  .  .
----------+----------+---------
 X  .  .  | X  .  .  | X  X  X
 /  .  .  | /  .  .  | /  /  X
 /  .  .  | /  .  .  | /  /  X
base=c14b9, cover=r47c9, fin=r1c14


 #  .  .  | #  .  .  | .  .  *
 /  .  .  | /  .  .  | .  .  .
 /  .  .  | /  .  .  | .  .  .
----------+----------+---------
 X  .  .  | X  .  .  | X  X  X
 /  .  .  | /  .  .  | /  /  X
 /  .  .  | /  .  .  | /  /  X
----------+----------+---------
 X  .  .  | X  .  .  | .  .  .
 /  .  .  | /  .  .  | .  .  .
 /  .  .  | /  .  .  | .  .  .
base=c14b6, cover=r47c9, fin=r1c14

"Pilot fish?" Not bad. When there are four, it fits better than "Siamese".
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Postby ronk » Thu Nov 16, 2006 4:00 am

What is(are) the exclusion(s) for this hidden pattern?
Code: Select all
 /  /  .  |  .  .  .  |  /  /  /
 /  /  .  |  .  .  .  |  .  /  /
 .  .  .  |  .  .  .  |  .  .  .
----------+-----------+----------
 .  .  .  |  .  .  .  |  .  .  . 
 .  .  .  |  .  .  .  |  .  .  .
 .  .  .  |  .  .  .  |  .  .  .
----------+-----------+----------
 .  .  .  |  .  .  .  |  .  .  .
 /  /  .  |  .  .  .  |  .  .  .
 /  /  .  |  .  .  .  |  .  .  .

'/' indicates 'no candidate' or 'empty cell'
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

PreviousNext

Return to Advanced solving techniques