The Ultimate FISH Guide

Advanced methods and approaches for solving Sudoku puzzles

Postby daj95376 » Fri Jan 19, 2007 7:37 pm

ronk, Using just your pattern for vacant cells (/), I can confirm:

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

It would seem that I've missed something necessary to confirm your other eliminations.
daj95376
2014 Supporter
 
Posts: 2624
Joined: 15 May 2006

Postby ronk » Fri Jan 19, 2007 7:49 pm

daj95376 wrote:It would seem that I've missed something necessary to confirm your other eliminations.

Sorry, I should have added that both the * and ** eliminations are valid if all the fins are false, and only the ** eliminations are valid when at least one fin cell is true.
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Postby Obi-Wahn » Fri Jan 19, 2007 10:22 pm

There's a Finned Franken Swordfish c137/r15b7 with fin r23c7 in the pattern:
Code: Select all
 X  *  X |  *  *  * |  X ** **
 /  .  / |  .  .  . |  #  .  .
 /  .  / |  .  .  . |  #  .  .
---------+----------+----------
 /  .  / |  .  .  . |  /  .  .
 X  *  X |  *  *  * |  X  *  *
 /  .  / |  .  .  . |  /  .  .
---------+----------+----------
 X  *  X |  .  .  . |  /  .  .
 X  *  X |  .  .  . |  /  .  .
 X  *  X |  .  .  . |  /  .  .
User avatar
Obi-Wahn
 
Posts: 63
Joined: 05 January 2007
Location: Darmstadt, Germany

Postby ronk » Sat Jan 20, 2007 8:09 pm

Obi-Wahn wrote:There's a Finned Franken Swordfish c137/r15b7 with fin r23c7 in the pattern

Obi-Wahn, thanks. A deduction for that puzzle shown here is a sashimi mutant jellyfish.

Is that the smallest and/or simplest fish for those pencilmarks:?: A franken fish of the same size would be considered simpler.

If the sashimi mutant jellyfish is not the smallest and simplest, do you have a few examples that are -- examples preferably reachable with only SSTS:?:

TIA, Ron
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Postby Obi-Wahn » Sat Jan 20, 2007 9:46 pm

Sorry, there is a Sashimi Franken Swordfish c37b1/r125 with fin r1c3 doing the same elimination:
Code: Select all
 .  . #8 | -8  .  . | *8  .  .
 . *8  . |  .  8  . | *8  .  .
 .  .  . |  8  8  . |  .  8  .
---------+----------+----------
 .  .  . |  8  8  . |  .  .  .
 .  8 *8 |  .  .  . | *8  .  .
 .  8  . |  .  .  . |  .  8  .
---------+----------+----------
 .  .  . |  .  .  . |  .  .  .
 .  .  . |  .  .  . |  .  .  .
 .  .  . |  .  .  . |  .  .  .

Or maybe we shouldn't call this Sashimi, because you can't prevent the pattern from degenerating.

In order to filter an archive of sudokus for solvability depending on the fish size and/or type, I would have to extend my solver.
User avatar
Obi-Wahn
 
Posts: 63
Joined: 05 January 2007
Location: Darmstadt, Germany

Postby ronk » Sat Jan 20, 2007 10:11 pm

Obi-Wahn wrote:Sorry, there is a Sashimi Franken Swordfish c37b1/r125 with fin r1c3 doing the same elimination
With three "big numbers" (clues + placements), the jellyfish seemed like overkill so no need to be sorry.:)

Or maybe we shouldn't call this Sashimi, because you can't prevent the pattern from degenerating.
Hmm, maybe, I'll give that idea some thought.

