SK and related loops

Advanced methods and approaches for solving Sudoku puzzles

Re: SK and related loops

Postby SpAce » Tue Apr 02, 2019 11:35 pm

I took a look at some of the variant loops to see if I could see the loop and how I'd write it. In all cases (so far) I can easily see the Rank 0 pattern (which I call "Alien Fishes") and the corresponding eliminations. In some cases I can see a normal ALS-loop or an AALS-loop with similar eliminations (assuming the AALS-loop elimination logic is valid). In a couple of cases I can't see any loop that would make sense to me (despite the valid Rank 0 pattern) because of obvious contradictions.

pjb wrote:Type A: Triple link in boxes, single link between boxes (B3-1-3-1-3-1-3-1-):
1...2...3.4.....5...6...7.....5.6...8...9...1...3.......7...6...5.....9.2...3...8 Patterns Game 116 m_b_metcalf

Alien 16-Fish (Rank 0): {19N2378 2378N19} \ {8r1 1r9 3c1 2c9 579b1 469b37 457b9} => 15 elims

(3=579'8)b1p4723 - (8=469'2)b3p1269 - (2=457'1)b9p3678 - (1=469'3)b3p8914 - loop => 15 elims

That's a normal ALS-loop, so I don't see a need a for any SK-complications.

Type B: Single link in boxes, triple link between boxes (B1-3-1-3-1-3-1-3-):
1....23...4..5..6...74....1..4.......2...8...5...2..9.3.....1...8...6.2...1.....7 Patterns Game m_b_metcalf Aug, 2009

Alien 16-Fish (Rank 0): {28N1379 1379N28} \ {289r2 459r8 569c2 458c8 3b19 7b37} => 14 elims

(3=289'7)r2c1379 - (7=458'3)r1379c8 - (3=459'7)r8c7913 - (7=569'3)r7913c2 - loop => 14 elims

Again, a normal ALS-loop.

Type C: One single link in a box, one triple link in an adjacent row or column: (B1-3-2-2-2-2-2-2-):
1..2....3.....145.....6..1......4.6.....5.1...2.7....86.7......4..8......58.....9 Patterns game joel64 jul 22, 2010

Alien 16-Fish (Rank 0): {16N5678 2345N49} \ {789r1 39r6 39c4 27c9 45b2 6b3 16b5 45b6} => 17 elims

Here I can't see any loop that would make sense, because of obvious contradictions. Instead any attempt leads to +6r2c9.

Type D: Two triples, two singles, and four doubles. There are several possibilities for this, and the example has (B2-3-1-2-3-1-2-2-2-):
..1...2...2...3.4.4.....5.6.....7.8.....2.....3.1.6...6.5.....1.7.8...9...2...4.. Patterns game m_b_metcalf May 25, 2012

Alien 16-Fish (Rank 0): {28N1379 1379N28} \ {789r2 3r8 89c2 37c8 56b1 1b3 14b7 256b9} => 15 elims

Again, no loop because of contradictions. Instead: +3r8c13.

I guess it's possible to ignore the contradictions and use a loop anyway, but it just felt weird to do that. I might get back to these two examples later.

Type E: There can be three singles and three triples, and two doubles (B3-1-3-1-3-1-2-2-):
...1.2......3.4.....1.5.6...7.....8...32.64..9.......33.......9..2.4.1...8.....7. patterns game JPF, Feb 19, 2009

Siamese Alien 16-Fish (Rank 0):

{58N1289 4679N37} \ {1r5 6r8 46c3 2c7 8b4 79b67 38b9 5:b4679|r58c37} => 20 elims (6+8+6)

(8=15'79)r5c1289 - (7|9=25'38)r4679c7 - (3|8=56'79)r8c8912 - (7|9=456'8)r7946c3 - loop => 12 elims

That's an AALS-loop, so it's the only one that resembles a normal SK-Loop to me. Your online solver gets 14 eliminations with SK-Loop, but my loop only gets 12 (assuming the AALS-loop elimination logic can be trusted). I guess the difference is because I eliminate the 5s in the rows and columns and you apparently in the boxes. My Siamese Alien Fish takes care of both so it gets them all.

No time to investigate more right now, but I'll probably continue later. This is very educational so thanks for these examples! So far I think that the more complex variants are easier to see as either Rank 0 patterns directly or as simple ALS-loops (if applicable) than as SK-Loops of any kind. The classic SK-Loop seems to be the easiest to spot as a looping pattern.

