The Ultimate FISH Guide

Advanced methods and approaches for solving Sudoku puzzles

Postby daj95376 » Thu Nov 02, 2006 12:44 am

ronk wrote:
daj95376 wrote:I have this nagging feeling that your Locked Candidate 1 and Locked Candidate 2 labels should be swapped.

I went by Angus Johnson's 'Locked Candidates' descriptions here.

From AngusJ's website. You and I must be interpreting it differently, because your diagrams don't appear to match what I read. For LC_1, the exclusions are outside the box. For LC_2, the exclusions are inside the box.

Code: Select all
Locked Candidates 1:
Sometimes a candidate within a box is restricted to one row or column. Since one of these cells must contain that specific candidate, the candidate can safely be excluded from the remaining cells in that row or column outside of the box.

Locked Candidates 2:
Sometimes a candidate within a row or column is restricted to one box. Since one of these cells must contain that specific candidate, the candidate can safely be excluded from the remaining cells in the box.
daj95376
2014 Supporter
 
Posts: 2624
Joined: 15 May 2006

Postby ronk » Thu Nov 02, 2006 1:36 am

daj95376 wrote:You and I must be interpreting it differently, because your diagrams don't appear to match what I read.

Thanks. I agree with your interpretation ... so my error has been corrected.
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Postby ronk » Thu Nov 02, 2006 3:16 pm

I added an rcb\rcb exemplar to the library.
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  *
 Fig 3D: rcb\rcb                      Fig 3D inverse: rcb\rcb (cannibalistic)

Here are two actual examples from Mike Barker's #2 and #8 Constraint Squirmbag illustrations here.
Code: Select all
5....2...........493..4.6.7....9....2.....5.3..9..14.....2.8..6.5.4......98..6...

SS4.1z(50 cells) (Simple Sudoku version 4.1z at 50 cells completed)
 .  . *7 |  7  7  . |  .  .  .
*7  . *7 |  .  7 *7 |  .  .  .
 .  .  . |  .  .  . |  .  .  .
---------+----------+-----------
 7  .  . | -7  . *7 |  7  .  .
 .  . *7 | *7  . #7 |  .  .  .
 .  7  . |  .  .  . |  .  7
---------+----------+-----------
 .  7  . |  .  .  . |  .  7
 .  .  . |  .  7  . |  7  .  .
 7  .  . |  7  7  . |  .  .  .

Base: r5, c6, b1
Cover: r2, c3, b5
Fin(s): r5c6
Exclusion(s): r4c4<>7


.....62....8..4......52.6..5.....9.29......57..1......4.59...7.....6..1.37.......

SS4.1z(50 cells)
 .  . *3 |  3  .  . |  .  3  3
 .  .  . |  3  3  . |  .  3  .
 . *3 *3 |  .  . *3 |  .  3  .
---------+----------+-----------
 .  3  . |  . -3 *3 |  .  3  .
 .  . *3 |  . *3 #3 |  .  .  .
 .  3  . |  .  .  . |  3  .  3
---------+----------+-----------
 .  .  . |  .  3  . |  3  .  .
 .  .  . |  3  .  . |  .  .  3
 .  .  . |  .  .  . |  .  .  .

Base: r5, c6, b1
Cover: r3, c3, b5
Fin(s): r5c6
Exclusion(s): r4c5<>3

Mike's #4 and #7 examples also have rcb\rcb patterns, but Simple Sudoku won't get you to Mike's pencilmarks.

Grouped x-cycle (grouped coloring) are alternate techniques ... as well as Mike's larger fish, of course.:)
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Postby Havard » Thu Nov 02, 2006 3:55 pm

Very fun to read the latest posts. Great work with the diagrams ronk!

It is also interesting to see how techniques that gets expanded start to overlap existing techniques, specially how the latest mutant fish and grouped x-cycles now seem to almost completely converge.

It looks to me as if the "new" fish will be able to pick up on any grouped-x-cycle, simply because there will only ever be able to exist one (grouped) strong link in each sector (box, row, column) (=base sectors), and every "linking-point" between each strong link will be your cover sector. The two "end-points" of the chain can either both be concidered fins (sashimi), or one of them concidered a cover sector and the other a fin.