In order to filter an archive of sudokus for solvability depending on the fish size and/or type, I would have to extend my solver.
:(
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Postby Obi-Wahn » Mon Jan 22, 2007 1:59 pm

I have an example where a "Sashimi" Mutant Jellyfish is required, but it includes a fin cell due to overlapping base sectors and the degeneration can't be prevented by adding vertices:
Code: Select all
6...153.8...4..7.....3.25...4..7..2...2...15....1.4.....7.5.2...5.....8..3...8...

Candidates after Singles, Locked Candidates and Disjoint Subsets:
.---------------.---------------.---------------.
| 6    2    49  | 7    1    5   | 3    49   8   |
| 35   19   35  | 4    8    69  | 7    169  2   |
| 78   17   48  | 3    69   2   | 5    14   69  |
:---------------+---------------+---------------:
| 1389 4    1389| 5    7    369 | 689  2    369 |
| 379  679  2   | 8    69   369 | 1    5    4   |
| 3589 69   3589| 1    2    4   | 689  369  7   |
:---------------+---------------+---------------:
| 4    8    7   | 69   5    1   | 2    369  369 |
| 29   5    69  | 269  3    7   | 4    8    1   |
| 129  3    169 | 269  4    8   | 69   7    5   |
'---------------'---------------'---------------'

  .  . *9 | .  .  . | . #9  .
  . *9  . | .  .  9 | . #9  .
  .  .  . | . *9  . | .  . *9
 ---------+---------+---------
  9  .  9 | .  .  9 | 9  .  9
  9 *9  . | . *9  9 | .  .  .
  9 *9  9 | .  .  . | 9 -9  .
 ---------+---------+---------
  .  .  . | 9  .  . | .  9  9
  9  .  9 | 9  .  . | .  .  .
  9  .  9 | 9  .  . | 9  .  .

Sashimi Mutant Jellyfish r1c25b3/r356b1 with fin r1c8

Note that there's also a swordfish in 6's (or multicoloring) that leads to r6c8<>6, but this doesn't solve the puzzle.
User avatar
Obi-Wahn
 
Posts: 63
Joined: 05 January 2007
Location: Darmstadt, Germany

Postby ronk » Mon Jan 22, 2007 3:28 pm

Obi-Wahn wrote:I have an example where a "Sashimi" Mutant Jellyfish is required, but it includes a fin cell due to overlapping base sectors and the degeneration can't be prevented by adding vertice
...
Code: Select all
 .  . *9 | .  .  . | . @9  .
 . *9  . | .  .  9 | . #9  .
 .  .  . | . *9  . | .  . *9
---------+---------+---------
 9  .  9 | .  .  9 | 9  .  9
 9 *9  . | . *9  9 | .  .  .
 9 *9  9 | .  .  . | 9 -9  .
---------+---------+---------
 .  .  . | 9  .  . | .  9  9
 9  .  9 | 9  .  . | .  .  .
 9  .  9 | 9  .  . | 9  .  .

Sashimi Mutant Jellyfish r1c25b3/r356b1 with fin r12c8
[edit: fin info altered by ronk]

You probably just missed it, but I think we should "standardize" on your '@' symbol for a fin cell in overlapping base sectors.

It would also be convenient to have short names for the two types of fin cells, such as ...
Code: Select all

exo-fin-cell   <-->   A cell outside the intersection of the base and cover sectors

endo-fin-cell  <-->   A cell inside the intersection of two or more base sectors

Common usage would probably shorten these even further to "exo-fin" and "endo-fin", especially when the context makes the meaning clear. daj95376 has already been using "exo-fin" to mean remote fin -- a fin chained to the exclusion(s), but perhaps he would be willing to put that usage aside.

Thanks for your mutant jellyfish example. I was actually looking for a rcbb\rrcb example, but your rccb\rrrb is just as good. I didn't have an actual example for that exemplar either, and one with an endo-fin is better than none at all.:)

BTW I assume your algorithm finds r1c25b3\r356c8b1 for the above, and you are manually selecting r12c8 as the fin -- instead of [edit: r1c8 and] r6c2. Correct:?:
Last edited by ronk on Mon Jan 22, 2007 9:47 pm, edited 1 time in total.
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Postby daj95376 » Mon Jan 22, 2007 6:48 pm

[Resubmitted with corrections. Thanks ronk!]

Code: Select all
# Kraken Sashimi X-Wing r14/c38(79)
# (9) [r4c1] => [r2c2] => [r1 c8] => ![r6c8]
# (9) [r4c6] => [r3c5] => [r12c8] => ![r6c8]

  .  . *9 | .  .  . | . *9  .
  .  9  . | .  .  9 | .  9  .
  .  .  . | .  9  . | .  .  9
 ---------+---------+---------
 %9  . *9 | .  . %9 |*9  . *9
  9  9  . | .  9  9 | .  .  .
  9  9  9 | .  .  . | 9 -9  .
 ---------+---------+---------
  .  .  . | 9  .  . | .  9  9
  9  .  9 | 9  .  . | .  .  .
  9  .  9 | 9  .  . | 9  .  .

ronk: I relinquish the use of exo-fin (cell).
Last edited by daj95376 on Wed Jan 24, 2007 3:03 pm, edited 5 times in total.
daj95376
2014 Supporter
 
Posts: 2624
Joined: 15 May 2006

Postby Obi-Wahn » Mon Jan 22, 2007 6:55 pm

ronk wrote:BTW I assume your algorithm finds r1c25b3\r356c8b1 for the above, and you are manually selecting r12c8 as the fin -- instead of r6c2. Correct:?:

That's correct. I could have chosen r6c2 instead of r2c8 as well, but then there would be two fins which is considered more complex. On the other hand the Jellyfish r1c25b3/r35c8b1 with fins r1c8 and r6c2 isn't Sashimi.

[edit] typo corrected. I was mixing up two totally different puzzles in my notes.[/edit]

I wasn't aware that you were searching a specific type of Sashimi Mutant Jellyfish. Such a creature is really hard to catch.
Last edited by Obi-Wahn on Mon Jan 22, 2007 6:46 pm, edited 1 time in total.
User avatar
Obi-Wahn
 
Posts: 63
Joined: 05 January 2007
Location: Darmstadt, Germany

Postby ronk » Mon Jan 22, 2007 7:23 pm

Obi-Wahn wrote:I could have chosen r6c2 instead of r2c8 as well, but then there would be two fins which is considered more complex.

We see things a little differently here. It seems OK to me to consider the endo-fin-cell r1c8 and exo-fin-cell r2c8 as two elements of one fin.

On the other hand the Jellyfish r1c25b3/r35c8b1 with fins r1c8 and r6c2 isn't Sashimi.

Is the same size fish with two exo-fins "simpler" than the fish with one exo-cell and one endo-cell in the same fin? Hmm, I lean towards the former ... because it must be programmatically simpler. Manually it makes no difference that I can see.

The only thing special about the endo-cell is that (without the support of a chain) it must directly see the exclusion cell. IOW it can't be covered by a cover sector and not directly see the exclusion cell.

[edit: corrected quoted typo]
Last edited by ronk on Mon Jan 22, 2007 9:42 pm, edited 1 time in total.
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Postby Obi-Wahn » Mon Jan 22, 2007 8:15 pm

ronk wrote:We see things a little differently here. It seems OK to me to consider the endo-fin-cell r1c8 and exo-fin-cell r2c8 as two elements of one fin.

So do I. But the other version with the endo-fin r1c8 and the exo-fin r6c2 I would consider as two fins.

ronk wrote:Is the same size fish with two exo-fins "simpler" than the fish with one exo-cell and one endo-cell in the same fin?

Both versions have one endo- and one exo-fin cell.

[edit] Here's the alternative pattern:
Code: Select all
  .  . *9 | .  .  . | . @9  .
  . *9  . | .  .  9 | . *9  .
  .  .  . | . *9  . | .  . *9
 ---------+---------+---------
  9  .  9 | .  .  9 | 9  .  9
  9 *9  . | . *9  9 | .  .  .
  9 #9  9 | .  .  . | 9 -9  .
 ---------+---------+---------
  .  .  . | 9  .  . | .  9  9
  9  .  9 | 9  .  . | .  .  .
  9  .  9 | 9  .  . | 9  .  .

Sashimi Mutant Jellyfish r1c25b3/r35c8b1 with fins r1c8 and r6c2

I was wrong. Since r1c8 must be treated as fin, there's only one vertex for r1 left. Hence this is also degenerating.

And now for something completely different ...
I'd like to share some thoughts about equivalent fishes. Two different fishes are considered equivalent if they can both be transformed into the same hidden pattern (which describes the empty cells and the exclusions that follow thereby).
Now the terms we use to describe a fish (e.g. r1c25b3/r35c8b1) are a bit like algebraic equations. As I mentioned some posts ago, if the same sector appears on both sides (in the base and in the cover set) this sector can be subtracted from both sets without changing the hidden pattern. In the same way it is a valid operation to add the same sector to both sets. Now this wouldn't be very useful if there wasn't some equal subsets of sectors: for example {r123} = {b123}, because both sets of sectors contain exactly the same candidates. Or even {r123456789} = {c123456789}.
You can use this to explain the equivalence of the classical fishes you're probably familiar with. Take for example a classic jellyfish r1357/c2468. You can add c123456789 to the base set and r123456789 to the cover set without changing the overall pattern. The result would be r1357c123456789/r123456789c2468. Now you can subtract all sectors that appear on both sides and get: c13579/r24689. This is the equivalent classic squirmbag for our example.
You can use this technique, too, if you want to transform a mutant fish into a franken one. If you take our Fig. 4C for example: Mutant Jellyfish r58c58/r2c2b68. To remove the columns from the base set you can add c4679 to both sides first: r58c456789/r2c24679b68. Now replace c456 by b258 and c789 by b369: r58b235689/r2c24679b68. And subtraction of b68 gives r58b2359/r2c24679. Now to remove the row from the cover set add r13 first: r1358b2359/r123c24679. Replace r123 by b123: r1358b2359/c24679b123. And subtraction of b23 from both sides gives: r1358b59/c24679b1. Et voilá, an equivalent franken whale.

It may happen that you're adding the same sector multiple times to the base or the cover set. While this doesn't hurt the conclusions the resulting fish pattern is very abstract and probably of no practical use.

Forgive me if all this is already an old hat. I find these transformations to be very useful to search for equivalent fishes like you do for your catalogue.
User avatar
Obi-Wahn
 
Posts: 63
Joined: 05 January 2007
Location: Darmstadt, Germany

Postby ronk » Wed Jan 31, 2007 4:09 pm

Another jellyfish, this one from daj95376's puzzle E091.

Code: Select all
.47.6.8...1...8...9..7...6..61....4.83..4..97.9....63..8...9..6...6...8...4.1.75. #E091 2

After SSTS and an xyz-wing for r3c9<>2:
 23   4    7    | 9    6   1-25  | 8   *12   1235
 23   1    6    | 245 -235  8    | 9    7    2345
 9    5    8    | 7   *23  *124  |*123  6    134
----------------+----------------+---------------
 7    6    1    | 3    9   *25   |#25   4    8
 8    3    25   | 125  4    6    | 125  9    7
 4    9    25   | 125  8    7    | 6    3    12
----------------+----------------+---------------
 15   8    3    | 245  7    9    |1-24 *12   6
 15   7    9    | 6   *25  *245  |*1234 8   *123
 6    2    4    | 8    1    3    | 7    5    9
 
Only the 2s:
 2  .  . |  .  . -2 |  . *2  2
 2  .  . |  2 -2  . |  .  .  2
 .  .  . |  . *2 *2 | *2  .  .
---------+----------+----------
 .  .  . |  .  . *2 | #2  .  .
 .  .  2 |  2  .  . |  2  .  .
 .  .  2 |  2  .  . |  .  .  2
---------+----------+----------
 .  .  . |  2  .  . | -2 *2  .
 .  .  . |  . *2 *2 | *2  . *2
 .  .  . |  .  .  . |  .  .  .

 jellyfish r348c8\c56b39 plus remote fin r4c7, implies r1c6<>2, r2c5<>2 and r7c7<>2

The remote fin sees exclusion cells r1c6 and r2c5 via the grouped strong link in r3. Exclusions r1c6<>2 and r7c7<>2 could also be done with a finned x-wing and a finned swordfish, respectively.

For the exclusion r2c5<>2, does anyone see a smaller fish:?: Or a fish of any size that doesn't need a remote fin:?:

[edit: deleted "sashimi" and "mutant" adjectives]
Last edited by ronk on Wed Jan 31, 2007 2:45 pm, edited 1 time in total.
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Postby tarek » Wed Jan 31, 2007 5:42 pm

I must say that although the exclusions do stem out from the pattern & the fin itself, you are using an associated logic or pattern (here the grouped strong link).......

For a pattern elimination, it needs to be simpler (although at this level probably irrelevant)........

Now, if I understand it correctly....you are trying to use the term exo-fin & endo-fin which to me is fine because it demonstrates the complexity of elemenation & differentiates it from the normal way of fish pattern elemenation (as per definition)......

However, it must be hard proving eliminations via the exo fin if it does not have a mixed endo-fin elimination with it because it is difficult to construct a pattern around it.

Some reservations & thoughts.... but very limited reservations & thoughts.

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

Postby Obi-Wahn » Wed Jan 31, 2007 5:50 pm

If I may. There's a squirmbag eliminating r2c5.
Code: Select all
*2  .  . | .  .  2 | . *2  2
#2  .  . | 2 -2  . | .  .  2
 .  .  . | . *2 *2 |*2  .  .
---------+---------+---------
 .  .  . | .  . *2 |*2  .  .
 .  .  2 | 2  .  . | 2  .  .
 .  .  2 | 2  .  . | .  .  2
---------+---------+---------
 .  .  . | 2  .  . | 2 *2  .
 .  .  . | . *2 *2 |*2  . *2
 .  .  . | .  .  . | .  .  .

Sashimi Mutant Squirmbag r348c18/r1c567b9 with fin r2c1


BTW, I just realized that this is a very cool example. When you look at the way my solver sees it, the output is r348c18/r12c567b9 yielding all three possible exclusions. Now you can take any one of the six cover sectors as the fin sector getting two different finned squirmbags for each of the three exclusions.
Last edited by Obi-Wahn on Thu Feb 01, 2007 6:30 am, edited 1 time in total.
User avatar
Obi-Wahn
 
Posts: 63
Joined: 05 January 2007
Location: Darmstadt, Germany

PreviousNext

Return to Advanced solving techniques