(PS. My truth/link sets are produced manually as I don't have XSudo, so they may contain mistakes. The same for the loops.)

--

Added (more of the same):

Type F
The following puzzle contains an SK loop which can be coded as a normal SK, all links pairs, or as a Type A variant.
The same 16 cells are used in each loop.

.5......49......1...6..37......156.....3.6.....289......37..2...9......14......5. patterns game gsf, Mar 13, 2009

Siamese Alien 16-Fish (Rank 0):

{17N1289 1289N37} \ {2r3 6r7 7c3 3c7 14b1 59b3 15b7 49b9 8:r37c37|b1379} => 28 elims (14+6+8)

AALS-loop: (1|4=28'59)r3c1289 - (5|9=38'49)r1289c7 - (4|9=68'15)r7c8912 - (1|5=78'14)r8912c3 => 20 elims

ALS-loop: (2=148'7)b1p7836 - (7=158'6)b7p6912 - (6=489'3)b9p2347 - (3=589'2)b3p1489 - loop => 22 elims

Both loop POVs are easy, but the fish gives all eliminations at once.

Type G
Alternatively, the following puzzle contains an SK loop which can be coded as a normal SK, all links pairs, or as a variant Type B.
9....21...8..4..5...67....9..8.......3...1...5...8..4.1.....9...4...3.2...9.....6 Patterns game gsf Aug 2009

Siamese Alien 16-Fish (Rank 0):

{28N1379 1379N28} \ {23r2 58r8 25c2 38c8 1b19 6b37 7:r28c28|b1379} => 19 elims (8+5+6)

ALS-Loop: (1=237'6)r2c1379 - (6=378'1)r1379c8 - (1=578'6)r8c7913 - (6=257'1) - loop => 13 elims

Other loops are possible, I guess, but the simple ALS-loop seemed the most natural choice. Again the fish POV gives more eliminations than any single loop.

Type H
Aditionally, some puzzles have two different variant loops: A type A loop and a type C loop:
12.3.....4.5...6...76......8..1..3.......9..5....4..7..9.8..1.......7.59....9..4. Patterns game m_b_metcalf Mar 05, 2017

Siamese Alien 16-Fish (Rank 0):

{47N5689 5689N47} \ {6r4 36r7 6c4 8c7 57b5 49b6 45b8 7b9 2:r47c47|b5689} => 18 elims (7+6+5)

AALS-Loop: (7=28'49)r8956c7 - (4|9=26'57)r4c8956 - (5|7=26)r56c4 - (2|6=45)r89c4 - (4|5=236'7)r7c5689 - loop => 12 elims

Again, other loops with different eliminations are possible, but no real need. When you spot one loop, the fish becomes visible too, and then it's the easiest way to get the rest of the eliminations. At least for me.

Conclusions (so far):

Based on these exercises, I wouldn't go out of my way looking for really complicated and sometimes questionable loops. My conclusion at this point is that some of the loops may be good spotting aids for the corresponding fishes, but once spotted, the fish POV is simpler, more powerful, more likely correct, and less error-prone in every case. The classic SK-Loop (AALS-loop) is of course very elegant, and the basic ALS-loops are simple enough, but some of the other variants must be an acquired taste :) (It's also quite possible that I've missed something since I haven't really played with these before.)

Edit 1: Added cases F, G, H
Edit 2: Regrouped some of the fish link sets.
Last edited by SpAce on Thu Apr 04, 2019 11:18 pm, edited 2 times in total.
User avatar
SpAce
 
Posts: 2671
Joined: 22 May 2017

Re: SK and related loops

Postby pjb » Wed Apr 03, 2019 1:03 am

Eleven, thank you for your interest. But I'm afraid there is some kind of misunderstanding. After removing the predicted eliminations based on the loop, with the two reassigned as being true, gives the following grid:
Code: Select all
 2458    2467    24578  | 126789 16789  1678   | 24589  148    3     
 248     2347    1      | 23789  3789   5      | 6      48     249   
 2358    9       2568   | 136    4      136    | 258    7      125   
------------------------+----------------------+---------------------
 12348   136     2468   | 13678  13678  9      | 347    5      1467   
 7       136     469    | 136    5      136    | 349    2      8     
 1389    5       689    | 4      13678  2      | 379    136    1679   
------------------------+----------------------+---------------------
 15      8       57     | 136    2      4      | 357    9      567   
 249     247     3      | 5      6789   678    | 1      468    247   
 6       1247    24579  | 13789  13789  1378   | 24578  348    2457   


The 6 at r1c2 ( turns out to be true) hasn't been eliminated by the technique.
pjb
2014 Supporter
 
Posts: 2672
Joined: 11 September 2011
Location: Sydney, Australia

Re: SK and related loops

Postby champagne » Wed Apr 03, 2019 3:12 am

SpAce wrote:
No time to investigate more right now, but I'll probably continue later. This is very educational so thanks for these examples! So far I think that the more complex variants are easier to see as either Rank 0 patterns directly or as simple ALS-loops (if applicable) than as SK-Loops of any kind. The classic SK-Loop seems to be the easiest to spot as a looping pattern.

(PS. My truth/link sets are produced manually as I don't have XSudo, so they may contain mistakes. The same for the loops.)

A majority of the puzzles in this iist have a rank 0 logic ( a SK loop has also several rank 0 logic ) . Most of the rest, if not all, have an exocet pattern.

Even if it's not so easy to detect for a manual solver (this to eleven), a rank 0 logic does not need any "brute force".
Eliminations are forced by the rank 0 logic alone.
Same for JExocets
champagne
2017 Supporter
 
Posts: 7465
Joined: 02 August 2007
Location: France Brittany

Re: SK and related loops

Postby SpAce » Wed Apr 03, 2019 4:16 am

champagne wrote:A majority of the puzzles in this iist have a rank 0 logic ( a SK loop has also several rank 0 logic ) . Most of the rest, if not all, have an exocet pattern.

Even if it's not so easy to detect for a manual solver (this to eleven), a rank 0 logic does not need any "brute force".
Eliminations are forced by the rank 0 logic alone.
Same for JExocets

That's what I've gathered, so thanks for confirming it. As I said above, I'm thinking right now that once you spot a Rank 0 pattern by any means (SK-Loop, MSLS, Sue-de-Coq...) the eliminations are probably easiest to see by using set logic directly. For a manual solver it's also the easiest way to avoid mistakes, since the Rank 0 elimination logic is very straight-forward. Those named Rank 0 patterns/techniques may work as spotting aids, but when they get complex enough (especially some of these SK-Loop variants) they stop working in that role -- and then it's probably easier to see and use the Rank 0 logic directly. Or so I presume based on the evidence so far. I have so little experience with these that I obviously can't make very far-reaching conclusions.
User avatar
SpAce
 
Posts: 2671
Joined: 22 May 2017

Re: SK and related loops

Postby eleven » Wed Apr 03, 2019 5:40 am

pjb wrote:Eleven, thank you for your interest. But I'm afraid there is some kind of misunderstanding.
...
The 6 at r1c2 ( turns out to be true) hasn't been eliminated by the technique.

Yes, there is a misunderstanding. In a classical SK-loop, the 2 common loop digits always have to go to the loop cells in the boxes or lines. So you can eliminate them outside.
Here i gave an assignment of the loop cells, where the 6 is not in the 4 loop cells of box 1, therefore you cannot eliminate it from r1c3.
eleven
 
Posts: 3169
Joined: 10 February 2008

Re: SK and related loops

Postby SpAce » Wed Apr 03, 2019 11:38 pm

I said I might get back to the weird Types C and D, so here goes. I still can't make sense of them, so could you help out? Here's what I see:

pjb wrote:Type C: One single link in a box, one triple link in an adjacent row or column: (B1-3-2-2-2-2-2-2-):
1..2....3.....145.....6..1......4.6.....5.1...2.7....86.7......4..8......58.....9 Patterns game joel64 jul 22, 2010

Code: Select all
.------------------------.-------------------------.------------------------.
| 1       46789   4569   |  2      *789/4  *789/5  | *789/6  *789     3     |
| 23789   36789   2369   | *39      3789    1      |  4       5      *27/6  |
| 235789  34789   23459  | *39/45   6       35789  |  2789    1      *27    |
:------------------------+-------------------------+------------------------:
| 35789   13789   1359   | *39/1    28      4      |  23579   6      *27/5  |
| 3789    346789  3469   | *39/6    5       28     |  1       23479  *27/4  |
| 359     2       134569 |  7      *39/1   *39/6   | *39/5   *39/4    8     |
:------------------------+-------------------------+------------------------:
| 6       139     7      |  3459    2349    2359   |  2358    2348    1245  |
| 4       139     1239   |  8       2379    235679 |  23567   237     12567 |
| 23      5       8      |  1346    12347   2367   |  2367    2347    9     |
'------------------------'-------------------------'------------------------'

Phil's solver wrote:(789=45)r1c56 - (45=39)r23c4 - (39=16)r45c4 - (16=39)r6c56 - (39=45)r6c78 - (45=27)r45c9 - (27=6)r23c9 - (6=789)r1c78 - loop

As written, the loop empties r3c9 causing a contradiction. Also, even if we ignore that, I don't see how the loop closes. If translated directly into an AIC, the end points don't have a weak link:

(7|8|9=45)r1c56 - (4|5=39)r23c4 - (3|9=16)r56c4 - (1|6=39)r6c56 - (3|9=45)r6c78 - (4|5=27)r45c9 - (2|7=6!!)r23c9 - (6=789#2)r1c78 (contradiction, no loop)

The last term has three candidates for two cells, so only two of them can be true. How does it then force (45) into r1c56 and close the loop? To me it seems that it only forces 4|5 there, which doesn't do the trick. Of course I may completely misunderstand what the loop terms (in yours) actually represent since they don't follow normal AIC rules. For an "utterly unambiguous" notation it's kind of hard for me to decipher without further instructions :)

If I try to write the loop the way I most easily see it, I have the same problems (empties r2c4, doesn't close the loop):

(4|5=789'6)r1c5678 - (6=27'45)r2345 - (4|5=39'16)r6c7856 - (1|6=39)r45c4 - (3|9=4|5!!)r23c4 (contradiction, no loop)

Your solver also displays another variant, but I don't see any difference except the starting point and direction:

Phil's solver wrote:(39=16)r6c56 - (16=39)r45c4 - (39=45)r23c4 - (45=789)r1c56 - (789=6)r1c78 - (6=27)r23c9 - (27=45)r45c9 - (45=39)r6c78 - loop

In other words, I can't find a way to make this work so that I would understand what you actually meant. (As I also said, I can easily see the underlying Rank 0 pattern and the eliminations, so that's not the problem. It's only the loop representation that I don't get. The same with the other example below.)

pjb wrote:Type D: Two triples, two singles, and four doubles. There are several possibilities for this, and the example has (B2-3-1-2-3-1-2-2-2-):
..1...2...2...3.4.4.....5.6.....7.8.....2.....3.1.6...6.5.....1.7.8...9...2...4.. Patterns game m_b_metcalf May 25, 2012

Code: Select all
.-------------------------.---------------------.------------------------.
|  35789  *89/56    1     | 45679  456789  4589 |  2      *37      3789  |
| *789/5   2       *789/6 | 5679   156789  3    | *789/1   4      *789   |
|  4      *89       3789  | 279    1789    1289 |  5      *37/1    6     |
:-------------------------+---------------------+------------------------:
|  1259    14569    469   | 3459   3459    7    |  1369    8       23459 |
|  15789   145689   46789 | 3459   2       4589 |  13679   13567   34579 |
|  25789   3        4789  | 1      4589    6    |  79      257     24579 |
:-------------------------+---------------------+------------------------:
|  6      *89/4     5     | 23479  3479    249  |  378    *37/2    1     |
| *3/1     7       *3/4   | 8      13456   1245 | *3/6     9      *3/25  |
|  1389   *89/1     2     | 35679  135679  159  |  4      *37/56   3578  |
'-------------------------'---------------------'------------------------'

Phil's solver wrote:(3=14)r8c13 - (14=89)r79c2 - (89=56)r13c2 - (56=789)r2c13 - (789=1)r2c79 - (1=37)r13c8 - (37=256)r79c8 - (256=3)r8c79 - loop

In this case the end points match but the direct AIC translation has a discontinuity in r2c1379. Also we get two contradictions right away: r3c2 emptied and r1c2 holding two digits. So, again I can't really see a loop here.

The other listed variant is the same reversed with a different starting point, so no difference there:

Phil's solver wrote:(789=56)r2c13 - (56=89)r13c2 - (89=14)r79c2 - (14=3)r8c13 - (3=256)r8c79 - (256=37)r79c8 - (37=1)r13c8 - (1=789)r2c79 - loop

--

So, my question is: how are these two variant loop types to be interpreted? Even if we accept that they're not AICs despite the notation, I still can't make sense of them. I simply can't see any possible loops no matter how they're written. Is your idea of an SK-Loop some kind of a virtual loop which doesn't even have to be possible in the grid? If that's the case, then that would be all the more reason to use some other notation. Either way, I find it difficult to think in terms of loops that don't really exist, even if they produce correct eliminations by some abstract rules. Or have I seriously misunderstood something?
Last edited by SpAce on Thu Apr 04, 2019 11:23 am, edited 1 time in total.
User avatar
SpAce
 
Posts: 2671
Joined: 22 May 2017

Re: SK and related loops

Postby champagne » Thu Apr 04, 2019 6:53 am

eleven wrote:
pjb wrote:Eleven, thank you for your interest. But I'm afraid there is some kind of misunderstanding.
...
The 6 at r1c2 ( turns out to be true) hasn't been eliminated by the technique.

Yes, there is a misunderstanding. In a classical SK-loop, the 2 common loop digits always have to go to the loop cells in the boxes or lines. So you can eliminate them outside.
Here i gave an assignment of the loop cells, where the 6 is not in the 4 loop cells of box 1, therefore you cannot eliminate it from r1c3.


Hi eleven,

I react late here, but 6r1c3 is in the list of clearings given by leren as consequence of the exocet.
BTW, it seems that the additional clearings come for interactions between the exocet and the non rank 0 "loop" of phil. I could not find so far a rank 0 group adding truths coming out of the exocet (but I did not spend that much time on the topic).
champagne
2017 Supporter
 
Posts: 7465
Joined: 02 August 2007
Location: France Brittany

Re: SK and related loops

Postby pjb » Thu Apr 04, 2019 11:25 am

SpAce, the "variant" examples all follow the set of rules I set out at the start of my post. Historically the first example was posted by Ronk (I think) and followed the B3-1-3-1-3-1-3-1- pattern. My first example of this type is: 1...2...3.4.....5...6...7.....5.6...8...9...1...3.......7...6...5.....9.2...3...8 with the chain being (579=3)r23c1 - (3=469)r78c1 - (469=1)r9c23 - (1=457)r9c78 - (457=2)r78c9 - (2=469)r23c9 - (469=8)r1c78 - loop. This implies that 2 cells, eg r78c1, contain only the digit 3 which is of course impossible. However it was accepted without howls of protest at the time, and the eliminations predicted in this and now a vast number of examples are invariably correct. What I was hoping was a discussion of the underlying logic that explains why these observations hold true. You suggest its easier to see rank 0 logic directly. Personally, I can't look at a puzzle and see "rank 0 logic', but I often can pick the potential for a SK type loop.
Phil
pjb
2014 Supporter
 
Posts: 2672
Joined: 11 September 2011
Location: Sydney, Australia

Re: SK and related loops

Postby eleven » Thu Apr 04, 2019 6:44 pm

pjb wrote:What I was hoping was a discussion of the underlying logic that explains why these observations hold true. You suggest its easier to see rank 0 logic directly. Personally, I can't look at a puzzle and see "rank 0 logic', but I often can pick the potential for a SK type loop.

First of all i agree. Classical SK loops are easy to spot.
After some practice i could spot some JExocets, but i lost the interest, because it is cumbersome (at least if there is none). David used excel sheets to find them, which i never would do.
If i can't find things in the candidate grid, i ask a program (not having one for exocets). One is manual solving for me, the other program solving.

So i seem to be the only one, who is interested in the logic of your loops. Leren and champagne look at there programs, if they can find the eliminations in another way, and SpaCe tries to do the same with AIC's and (manual) rank 0 logic.

However the logic in the fata morgana sample is wrong, if it is based just on the SK loop cells, as the classical loop is. You have to spell out additional restrictions, if you want to eliminate (e.g.) 6r1c3.
I remember that years ago ronk had some samples of extended SK loops (probably a base/cover thing), where i did not have a problem to deduce the eliminations with my own chaining prove.
This is just based on a 3-way: Either there is a loop with the 2 starting digits, or the other 2 digits, or none of both (in which case always one must be here and other there, but always in the loop cells).
The good thing is, that it is sufficient to to find one 2 digit loop. The others can be proven generally.
So my contribution to the notation debate is, you can just write "SK loop" and then ab here-> cd there -> ... -> ab here.

[Added:] To make it more concrete:
I filled out some more digits to get a valid assignment not only of the loop cells, but also of their 8 units. Of course it causes contradictions outside, but what i understand under SK-loop does not need outside cells.
Code: Select all
    4      7      6      |126789 16789 1678  |5      2      3     
    8      3      1      | 2      7    5     |6      4      9   
    2      9      5      | 12368  4    1368  |8      7      1   
    -------------------------------------------------------------
    12348  1      2468   |13678  13678 9     |2347   5      12467
    7      6      2469   |136    5     136   |2349   1      8     
    1389   5      689    |4      13678 2     |379    3      1679
    ------------------------------------------------------------
    1      8      5      |1367   2     13467 |7      9      4
    9      4      3      |5      8     7     |1      6      2 
    6      2      7      |13789  13789 13478 |3      8      5
eleven
 
Posts: 3169
Joined: 10 February 2008

Re: SK and related loops

Postby SpAce » Fri Apr 05, 2019 12:54 am

pjb wrote:SpAce, the "variant" examples all follow the set of rules I set out at the start of my post. Historically the first example was posted by Ronk (I think) and followed the B3-1-3-1-3-1-3-1- pattern. My first example of this type is: 1...2...3.4.....5...6...7.....5.6...8...9...1...3.......7...6...5.....9.2...3...8 with the chain being (8=579)r1c23 - (579=3)r23c1 - (3=469)r78c1 - (469=1)r9c23 - (1=457)r9c78 - (457=2)r78c9 - (2=469)r23c9 - (469=8)r1c78 - loop.

(Your loop was apparently missing a term.) I think I'm beginning to get the idea, and I can see its value as a spotting aid. However, I'd still very much prefer a different notation because it's not an AIC-loop. I think that'd cause much less confusion while maintaining all of the benefits. As suggested before, I'd have no problem with this:

I wrote:(8/579)r1c23 - (579/3)r23c1 - (3/469)r78c1 - (469/1)r9c23 - (1/457)r9c78 - (457/2)r78c9 - (2/469)r23c9 - (469/8)r1c78 - SKLoop.

Replacing '=' with '/' also matches the typical way of separating those digits in grid diagrams depicting these kinds of loops. What would be the downside anyway? That way no one should even try to interpret as an AIC. Different looping concepts apply in this context, and overloading an existing and well-defined AIC-notation is counter-productive, imho. It's interesting that David clearly agreed with that point of view, but chose not to push it harder.

pjb wrote:This implies that 2 cells, eg r78c1, contain only the digit 3 which is of course impossible. However it was accepted without howls of protest at the time, and the eliminations predicted in this and now a vast number of examples are invariably correct. What I was hoping was a discussion of the underlying logic that explains why these observations hold true.

Well, I guess there are multiple ways to explain the eliminations, but to me the easiest one by far is Rank 0 logic, and I don't really need any other explanations. What I definitely don't want to learn is pattern-specific elimination rules when an easy generic rule works just fine.

You suggest its easier to see rank 0 logic directly. Personally, I can't look at a puzzle and see "rank 0 logic', but I often can pick the potential for a SK type loop.

I don't doubt that at all. As I said before, I'm not discounting the value of the loop POV as a spotting aid for such Rank 0 patterns. In fact, I'm pretty sure it helps in most cases. However, once such a pattern is spotted or even suspected, I find it easier to switch to set logic because it works without any ambiguity or questions about why it works.

If the pattern is written as truths and links, which seems to be very easy with these, it's trivial to verify the Rank 0 nature and see its eliminations. It's also great because the same logic works for any Rank 0 pattern (multi-fish, MSLS, whatever), so there's no need to learn multiple elimination rules. When applicable, I always prefer as generic methods as possible, and I don't know anything more generic than set logic -- and Rank 0 is the easiest possible application of it.

Now, I fully admit (or rather suspect with my close-to-zero experience) that detecting generic Rank 0 patterns directly is probably quite hard in most cases. That's why tools such as SK-Loops and MSLS can help. Personally I just (currently) think their value ends once such a pattern is detected, because the elimination logic can then be handled with generic Rank 0 rules very easily. It took me no time to turn your loop (just by looking at the listed cells) into truths and links:

Alien 16-Fish (Rank 0): {19N2378 2378N19} \ {8r1 1r9 3c1 2c9 597b1 469b3 469b7 457b9} => 15 elims

To me that is the underlying logic behind your loop in any case, and it makes the eliminations clearly visible and undeniable (everything in the links that is not in the truth cells). The conversion from the loop is also very easy because the truths are all cells and the links are all houses. I use Hodoku coloring tools to make it all visible and verifiable on the grid. Could I have spotted that pattern directly on the grid? I have no idea because I didn't try, but probably not. Like I said, I do think the loop POV could probably help in that, even though this is not the easiest such loop to see.

eleven wrote:First of all i agree. Classical SK loops are easy to spot.

Well, I agree with that specific statement too. My earlier point was about the non-classical SK-Loops. I don't think they're as straight-forward to spot no matter which way you try do it. However, I think I'm beginning to see how the loop POV could get easier and more helpful, once you drop any AIC thinking and accept those loops as what they are. That's why I keep repeating my earliest point: the concept itself is valuable, but a different notation would help. Now that I (think I) know how to interpret them, it's not so much of a problem, but I'm probably not the only one who gets confused by the AIC-notation in this context.
User avatar
SpAce
 
Posts: 2671
Joined: 22 May 2017

Re: SK and related loops

Postby champagne » Fri Apr 05, 2019 5:03 am

eleven wrote:
pjb wrote:What I was hoping was a discussion of the underlying logic that explains why these observations hold true. You suggest its easier to see rank 0 logic directly. Personally, I can't look at a puzzle and see "rank 0 logic', but I often can pick the potential for a SK type loop.

First of all i agree. Classical SK loops are easy to spot.
After some practice i could spot some JExocets, but i lost the interest, because it is cumbersome (at least if there is none). David used excel sheets to find them, which i never would do.
If i can't find things in the candidate grid, i ask a program (not having one for exocets). One is manual solving for me, the other program solving.

So i seem to be the only one, who is interested in the logic of your loops. Leren and champagne look at there programs, if they can find the eliminations in another way, and SpaCe tries to do the same with AIC's and (manual) rank 0 logic.
....

Hi eleven,

Let me react freely to your post.

First of all, I am a poor manual solver, I can sometimes find easy chain, if they don't come too early, but I have already difficulties to spot xy and xyz wings (I use only the pencil when I work as manual solver)

I surely use intensively computers, phil as well, but I am interested mainly in finding "easy logic rules" that a manual player can apply.

A sk loop is a rank 0 logic, this is the way eliminations are done. In the fata morgana example, the "sk loop pattern" does not deliver a rank 0 logic (rank 2 if I am correct). So phil eliminations can only come from a wider scope. If I got it, he tries in brute force mode all possibilities of the loop and sees what happens (doing so, he uses other properties of the puzzle).

I am interested (and had a look in that direction) to see if we can extend the scope and reach a rank 0 logic. Here we have another clearing logic (the exocet). both logics are mixed on phil's approach.

I'll try later to see what happens in puzzles with no exocet, no other identified rank 0 logic.
champagne
2017 Supporter
 
Posts: 7465
Joined: 02 August 2007
Location: France Brittany

Re: SK and related loops

Postby SpAce » Mon Apr 08, 2019 3:01 pm

Found some time to continue studying these examples. This time I actually looked for the patterns on the grid myself (instead of letting Phil's neat program tell me where they were like before). It was still very easy. Of course it would be different in a live game when you don't know if such a pattern exists or not, but it seems that the pattern of the givens is a huge hint on whether it's even possible.

pjb wrote:Type A sub-types
One of the cells in one (or more) of the cell pairs can be a solved cell (not given). The link within the box in this case can be double.

First example has three (B2-1-2-1-3-1-2-1-) with only 13 links:
..3...5...8...1.4.5.......2.....8.1.....2.....7.3.5...6.......5.1.4...7...2...3..

Siamese Alien 13-Fish (Rank 0):

{B1P268 B37P246 B9P2468} \ {7r2 8r8c8 4c2 6b13 3b7 26b9 9:r28c28|b1379} => 14 elims (5+3+6)

The second example has two (B3-1-2-1-3-1-2-1-) with 14 links:
2.......4.8.5...7...1.2.3.....7...9.....6.....7...8.....3...1...9...7.5.4....1..2

Siamese Alien 14-Fish (Rank 0):

{2N139 8N379 1328N28} \ {9r2 8r8 5c2 8c8 34b1 1b3 2b7 34b9 6:r28c28|b1379} => 14 elims (6+4+4)

The third has only one (B3-1-3-1-2-1-3-1-) with 15 links:
2.......4.9.6...5...17..3.....8...9.....5...3.5...9.....4...1...6...5.7.3.......2

Siamese Alien 15-Fish (Rank 0) :

{28N1379 139N28 7N2} \ {7r2c2 9r8 6c8 34b1 12b37 4b9 8:r28c28|b1379} => 16 elims (6+6+4)

Type E sub-type
This one has a given at r4c3, leaving 15 links: (B3-1-3-1-3-1-2-1-):
...1.2......3.4.....1.5.2...6.....4...57.18..9.......77.......6..2.8.5...9.....3. patterns game JPF, Feb 20, 2009

Alien 15-Fish (Rank 0):

{58N1289 679N37 4N7} \ {2r5 1r8 8c3 1c7 34b4 369b6 346b7 479b9} => 14 elims

These exercises strengthened my earlier conclusion that the loop idea is useful for the initial detection but then set logic prevails. One clear benefit of the latter is that it's very easy to see all of the available eliminations at once when there are multiple cover possibilities for the same pattern. As can be seen in most of these and the previous examples, it happens a lot. I claim that my Siamese Fish approach is then a whole lot easier and quicker than building multiple, often very different, loops for the same purpose. The results can be expressed more concisely as well, and they're easier to verify. Both approaches seem to yield the same results, though, so one can do it either way.

When I find more time, I'll look into the more interesting variants. The Rank 0 loops seem pretty trivial no matter how you look at them, so I guess it's simply a matter of preference whether to see them as loops or set logic (or first one and then the other as I do). I want to thank Phil for bringing up this subject and posting good examples! I think they've taught me a lot already.
User avatar
SpAce
 
Posts: 2671
Joined: 22 May 2017

Re: SK and related loops

Postby champagne » Mon Apr 08, 2019 4:55 pm

just something trivial, although I don't remember having seen it.

Take this puzzle having a sk loop
.......12......345..3..46....2..1.3..7..6....8..9.......5..2..4.6..8....9..7.....;11.80;11.80;11.70;dob;12_12_03;248083;22;
Now, add a given in the SK loop
.......12......345..3..46..6.2..1.3..7..6....8..9.......5..2..4.6..8....9..7.....;

The pm for the first puzzle is after simple clearing

Code: Select all
4567  4589  46789 |3568  3579  356789 |789    1    2   
1267  1289  16789 |1268  1279  6789   |3      4    5   
1257  12589 3     |1258  12579 4      |6      789  789 
-------------------------------------------------------
456   459   2     |458   457   1      |45789  3    6789
1345  7     149   |23458 6     358    |124589 2589 189 
8     1345  146   |9     23457 357    |12457  2567 167 
-------------------------------------------------------
137   138   5     |136   139   2      |1789   6789 4   
12347 6     147   |1345  8     359    |12579  2579 1379
9     12348 148   |7     1345  356    |1258   2568 1368


with the loop in rows 4,7 columns 3,6

The second one is

Code: Select all
457   4589  46789 |3568  3579  356789 |789    1    2   
127   1289  16789 |1268  1279  6789   |3      4    5   
1257  12589 3     |1258  12579 4      |6      789  789 
-------------------------------------------------------
6     459   2     |458   457   1      |45789  3    789 
1345  7     149   |23458 6     358    |124589 2589 189 
8     1345  14    |9     23457 357    |12457  2567 167 
-------------------------------------------------------
137   138   5     |136   139   2      |1789   6789 4   
12347 6     147   |1345  8     359    |12579  2579 1379
9     12348 148   |7     1345  356    |1258   2568 1368


both have a rank 0 logic and similar eliminations.

The first one is a classical 16 thruths 16 links sk loop
The second one a 15 truths 15 links.

When phil open this thread I planned to revise my seacrh of sk loop code.
The first draft find both SK loops, but is not correct for invalid loops with missing cells.

I should have a valid code in the next days. I'll then try to find minimal puzzles with a skloop having missing cells.
champagne
2017 Supporter
 
Posts: 7465
Joined: 02 August 2007
Location: France Brittany

Re: SK and related loops

Postby SpAce » Mon Apr 08, 2019 9:07 pm

champagne wrote:Take this puzzle having a sk loop
.......12......345..3..46....2..1.3..7..6....8..9.......5..2..4.6..8....9..7.....;11.80;11.80;11.70;dob;12_12_03;248083;22;
Now, add a given in the SK loop
.......12......345..3..46..6.2..1.3..7..6....8..9.......5..2..4.6..8....9..7.....;
both have a rank 0 logic and similar eliminations.

The first one is a classical 16 thruths 16 links sk loop
The second one a 15 truths 15 links.

Yes, I see them as:

Alien 16-Fish: {47N1245 5689N36} \ {45r4 13r7 14c3 35c6 69b4 78b5 78b7 69b8} => 11 elims
Alien 15-Fish: {47N245 7N1 5689N36} \ {45r4 13r7 14c3 35c6 9b4 78b5 78b7 69b8} => 11 elims

I'm pretty sure I would call them both SK-Loops after seeing much weirder variants having that name. Interestingly, Phil's solver detects only the first one as such:

Phil's solver wrote:Normal SK loop detected (red cells): (45=69)r4c12 - (69=14)r56c3 - (14=78)r89c3 - (78=13)r7c12 - (13=69)r7c45 - (69=35)r89c6 - (35=78)r56c6 - (78=45)r4c45 - loop
11 Eliminations: r4c7 <> 4, r4c7 <> 5, r7c7 <> 1, r1c3 <> 4, r2c3 <> 1, r1c6 <> 3, r1c6 <> 5, r5c4 <> 8, r6c5 <> 7, r8c1 <> 7, r9c2 <> 8

It doesn't find any SK-Loop for the second puzzle, but it does see a (size 20) Multi-Fish with the same number of eliminations in the same cells. They seem a bit weird, though:

Phil's solver wrote:Found Multi-Fish pattern with base set of 1,2,3,4 and 5

Truths = {12345R5, 12345R6, 12345R8, 12345R9}
Links = {14c3, 35c6, 1245c7, 25c8, 13c9, 41n01, 41n31, 51n11, 51n41, 71n01, 71n31, 81n11, 81n41}
11 Eliminations: r5c4<>5, r6c5<>5, r8c1<>5, r9c2<>5, r1c3<>5, r1c6<>5, r1c6<>5, r2c3<>5, r4c7<>5, r4c7<>5, r7c7<>5

Phil, I presume it's a (probably simple) bug that the eliminations are all 5s, and should rather be the same as above? Be advised. Btw, I don't understand the cell notation (41n01 etc). How should it be interpreted? Elsewhere I've seen the rowNcol system, which is what I use too.
User avatar
SpAce
 
Posts: 2671
Joined: 22 May 2017

Re: SK and related loops

Postby SpAce » Mon Apr 08, 2019 11:22 pm

I wrote:Both approaches [set logic/SK-Loop] seem to yield the same results, though, so one can do it either way.

Well, as champagne's example demonstrated, that doesn't seem to be quite true after all. Or maybe Phil's (definitely awesome!) SK-Loop implementation is just lacking some valid types (who would blame considering the scope)? I don't know, because I guess it depends on the exact definition of SK-Loop which I don't really know. Either way, that's one more reason why I prefer the generic Rank 0 logic for the elimination phase -- it doesn't miss anything. Here's another case where the results aren't identical:

pjb wrote:Type E: There can be three singles and three triples, and two doubles (B3-1-3-1-3-1-2-2-):
...1.2......3.4.....1.5.6...7.....8...32.64..9.......33.......9..2.4.1...8.....7. patterns game JPF, Feb 19, 2009

Phil's solver wrote:Variant SK loop detected (red cells): (1=58)r5c12 - (58=46)r46c3 - (46=579)r79c3 - (579=6)r8c12 - (6=358)r8c89 - (358=2)r79c7 - (2=579)r46c7 - (579=1)r5c89 - loop
14 Eliminations (green cells): r5c5 <> 1, r8c4 <> 6, r1c3 <> 4, r1c3 <> 6, r2c3 <> 6, r2c7 <> 2, r4c1 <> 5, r6c2 <> 5, r4c9 <> 5, r6c8 <> 5, r7c2 <> 5, r9c1 <> 5, r7c8 <> 5, r9c9 <> 5

I wrote:Siamese Alien 16-Fish (Rank 0): {58N1289 4679N37} \ {1r5 6r8 46c3 2c7 8b4 79b6 79b7 38b9 5:r58c37|b4679} => 20 elims (6+6+8)

In the other cases where I found a Siamese Fish, Phil's solver found more than one SK-Loop which together produced the same eliminations. Here there was only one loop listed so, as far as I see, there's no loop for the 6 eliminations (of 5s) from the row/col cover sets.

In other words, Phil's SK-Loop sees this "half" of the Siamese Fish:

Alien 16-Fish (Rank 0): {58N1289 4679N37} \ {1r5 6r8; 46c3 2c7; 58b4 579b6 579b7 358b9} => 14 elims (6+8)

...but not this:

Alien 16-Fish (Rank 0): {58N1289 4679N37} \ {15r5 56r8; 456c3 25c7; 8b4 79b6 79b7 38b9} => 12 elims (6+6)

Is that a missing type? If the found loop was "three singles and three triples, and two doubles", I guess this one would be "one single, one triple, six doubles" (just by looking at the link sets which seem to match Phil's loop descriptions in every other case if grouped like that).

Phil's solver does see this MSLS which produces the missing eliminations, but like the previous Multi-Fish, it's more complicated than the SK-Loop pattern:

Phil's solver wrote:Base: 3789
20 cell Truths: r4679 c34567
20 links: 39r4, 78r6, 78r7, 39r9, 456c3, 456c4, 12c5, 15c6, 25c7
12 eliminations: r1c3<>4, r1c3<>5, r1c3<>6, r2c3<>5, r2c3<>6, r8c4<>5, r8c4<>6, r5c5<>1, r8c6<>5, r1c7<>5, r2c7<>2, r2c7<>5,

So, my question is: should this case be covered by the simpler SK-Loop too, or is there a reason why it's not? The same question about champagne's example. (Just to be sure: this is not in any way criticism, Phil! Your solver is very impressive and helpful, and I'd be surprised if it could detect every possible case of everything.)
User avatar
SpAce
 
Posts: 2671
Joined: 22 May 2017

PreviousNext

Return to Advanced solving techniques