I would therefore like to introduce the concept of a "true" fish. Because now fish can explain all known x-cycles, but x-cycles can NOT describe every type of fish. The classic 3*3 sworfish with all its bits (vertices) is a great example of something grouped-x-cyles can NOT explain. In fact, any fish that has a base-sector that can NOT be concidered a strong or grouped strong link would fall outside what x-cycles can do, and this is why I like fish so much, because they actually add something completely unique to the sudoku solving-pool! I therefore suggest to somehow brand these unique creatures to tell the world that the elimination you are about to witness can only be done by fish.

As far as I can tell, the simplest way to make this definiton would be to say:
Any fish that has one or more base sectors that can not be concidered a grouped strong link is a true fish.
with the definition of a grouped strong link being:
If you can cover all occurences of one candidate in one sector with exactly two other sectors, you have a grouped strong link


This would mean that an X-wing would never be a True Fish, since all known x-wing-types can be expressed as a (grouped) x-cycle.

This would not at all be to diminish the value of all the none-true fish, but I just think that these very special creatures deserves a distinction!:)

Havard
Havard
 
Posts: 378
Joined: 25 December 2005

Postby Myth Jellies » Thu Nov 02, 2006 5:16 pm

Havard wrote:
Any fish that has one or more base sectors that can not be concidered a grouped strong link is a true fish.
with the definition of a grouped strong link being:
If you can cover all occurences of one candidate in one sector with exactly two other sectors, you have a grouped strong link


Just a note. Your definition of a grouped strong link is valid for single-threaded constructions. If you allow multi-threaded networks then you can have grouped strong links candidates in a single sector requiring more than two sectors to cover.

Perhaps instead of a "true fish", which I think is confusing, you might consider an "irreducible fish".

Kudos to Ronk for his great illustrations.
Myth Jellies
 
Posts: 593
Joined: 19 September 2005

Postby ronk » Thu Nov 02, 2006 9:24 pm

Based on a Mike Barker example here, added this permuted exemplar to the library.

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  X  | .  .  .  | X  X  *        /  X  X  | .  .  .  | X  X  /
----------+----------+---------      ----------+----------+---------
 .  /  /  | .  .  .  | /  /  .        .  *  *  | .  .  .  | *  *  .
 *  X  X  | *  *  *  | X  X  *        /  X  X  | /  /  /  | X  X  /
 .  /  /  | .  .  .  | /  /  .        .  *  *  | .  .  .  | *  *  .
 Fig 4G: cccc\rrbb                    Fig 4G inverse: rrbb\cccc
 rrrr\ccbb transpose                  ccbb\rrrr transpose

If Mike also posted an actual example somewhere, I missed it.

I added some rcb\rcb tags for the transpose of an illustration (as above). This is again to aid in search of the library.
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Postby Havard » Fri Nov 03, 2006 10:22 am

Myth Jellies wrote:
Havard wrote:
Any fish that has one or more base sectors that can not be concidered a grouped strong link is a true fish.
with the definition of a grouped strong link being:
If you can cover all occurences of one candidate in one sector with exactly two other sectors, you have a grouped strong link


Just a note. Your definition of a grouped strong link is valid for single-threaded constructions. If you allow multi-threaded networks then you can have grouped strong links candidates in a single sector requiring more than two sectors to cover.

Perhaps instead of a "true fish", which I think is confusing, you might consider an "irreducible fish".


I was not familiar with that the term "grouped strong link" was used for multi-threaded networks, but of course I agree with you. But it is fair to say that grouped x-cycles only really talk of single-threaded constructions?

I also agree "true" fish is not the best name, but I did not really like "irreducible" either. I would like a name that would signify that this fish is not expressable as a grouped x-cycle / using strong links.
What about exclusive? Inclusive fish allows other techniques to describe them as well, but exclusive fish are alone in the pond! (describing both the characteristic and the quality):)

Havard
Havard
 
Posts: 378
Joined: 25 December 2005

Postby tarek » Fri Nov 03, 2006 10:58 am

I've started copying & pasting diagrams, examples into the main head post..........

For the terms bit......Could someone start by some definitions of: Cover sets, base sets, General fish pattern...may even "sector, Fish":?::!:

I noticed that true examples lack concordance between players in their notation........ I would like RW's example (now in the head post) to be followed....

I hope that the prefixes for the fish ()which we agreed upon) are strictly adhered to


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

Postby Mike Barker » Fri Nov 03, 2006 2:05 pm

A couple of suggestions for format. I'd recommend showing cells required to not contain the fish digit with a "/" as Ron does. Also showing the elimination is nice.
Code: Select all
5.....1..2...16.8...35....7...4.8.6...6....9..85..32...5.64.9....91.....3......14
 *--------------------------------------------------------------------*
 | 5      479-6  478    | 23789  2789   2479   | 1      234    2369   |
 | 2      479    47     | 379    1      6      | 345    8      359    |
 |#14689 *1469   3      | 5      289    249    |*46     24     7      |
 |----------------------+----------------------+----------------------|
 | 179    12379  127    | 4      2579   8      | 357    6      35     |
 | 47     2347   6      | 27     257    1      | 34578  9      358    |
 | 479    8      5      | 79     6      3      | 2      47     1      |
 |----------------------+----------------------+----------------------|
 | 178    5      1278   | 6      4      27     | 9      237    238    |
 | 4678   2467   9      | 1      3      27     | 678    5      268    |
 | 3     *267    278    | 2789   2789   5      |*678    1      4      |
 *--------------------------------------------------------------------*

 *-----------------------*
 | .-6 . | . . . | . . 6 |
 | . . . | . . . | . . . |
 |#6*6 / | / / / |*6 / / |
 |-------+-------+-------|
 | . . . | . . . | . . . |
 | . . . | . . . | . . . |
 | . . . | . . . | . . . |
 |-------+-------+-------|
 | . . . | . . . | . . . |
 | 6 6 . | . . . | 6 . 6 |
 | /*6 / | / / / |*6 / / |
 *-----------------------*
Mike Barker
 
Posts: 458
Joined: 22 January 2006

Postby ronk » Fri Nov 03, 2006 2:43 pm

Mike Barker wrote:A couple of suggestions for format. I'd recommend showing cells required to not contain the fish digit with a "/" as Ron does. Also showing the elimination is nice.

No question about needing to show the exclusion(s), as that's the most important part. The empty cells are the next most important part ... as Ocean showed on the Hidden Pattern thread. Using his format, an exemplar for your grid might look like ...
Code: Select all
 *-----------------------*
 | . E . | . . . | . . . |
 | . E . | . . . | . . . |
 | . . 0 | 0 0 0 | . 0 0 |
 |-------+-------+-------|
 | . . . | . . . | . . . |
 | . . . | . . . | . . . |
 | . . . | . . . | . . . |
 |-------+-------+-------|
 | . . . | . . . | . . . |
 | . . . | . . . | . . . |
 | 0 . 0 | 0 0 0 | . 0 0 |
 *-----------------------*

That notation is a bit sparse, and may be part of the reason I didn't make the connection to constraint sets until recently.

While I like your suggestion, putting those slashes or zeroes in there is a lot of work. So just identifying the base and cover sets with an off-grid note works for me too. For example, "r3c1 finned r39\c27 x-wing."

And we shouldn't be too restrictive on form anyway, so that better ideas have a chance to bubble to the surface. (My fish analogy of the week.):D
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Postby tarek » Mon Nov 06, 2006 12:53 pm

I will try to copy true example from other threads here, then insert what is suitable in the main head post........ several good example exist the efoortless extremes & the previous discussion threads........

here are few from Ruud's benchmark thread .... modified to accommodate the agreed fish names

# Finned X-Wing digit 4 (2 fin cells)
Code: Select all
048003006000500000020086007300000000056070120000000004200360010000009000900200430
.------------------.------------------.------------------.
| 157   4     8    | 17    129   3    | 259   59    6    |
| 6     379   379  | 5     249   247  | 2389  489   1    |
| 15    2     1359 | 14    8     6    | 359   459   7    |
:------------------+------------------+------------------:
| 3     1789 *12479|#1468 #1245 *12458| 56789 56789 589  |
| 48    5     6    | 9     7    -48   | 1     2     3    |
| 178   1789  1279 | 168   3     1258 | 56789 56789 4    |
:------------------+------------------+------------------:
| 2     78   *457  | 3     6    *4578 | 5789  1     589  |
| 14578 1378  13457| 1478  145   9    | 5678  5678  2    |
| 9     6     157  | 2     15    1578 | 4     3     58   |
'------------------'------------------'------------------'

# Sashimi X-Wing digit 7
Code: Select all
000004052000060300070000060607300500010090020002001604050000030004010000320700000
.---------------------.---------------------.---------------------.
| 189    689    13689 | 189   #378   *4     |*1789   5      2     |
| 124589 489    1589  | 12589  6     -25789 | 3      14789  1789  |
| 124589 7      13589 | 12589  2358   2589  | 1489   6      189   |
:---------------------+---------------------+---------------------:
| 6      489    7     | 3      248    28    | 5      189    189   |
| 458    1      58    | 4568   9     *5678  |*78     2      3     |
| 589    3      2     | 58     578    1     | 6      789    4     |
:---------------------+---------------------+---------------------:
| 1789   5      1689  | 24689  248    2689  | 124789 3      16789 |
| 789    689    4     | 25689  1      3     | 2789   789    56789 |
| 3      2      1689  | 7      458    5689  | 1489   1489   15689 |
'---------------------'---------------------'---------------------'

# Sashimi X-Wing digit 5 (2 fin cells)
Code: Select all
000080400501900000090003000106400020800070009050006304000600030000007502003090000
.---------------------.---------------------.---------------------.
| 3      267    27    |#1257  *8     #125   | 4      9     *1567  |
| 5      24678  1     | 9      246    24    | 2678   678    3     |
| 2467   9      2478  | 1257  -12456  3     | 12678  15678  15678 |
:---------------------+---------------------+---------------------:
| 1      37     6     | 4     *35     9     | 78     2     *578   |
| 8      234    24    | 1235   7      125   | 16     156    9     |
| 279    5      279   | 8      12     6     | 3      17     4     |
:---------------------+---------------------+---------------------:
| 247    12478  5     | 6      124    1248  | 9      3      178   |
| 469    1468   489   | 13     134    7     | 5      1468   2     |
| 2467   124678 3     | 125    9      12458 | 1678   14678  1678  |
'---------------------'---------------------'---------------------'

# Finned Swordfish digit 9 (also a basic swordfish for digit 8 present)
Code: Select all
070500910000001800009708003000000102060070030504000000900603500007800000035007060
.------------------.------------------.------------------.
| 238   7     268  | 5     236   26   | 9     1     4    |
| 234   245   26   |*2349 *23469 1    | 8     257   57   |
| 124   1245  9    | 7     24    8    | 6     25    3    |
:------------------+------------------+------------------:
| 7     89    3    |-49   -45689 4569 | 1     589   2    |
| 128   6     128  |*129   7    #259  | 4     3    *589  |
| 5     1289  4    |-1239 -12389 29   | 7     89    6    |
:------------------+------------------+------------------:
| 9     1248  128  | 6     124   3    | 5     478   178  |
| 6     124   7    | 8     12459 2459 | 3     49    19   |
| 148   3     5    |*149  *149   7    | 2     6    *189  |
'------------------'------------------'------------------'

# Sashimi Swordfish digit 3
Code: Select all
003400000000025009040700060801000090070050010060000703080006020600170000000003500
.------------------.------------------.------------------.
| 259   259   3    | 4     6     189  | 128   578   12578|
| 7     1     6    | 38    2     5    | 348  #348   9    |
| 259   4     8    | 7    *139   19   |-123   6     125  |
:------------------+------------------+------------------:
| 8    *235   1    | 236  *34    7    | 246   9     245  |
| 2349  7     249  | 23689 5     2489 | 2468  1     248  |
| 2459  6     2459 | 289   1489  12489| 7     458   3    |
:------------------+------------------+------------------:
| 349   8     479  | 5     49    6    | 1349  2     147  |
| 6    *2359  2459 | 1     7     2489 | 3489 *348   48   |
| 1     29    2479 | 289   489   3    | 5     478   6    |
'------------------'------------------'------------------'

#Sashimi jellyfish
Code: Select all
027000000010908006000000400200400095003020600570003004005000000400602030000000860
#one view: Sashimi Jellyfish with 2 tentacles digit 1
.---------------.---------------.---------------.
| 689  2    7   |*13   1346 146 |-19   5   *1389|
| 3    1    4   | 9    5    8   | 7    2    6   |
| 689  5    689 | 2    1367 167 | 4   #18  #1389|
:---------------+---------------+---------------:
| 2    68   168 | 4    1678 167 | 3    9    5   |
|*189  4    3   |*158  2    159 | 6    7    18  |
| 5    7    69  |*18   69   3   | 2   *18   4   |
:---------------+---------------+---------------:
| 678  368  5   | 378  38   19  | 19   4    2   |
| 4    89   18  | 6    189  2   | 5    3    7   |
|*17   39   2   |*1357 1349 1459| 8    6   *19  |
'---------------'---------------'---------------'
#alternative view: Sashimi Jellyfish digit 1
.---------------.---------------.---------------.
| 689  2    7   | 13   1346 146 |-19   5    1389|
| 3    1    4   | 9    5    8   | 7    2    6   |
| 689  5    689 | 2   *1367*167 | 4   #18  #1389|
:---------------+---------------+---------------:
| 2    68  *168 | 4   *1678*167 | 3    9    5   |
| 189  4    3   | 158  2    159 | 6    7    18  |
| 5    7    69  | 18   69   3   | 2    18   4   |
:---------------+---------------+---------------:
| 678  368  5   | 378  38  *19  |*19   4    2   |
| 4    89  *18  | 6   *189  2   | 5    3    7   |
| 17   39   2   | 1357 1349 1459| 8    6    19  |
'---------------'---------------'---------------'


tarek
Last edited by tarek on Tue Nov 07, 2006 5:42 am, edited 1 time in total.
User avatar
tarek
 
Posts: 3762
Joined: 05 January 2006

Postby tarek » Mon Nov 06, 2006 1:08 pm

Is there a concensus regarding the notation of Sashimi fish in the true examples?

I like how Myth Jellies & I were representing them by tagging all vertices (true & virtual) using "*"......... this is not necessary for more complex fish or even this type ....... it is just a way to bring the picture closer.

What do u think?

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

Postby Finlip » Mon Nov 06, 2006 1:58 pm

Thanks for this thread. I think it will help me solve sudokus more systematically.

Referring to figure 3B, where does the number go in column 9. I stopped right there, confused.
Finlip
 
Posts: 49
Joined: 15 July 2005

Postby RW » Mon Nov 06, 2006 4:10 pm

Finlip wrote:Referring to figure 3B, where does the number go in column 9. I stopped right there, confused.

Code: Select all
 .  .  .  | .  /  .  | X  X  * 
 .  .  .  | .  /  .  | X  X  * 
 .  .  .  | .  /  .  | X  X  * 
----------+----------+---------
 .  .  .  | .  /  .  | /  /  . 
 *  *  *  | *  X  *  | X  X  *
 .  .  .  | .  /  .  | /  /  .
----------+----------+---------
 .  .  .  | .  /  .  | /  /  .
 *  *  *  | *  X  *  | X  X  * 
 .  .  .  | .  /  .  | /  /  .
 Fig 3B: ccc\rrb             
 unfinned franken swordfish

The number can go in rows 4, 6, 7 and 9 of column 9. The cells marked with a ' . ' may or may not have a candidate in them, they don't affect the elimination. If you ever find a fish like this, there will be a candidate in one of those four cells.

RW
RW
2010 Supporter
 
Posts: 1010
Joined: 16 March 2006

Postby Finlip » Tue Nov 07, 2006 1:26 pm

RW wrote:
Finlip wrote:Referring to figure 3B, where does the number go in column 9. I stopped right there, confused.

Code: Select all
 .  .  .  | .  /  .  | X  X  * 
 .  .  .  | .  /  .  | X  X  * 
 .  .  .  | .  /  .  | X  X  * 
----------+----------+---------
 .  .  .  | .  /  .  | /  /  . 
 *  *  *  | *  X  *  | X  X  *
 .  .  .  | .  /  .  | /  /  .
----------+----------+---------
 .  .  .  | .  /  .  | /  /  .
 *  *  *  | *  X  *  | X  X  * 
 .  .  .  | .  /  .  | /  /  .
 Fig 3B: ccc\rrb             
 unfinned franken swordfish

The number can go in rows 4, 6, 7 and 9 of column 9. The cells marked with a ' . ' may or may not have a candidate in them, they don't affect the elimination. If you ever find a fish like this, there will be a candidate in one of those four cells.

RW

I was pretty stupid and I realized it even before I came back to read this post. ;)
Finlip
 
Posts: 49
Joined: 15 July 2005

PreviousNext

Return to Advanced solving techniques