SK and related loops

Advanced methods and approaches for solving Sudoku puzzles

Re: SK and related loops

Postby SpAce » Tue Apr 09, 2019 2:15 am

Finally worked my way through to the more interesting bits...

pjb wrote:Almost SK (+1) Loops
This section is added out of interest, as trial and error is employed.

These are every bit as common as SK loops. They have 17 links rather than the 16 of normal SK loops. They differ by having a linking triple rather than a linking pair in one of the boxes or rows/columns. The bidirectional logic is still there, but an absurdity is introduced by suggesting 3 numbers to be true in the 2 linking cells. The result of this is that in the final solution one is trying to fit 17 numbers into the 16 cells of the SK pattern. The one that is squeezed out leads to just one of the eliminations being false, ie the candidate elimination must be true. One can test this simply by in turn making each candidate elimination true and the rest false, and then testing to see if it creates a contradiction. In all of the vast number of cases I've tested, this theory holds up. Thus this number can be assigned to the cell, and the remaining candidate eliminations can be carried out. I would be delighted if someone could discover a theoretic framework to establish this
approach to be valid.
...
As I discuss in my post, the proposition for "Almost (+1) loops" that one of the predicted eliminations based on the loop must be actually not false but true, stands up to every one of a huge number tested. Similarly for "Almost (+2) loops". Maybe there is a way to link this observation with approaches such as exocets and truth/link sets.

I don't know how it links to Exocets, but I'm eager to learn, because this approach doesn't seem like a manually applicable or a very interesting way to solve. It does seem quite valid in terms of set logic, though.

The normal SK-Loops are Rank 0, which means there's an equal number of base and cover sets (links). It guarantees that every link will be occupied by a base candidate, thus every non-base candidate in the links can be eliminated. Otherwise, if any of them were true, there wouldn't be enough candidates to fill the bases (thus no solution).

However, your almost-SK-Loops are Rank N (N > 0), meaning they have N more cover links than base sets. It means that there won't be enough base truths to fill all the links. In normal Rank N logic we get an elimination when N+1 links gang up on a candidate, because at least one of them is guaranteed to hold a base truth, or if some triplet magic occurs, which lowers the rank in some branch locally. That doesn't work here because there aren't any overlapping links or triplets.

As far as I understand, your approach seems to depend on the fact that, since every link needs a truth too, N of them must be external to the bases in a Rank N pattern. For example, a Rank 1 loop (+1) will have a single external candidate true in one of the links (but you don't know which link or which candidate). That single external truth, once discovered, is enough to turn the rest of the pattern into Rank 0 mode where all the other links are occupied by base candidates. So, in that light it is indeed valid that once you find that single external truth for one of the links, then the other eliminations become valid (or if you manage to eliminate all but one candidate from the list then you can place the last one). For example:

.......39.....1..5..3.5.8....8.9...6.7...2...1..4.......9.8..5..2....6..4..7.....; Golden Nugget

1 Almost (+1) SK loop detected (red cells): (35=24)r4c12 - (24=56)r56c3 - (56=17)r89c3 - (17=36)r7c12 - (36=124)r7c46 - (124=36)r89c5 - (36=17)r56c5 - (17=35)r4c46 - loop

No contradiction when 5 at 4,7 is true and others are all false

Eliminations (green cells): r4c7 <> 3, r7c7 <> 3, r7c9 <> 3, r1c3 <> 5, r1c3 <> 6, r2c3 <> 6, r1c5 <> 6, r2c5 <> 3, r2c5 <> 6, r5c4 <> 1, r6c6 <> 7, r8c1 <> 7, r9c2 <> 1, r8c4 <> 1, r8c6 <> 4

In truths and links I see this:

Alien 16-Fish (Rank 1): {47N1246 5689N35} \ {35r4 36r7 56c3 36c5 24b4 17b5 17b7 124b8}

That's 16 truths and 17 links. However, by placing 5r4c7 you remove the 5r4 link turning it into 16/16, i.e. Rank 0:

Alien 16-Fish (Rank 0): {47N1246 5689N35} \ {3r4 36r7 56c3 36c5 24b4 17b5 17b7 124b8} => 15 elims

In other words, I see your approach as perfectly valid logically. Do I like it? Well... to begin with, it doesn't sound like a lot of fun for a manual solver. More than that, I'm not sure how much sense it makes either.

If your Rank 1 loop has say 16 (-1) potential eliminations like here, you have to test 16 candidates for contradictions to get to place one (discounting any ripple effects). Basically it's like a SIS of 16 candidates, in which exactly one candidate is true. How do you know which one? By testing them all, because you obviously can't stop and place a candidate if you don't find a contradiction for it -- that'd be a rookie mistake -- unless you find the full solution but then that's that (and not very fun). If you're lucky enough to get contradictions for the first 15 then you technically don't need to test the last one because it must be true.

If you're employing T&E anyway, why not simply take a smaller SIS with much less to test and a guaranteed (and probably more strategic) placement sooner? With this method you get 15 eliminations and 1 randomly located placement (in this example) -- by fully testing 16 candidates, which doesn't seem like a great payday for an already tedious and ugly method like T&E.

Thus this number can be assigned to the cell, and the remaining candidate eliminations can be carried out.

Well, if you already tested them for contradictions, you could (should) have eliminated them already (after finding each contradiction). Thus revealing the pattern this way gains you nothing -- except the one placement (and the 15 eliminations but you could probably find more useful candidates to eliminate via T&E, so why these?). The Rank 0 pattern is dead when you finally have it because all its eliminations have been found on the way there. Right?

Or perhaps I've totally misunderstood something and you can explain how it actually helps.

PS. I could see the most value in this method with a pattern of very few potential eliminations, because then that list could actually be used as a derived SIS to force other eliminations without T&E -- or at least find the contained placement(s) more easily with T&E. The more potential eliminations this has, the worse it is, unless there's some other way to turn it into Rank 0 mode.
User avatar
SpAce
 
Posts: 2671
Joined: 22 May 2017

Re: SK and related loops

Postby champagne » Tue Apr 09, 2019 3:39 am

Hi Space,
I red quickly your long posts, some remarks here and there.

a) The SK loop is known to produce many different rank 0 logics, each corresponding ot a different way to look at it. All of them produce the same eliminations.
b) This is also true for many rank 0 constructions. Usually, you have a "complementary view" and often more than one giving the same result
c) My preferred rank 0 logic for the sk loop is the 16 cells truths 16 rows/box/columns/box links just because this is the way it appears as "loop" in a "virus chain".
===================================

I am interested in sk loop with missing cells because the community agrees that in the exotic patterns, it is among the easiest to spot. For sure, such pattern should also be detected in a rank 0 analysis.

===================================

in many rank 0 logic, some true/links can be added with possibly more eliminations. This hides iMO the basic property, so I am looking for the smallest possible truths/links group to qualify the property.

For the exocet, the same policy showed at the start the fata morgana property (thanks to Allan Barker). It's by far not a rank 0 logic, but at the end, it was not so hard to decipher.

======================================

Phil's work in this thread appeared to me as a "research work" As soon as he pass the rank 0 logic, he seems to jump in the general brute force. He sees many things, catching if any other "rank 0 logics" and "exocet logic". This is IMO to general to help in the detection of other properties.

What I intend to do in the next months is to run some truths/links groups with the appropriate code where the multi floors brute force shows some potential.
Last edited by champagne on Tue Apr 09, 2019 3:06 pm, edited 1 time in total.
champagne
2017 Supporter
 
Posts: 7453
Joined: 02 August 2007
Location: France Brittany

Re: SK and related loops

Postby SpAce » Tue Apr 09, 2019 2:57 pm

champagne wrote:a) The SK loop is known to produce many different rank 0 logics, each corresponding ot a different way to look at it. All of them produce the same eliminations.
b) This is also true for many rank 0 constructions. Usually, you have a "complementary view" and often more than one giving the same result

I realize this, though my skills in constructing multiple views are limited. I'd like to see some examples, if possible. Despite liking set logic and Allan Barker's ideas in general, I've never used XSudo (doesn't work on Mac), so all of my truth/link sets are manually built and based on what I can see most intuitively.

c) My preferred rank 0 logic for the sk loop is the 16 cells truths 16rows/columns links just because this is the way it appears as "loop" in a "virus chain".

Can you show an example? To me the most natural way to build a truths/links list for any (full) SK-Loop is 16 cell truths \ 2 row links + 2 col links + 4 box links (the number of digits in each depending on the loop type, as long as they add up to 16). I think it matches perfectly how the loop is typically depicted. I understand that there are other possibilities but I can't easily imagine them. On the other hand, seeing the above-mentioned structure takes no effort at all.
User avatar
SpAce
 
Posts: 2671
Joined: 22 May 2017

Re: SK and related loops

Postby champagne » Tue Apr 09, 2019 3:11 pm

SpAce wrote:
c) My preferred rank 0 logic for the sk loop is the 16 cells truths 16rows/columns links just because this is the way it appears as "loop" in a "virus chain".

Can you show an example? To me the most natural way to build a truths/links list for any (full) SK-Loop is 16 cell truths \ 2 row links + 2 col links + 4 box links (the number of digits in each depending on the loop type, as long as they add up to 16). I think it matches perfectly how the loop is typically depicted. I understand that there are other possibilities but I can't easily imagine them. On the other hand, seeing the above-mentioned structure takes no effort at all.


sorry, we have the same rank 0 logic 16 cells 4x4 in { 4 boxes 2 rows 2 colums} and the links sequence

2 in box 2 in row 2 in box 2 in column ...

I edited the post.

The different views on the sk loop have been long discussed years ago. I have just to find the relevant thread.
champagne
2017 Supporter
 
Posts: 7453
Joined: 02 August 2007
Location: France Brittany

Re: SK and related loops

Postby eleven » Tue Apr 09, 2019 5:53 pm

SpAce wrote:That's 16 truths and 17 links. However, by placing 5r4c7 you remove the 5r4 link turning it into 16/16, i.e. Rank 0:

Alien 16-Fish (Rank 0): {47N1246 5689N35} \ {3r4 36r7 56c3 36c5 24b4 17b5 17b7 124b8} => 15 elims

In other words, I see your approach as perfectly valid logically.

Also, if you do not place 5r4c7 ?
eleven
 
Posts: 3142
Joined: 10 February 2008

Re: SK and related loops

Postby SpAce » Tue Apr 09, 2019 10:13 pm

eleven wrote:
SpAce wrote:That's 16 truths and 17 links. However, by placing 5r4c7 you remove the 5r4 link turning it into 16/16, i.e. Rank 0:

Alien 16-Fish (Rank 0): {47N1246 5689N35} \ {3r4 36r7 56c3 36c5 24b4 17b5 17b7 124b8} => 15 elims

In other words, I see your approach as perfectly valid logically.

Also, if you do not place 5r4c7 ?

Sorry, I don't understand the question. Technically we don't need to actually place anything -- just remove the false link candidates from the pattern to turn it into Rank 0 (but in this case they're one and the same because if you remove 5r1246 to get rid of the link then 5r4c7 is a hidden single). Either way, the pattern yields no eliminations until the extra link is identified and removed one way or another. In this case the extra link happens to be 5r4 but we have no easy way of figuring it out -- and until we do, the pattern is as good as dead, as far as I see. All we know is that exactly one of the links (i.e. its base candidates) is false, or in other words one of the 16 potential eliminations is in fact a placement, but it could be any of them. Phil's T&E method correctly determines which one, but it seems both inefficient and inelegant to me.

Like I said earlier, the list of potential eliminations is in fact a SIS (I guess they could be seen as externals to a DP), and solving it via T&E makes little sense to me, although it seems to be logically correct. Phil's method produces the Rank 0 eliminations during the process of revealing the Rank 0 pattern, so there are no Rank 0 eliminations left after it's done -- so what's the point? In other words the main yield of that process is the single placement (or more if it's Rank 2+). To me it's the same as solving a BUG+16 by eliminating all false extras with T&E and then placing the rest. We don't do it that way, do we? (There's one crucial difference, though, which makes T&E a bit more viable here: we know the number of truths in the SIS unlike with BUG+n. Because of that a Rank 1 situation is also a WIS.)

So, personally I'd rather try to figure out some other way to determine the false link to actually get a live Rank 0 pattern. If T&E must be used, I bet there are much more efficient targets for it. (However, one extra benefit here is that with a Rank 1 pattern all the other PEs can be turned off when testing one of them, because we know that exactly one of them is true. That might somewhat help with T&E. I don't think that property helps with Rank 2+ patterns if they have lots of PEs, though, because of the number of combos -- it's probably easier to test them singly).

Or, as I suggested earlier, if the list of PEs is small enough, perhaps it could be used as a derived SIS to produce a Kraken or even an AIC elimination elsewhere. That, I think, would be a pretty elegant way to use such a Rank 1+ pattern directly, but of course it's unviable if there are like 16 PEs to begin with (reminds me of my crazy BUG+23 solution). Here's a manufactured example where all but two of the PE candidates (and some others) from the above puzzle have been artificially removed to reduce the SIS to a minimum:

Code: Select all
.------------------------.--------------------.-----------------------.
|   2567   1456  b1247+5 |  268   247    4678 |  1247    3      9     |
|   89     89     247    |  3     247    1    |  247     6      5     |
|   267    146    3      |  269   5      4679 |  8       1247   1247  |
:------------------------+--------------------+-----------------------:
| c*235  c*345    8      | *1-5   9     *37-5 | a1247+5  1247   6     |
|   369    7    c*456    |  568  *136    2    |  13459   1489   1348  |
|   1      369  c*256    |  4    *367    3568 |  23579   2789   2378  |
:------------------------+--------------------+-----------------------:
|  *367   *136    9      | *126   8     *346  |  1247    5      1247  |
|   358    2     *157    |  59   *134    359  |  6       14789  13478 |
|   4      3568  *156    |  7    *1236   3569 |  1239    1289   1238  |
'------------------------'--------------------'-----------------------'

Alien 16-Fish (Rank 1): {47N1246 5689N35} \ {35r4 36r7 56c3 36c5 24b4 17b5 17b7 124b8}: 2-1 PEs

(5)r4c7 == (5)r1c3 - r56c3 = (5)r4c12 => -5 r4c46

Rank 1 PEs also have the property of a derived weak link, since exactly one of them can be true. Another artificial example of using that with just two PEs:

Code: Select all
.-----------------------.-----------------------.-----------------------.
|  25678   14568   1247 |   268     247    4678 |  1247    3      9     |
|  26789   4689    247  |  a23689  b247+3  1    |  247     2467   5     |
|  2679    1469    3    |   269     5      4679 |  8       12467  1247  |
:-----------------------+-----------------------+-----------------------:
| *23     *34      8    | d*15-3    9     *37   | c1247+5  1247   6     |
|  3569    7      *456  |   3568   *136    2    |  13459   1489   1348  |
|  1       3569   *256  |   4      *367    3568 |  23579   2789   2378  |
:-----------------------+-----------------------+-----------------------:
| *367    *136     9    |  *1236    8     *346  |  1247    5      1247  |
|  358     2      *157  |   359    *134    359  |  6       14789  13478 |
|  4       3568   *156  |   7      *1236   3569 |  1239    1289   1238  |
'-----------------------'-----------------------'-----------------------'

(3)r2c4 = (3)r2c5 -- (5)r4c7 = (5)r4c4 => -3 r4c4

Would you agree with those pieces of imagined Rank 1 logic? I haven't seen either done by anyone or know if real opportunities exist, so I'm just experimenting. Seems pretty valid to me, though, at least in theory. In both cases the SIS/WIS could be larger, of course, but that requires a Kraken. These were just the simplest examples I could think of. (Well, I guess the simplest one would have only one live PE, similar to a a BUG+1 situation and an immediate placement. Or if it's a Rank 2 situation we'd get two immediate placements with just two PEs left -- which makes it different from a BUG+2 because the latter doesn't give any.) Here's an example of that (reduced from 14-2 PEs):

Code: Select all
3....84...5..3..9...21....7..85.6...............3.16..4....39...9..1..5...79....2
.--------------------.----------------.-------------------------.
|  3     *167   *169 | 27  59+6   8   |  4     *126     *156    |
| *1678   5      146 | 46  3      27  | *128    9        168    |
| *689    468    2   | 1   4569   59  | *358    368      7      |
:--------------------+----------------+-------------------------:
|  279    13     8   | 5   2479   6   |  27+1   12347    1349   |
|  2579   136    136 | 48  24789  279 |  257    123478   134589 |
|  2579   247    459 | 3   2789   1   |  6      278      589    |
:--------------------+----------------+-------------------------:
|  4     *1268  *156 | 27  257    3   |  9     *1678    *168    |
| *268    9      36  | 68  1      247 | *378    5        3468   |
| *1568   1368   7   | 9   68     45  | *138    13468    2      |
'--------------------'----------------'-------------------------'

Alien 16-Fish (Rank 2): {17N2389 2389N17} \ {16r1 168r7 168c1 138c7 79b1 25b3 25b7 7b9}: 2-2 PEs => +1 r4c7, +6 r1c5; stte

(Of course this puzzle state can be solved more simply with a single AIC, but that's not the point. Just an example of the concept.)

PS. One more way I could see the usefulness of this knowledge is if one wants to play with probabilities. Unlike the other method, it works best if you have a Rank 1 pattern with lots of PEs, because you know that all but one of those candidates are false and could be eliminated. For example, with 16 PEs you know that any one of them has a 15/16 chance of being a valid elimination. So, if some of those eliminations would be particularly useful, then it might make sense to use T&E to try and remove them -- or for some players to simply take an educated guess with a 94% chance of success. Just a thought. It's not very elegant, but at least it's a bit more strategic than using T&E on all of them to get a random placement. In this case the 3r2c5 would be an obvious target, because eliminating it yields a placement.

Edit 1: Added the derived weak link example.
Edits 2,3,4: Added (and edited) the Rank 2 (2-2 PEs) example
Last edited by SpAce on Wed Apr 10, 2019 1:21 pm, edited 4 times in total.
User avatar
SpAce
 
Posts: 2671
Joined: 22 May 2017

Re: SK and related loops

Postby pjb » Wed Apr 10, 2019 2:04 am

champagne, thank you again. I have to admit I don't have an understanding of why, but by experience in a number of examples I proposed the rule (listed at the start) that a missing cell can be solved but not given. Thus in your second case the given at r4c1 prevents my solver from finding the loop. However, in this case, the predicted eliminations are OK. My proposed rule keeps intact the basic structure of the loop, ie 8 x 2 available cells. This obviously requires further thought.
Phil
pjb
2014 Supporter
 
Posts: 2672
Joined: 11 September 2011
Location: Sydney, Australia

Re: SK and related loops

Postby pjb » Wed Apr 10, 2019 2:39 am

SpAce, thank you for uncovering some coding problem with my multifish for champagne's second puzzle. The MSLS for this puzzle is actually better given 3 more eliminations. Regarding the almost SK loop (+1) section, I couldn't agree more that the trial and error routine is ugly. If it were possible to predict which of the eliminations is false and thus avoid T&E, the whole thing would be far more useful, but so far this has eluded me.
Phil
pjb
2014 Supporter
 
Posts: 2672
Joined: 11 September 2011
Location: Sydney, Australia

Re: SK and related loops

Postby SpAce » Wed Apr 10, 2019 4:19 am

pjb wrote:SpAce, thank you for uncovering some coding problem with my multifish for champagne's second puzzle.

Happy to help! Your program is extremely useful and one of a kind for studying these advanced patterns. I don't know any other public software that has them implemented (except SudokuWiki's JExocet). I haven't been seriously studying puzzles and patterns of this level before, so I'm just learning to really appreciate it.

The MSLS for this puzzle is actually better given 3 more eliminations.

Good to know (and so it seems)! I'll study that one later. I guess it's an example of different but related Rank 0 patterns producing slightly different eliminations, like champagne said. I'm still not exactly comfortable (at all) with MSLS and multi-fish (even worse), so I have a lot of studying to do with them. Too bad I rarely feel motivated on my own, so perhaps you could at some point start new threads about them, too? :) Seems that your observations are generating a lot of good discussion, and at least I, being the most novice here, am learning a lot. I was also glad to hear that champagne has plans to open up related investigations:

champagne wrote:What I intend to do in the next months is to run some truths/links groups with the appropriate code where the multi floors brute force shows some potential.

Will be interesting to hear about those results!

pjb wrote:Regarding the almost SK loop (+1) section, I couldn't agree more that the trial and error routine is ugly. If it were possible to predict which of the eliminations is false and thus avoid T&E, the whole thing would be far more useful, but so far this has eluded me.

Yes, it would be very useful. Unfortunately I kind of doubt there's any other direct way of doing it with certainty (but will be happy to be proved wrong!), but perhaps it shouldn't even be an immediate goal? Maybe there are other ways to use these patterns for some gains at least. What do you think of my idea of using them as derived SIS/WIS generators? That would of course help only in some cases where the number of PEs is low and they have chaining potential. There's also the chance that the false links/eliminations would reveal themselves at some point while we're solving other parts of the puzzle. That would turn the pattern into a Rank 0 situation naturally, so maybe the Rank 1+ patterns could be put on hold until then? Of course that requires other means to find relevant eliminations, which is not very easy with the high-end puzzles.

PS. I've been claiming that eliminating the PEs via T&E seems to have a low benefit-cost ratio. However, is there some statistical evidence that these patterns have a tendency to actually produce useful groups of eliminations? At least with the few examples I tried it seemed that those eliminations often resulted in several locked sets with a cascade of other eliminations. If that is an actual property and not a coincidence, then it might make a bit more sense to use even T&E to get them when identified by a Rank 1+ pattern (at least in very difficult puzzles with few other openings).
User avatar
SpAce
 
Posts: 2671
Joined: 22 May 2017

Re: SK and related loops

Postby SpAce » Wed Apr 10, 2019 3:16 pm

pjb wrote:champagne, thank you again. I have to admit I don't have an understanding of why, but by experience in a number of examples I proposed the rule (listed at the start) that a missing cell can be solved but not given. Thus in your second case the given at r4c1 prevents my solver from finding the loop. However, in this case, the predicted eliminations are OK. My proposed rule keeps intact the basic structure of the loop, ie 8 x 2 available cells. This obviously requires further thought.

In general, I'm not much of a fan of rules without explicit and valid reasons. Thus I'd be very happy to see some explanation for these two on your proposed list:

3) In each box the cell at the intersection of the row cells and column cells is a given.

I'm quite sure this is a valid rule, but can someone explain why it can't be a solved cell? Is it simply impossible to solve any of those pivot cells and have a valid SK-Loop at the same time?

4) Of the 2 cells involved in a row or column within a box, one of the two can be solved, but not a given.

This rule seems more arbitrary. Can you find any of those examples you mentioned which made you think it's necessary? Or, are you saying that you just hadn't seen an example of a valid SK-Loop in such a situation? In that case, is it possible that champagne's example can't exist in a minimal puzzle and thus you've never considered the possibility (having probably tested with mostly minimal puzzles)? Just a thought.

I can see that both of those rules help to spot an SK-Loop, and the first one is probably necessary for it to even exist (I presume), but at least the latter seems too restrictive since it makes one miss valid loops (at least in non-minimal puzzles).
User avatar
SpAce
 
Posts: 2671
Joined: 22 May 2017

Re: SK and related loops

Postby pjb » Fri Apr 12, 2019 11:52 am

Just for fun here is a puzzle I just happened upon in which the loop numbers can form a normal SK, a type A variant (B3-1-3-1-3-1-3-1-), and a type B variant (B1-3-1-3-1-3-1-3-). This is the puzzle after basic moves:
Code: Select all
1..2....3.4..5..6...3...7..8....2.9..9..1.5.....6.......7.2.3...6.9...4.3.......1  ED=4.6/4.2/3.0

 1       578     5689   | 2      46789  46789  | 489    58     3     
 279     4       289    | 1378   5      13789  | 1289   6      289   
 2569    258     3      | 148    4689   14689  | 7      12     24589 
------------------------+----------------------+---------------------
 8       1357    1456   | 3457   347    2      | 146    9      467   
 2467    9       246    | 3478   1      3478   | 5      237    24678 
 2457    12357   1245   | 6      34789  345789 | 1248   1237   2478   
------------------------+----------------------+---------------------
 49      158     7      | 1458   2      14568  | 3      58     69     
 25      6       1258   | 9      378    13578  | 28     4      2578   
 3       258     49     | 4578   4678   45678  | 69     27     1     

Patterns Game, champagne, 27th Sep, 2015. The output for the 3 different loops is below:

Variant SK loop Type A: (9=278)r2c13 - (278=5)r13c2 - (5=128)r79c2 - (128=5)r8c13 - (5=278)r8c79 - (278=5)r79c8 - (5=128)r13c8 - (128=9)r2c79 - loop
9 Eliminations : r2c6 <> 9, r8c6 <> 5, r4c2 <> 5, r6c2 <> 5, r1c3 <> 8, r3c1 <> 2, r1c7 <> 8, r3c9 <> 2, r3c9 <> 8

Variant SK loop Type B: (289=7)r2c13 - (7=258)r13c2 - (258=1)r79c2 - (1=258)r8c13 - (258=7)r8c79 - (7=258)r79c8 - (258=1)r13c8 - (1=289)r2c79 - loop
11 Eliminations : r2c4 <> 8, r2c6 <> 8, r2c6 <> 9, r8c5 <> 8, r8c6 <> 5, r8c6 <> 8, r4c2 <> 5, r6c2 <> 2, r6c2 <> 5, r5c8 <> 2, r6c8 <> 2

Normal SK loop: (29=78)r2c13 - (78=25)r13c2 - (25=18)r79c2 - (18=25)r8c13 - (25=78)r8c79 - (78=25)r79c8 - (25=18)r13c8 - (18=29)r2c79 - loop
10 Eliminations : r2c6 <> 9, r8c6 <> 5, r4c2 <> 5, r6c2 <> 2, r6c2 <> 5, r5c8 <> 2, r6c8 <> 2, r1c3 <> 8, r1c7 <> 8, r3c9 <> 8
Phil
pjb
2014 Supporter
 
Posts: 2672
Joined: 11 September 2011
Location: Sydney, Australia

Re: SK and related loops

Postby SpAce » Sat Apr 13, 2019 12:27 am

pjb wrote:Just for fun here is a puzzle I just happened upon in which the loop numbers can form a normal SK, a type A variant (B3-1-3-1-3-1-3-1-), and a type B variant (B1-3-1-3-1-3-1-3-).

I don't know if any conclusions can be made, but at least in this case Types A and B together cover all 16 eliminations, so the normal case is redundant:

r1c3 <> 8 : A,N
r1c7 <> 8 : A,N
r2c4 <> 8 : B
r2c6 <> 8 : B
r2c6 <> 9 : A,B,N
r3c1 <> 2 : A
r3c9 <> 2 : A,N
r3c9 <> 8 : A
r4c2 <> 5 : A,B,N
r5c8 <> 2 : B,N
r6c2 <> 2 : B
r6c2 <> 5 : A,B,N
r6c8 <> 2 : B,N
r8c5 <> 8 : B
r8c6 <> 5 : A,B,N
r8c6 <> 8 : B

Then again, a single fish covers them all, as usual:

Siamese Alien 16-Fish (Rank 0): {28N1379 1379N28} \ {9r2 5r8 5c2 5c8 7b1 1b3 1b7 7b9 28:r28c28|b1379} => 16 elims

Btw, could you possibly consider using some standard ordering for the elimination output of your solver? They'd be easier to compare if they were ordered by coordinates, for example. When they're all over the place it's kind of hard to see which ones are the same or not. It'd be also easier to compare eliminations from different techniques.

PS. I guess there's also a +4 "almost" SK-Loop using pivots (37)r37c37. At least there's this Rank 4 fish:

Siamese Alien 16-Fish (Rank 4): {37N1289 1289N37} \ {25r3 5r7 25c3 2c7 6b1 14b3 14b7 6b9 89:r37c37|b1379}: 22 PEs

The (true eliminations = PEs - rank) rule also holds for that if it's broken into two fishes:

Alien 16-Fish (Rank 4): {37N1289 1289N37} \ {25r3 5r7 25c3 2c7 6b1 14b3 14b7 6b9 89:r37c37}: 15-4 PEs
Alien 16-Fish (Rank 4): {37N1289 1289N37} \ {25r3 5r7 25c3 2c7 6b1 14b3 14b7 6b9 89:b1379}: 14-4 PEs

In both cases four of the potential eliminations are in fact placements, as predicted (6/22 for the siamese fish). No practical consequence, of course, but I just thought it would be fun to check.
User avatar
SpAce
 
Posts: 2671
Joined: 22 May 2017

Re: SK and related loops

Postby SpAce » Sat Apr 13, 2019 4:25 am

Something about the Fata Morgana almost-SK-Loop (+2). Initially it looks like this:

Code: Select all
.---------------------------.-----------------------.--------------------------.
|  2458   *2467     24578+6 | 126789  16789  1678   |  24589    *1248    3     |
|  248+3  *2347     1       | 23789   3789   5      |  6        *248     249   |
| *2358    9       *2568    | 136+28  4      136+8  | *258       7      *125   |
:---------------------------+-----------------------+--------------------------:
|  12348   136+24   2468    | 13678   13678  9      |  2347      5       12467 |
|  7       136+24   2469    | 136     5      136    |  2349      136+24  8     |
|  1389    5        689     | 4       13678  2      |  379       136     1679  |
:---------------------------+--------------------- -+--------------------------:
| *145     8       *457     | 136+7   2      136+47 | *3457      9      *4567  |
|  249    *247      3       | 5       6789   4678   |  1        *2468    247+6 |
|  6      *1247     24579   | 13789   13789  13478  |  24578+3  *2348    2457  |
'---------------------------'-----------------------'--------------------------'

Alien 16-Fish (Rank 2): {37N1379 1289N28} \ {258r3 457r7 247c2 248c8 36b1 1b3 1b7 36b9}: 16-2 PEs

Unless we learn more, that's quite useless for a manual solver. So we turn to the JExocet:

Code: Select all
.---------------------------.----------------------------.----------------------------.
|  2458   s247.6    24578-6 |  12789-6  s789.16   178-6  |  24589    s248.1    3      | s16
|  248-3  s247.3    1       |  2789-3   s789.3    5      |  6         248      249    | s3
|  2358    9        258#6   | (16)238    4       (16)38  |  258       7        25#1   | UR(16)
:---------------------------+----------------------------+----------------------------:
| m12348  t36-124  m2468    |  178-36    178-36   9      |  247-3     5        1247-6 | t+m
|  7       124-36   249-6   | b36-1      5       b36-1   |  249-3     124-36   8      | b(136)
|  189-3   5        89-6    |  4         178-36   2      | m379      t36-1    m1679   | t+m
:---------------------------+----------------------------+----------------------------:
|  45#1    8        457     | (13)67     2       (13)467 |  457#3     9        4567   | UR(13)
|  249     247      3       |  5        s789.6    478-6  |  1        s248.6    247-6  | s6
|  6      s247.1    24579   |  1789-3   s789.13   1478-3 |  24578-3  s248.3    2457   | s13
'---------------------------'----------------------------'----------------------------'

1) Eliminate non-base digits from targets => -24 r4c2
2) Incompatible base pairs (13)->UR(13)r57c46, (16)->UR(16)r35c46 => -1 r5c46, r4c2, r6c8
3) Basics + Established base digit eliminations (-3 r4c7,r6c1; -6 r4c9,r6c3)
4) S-Cell eliminations for known base digits (36) => -3 r2c14, r9c467; -6 r1c346, r8c69

So we get the same 32 eliminations as Leren, perhaps with a slightly different process. (I found the UR threats through the mirror cells.) Now our almost-SK-Loop looks like this:

Code: Select all
.-----------------------.-----------------------.----------------------.
|  2458   *2467   24578 | 12789   16789  178    |  24589  *1248   3    |
|  248    *2347   1     | 2789    3789   5      |  6      *248    249  |
| *2358    9     *2568  | 136+28  4      136+8  | *258     7     *125  |
:-----------------------+-----------------------+----------------------:
|  12348   36     2468  | 178    178     9      |  247     5      1247 |
|  7      (1+24)  249   | 36     5       36     |  249    (1+24)  8    |
|  189     5      89    | 4      178     2      |  379     36     1679 |
:-----------------------+-----------------------+----------------------:
| *145     8     *457   | 136+7  2       136+47 | *3457    9     *4567 |
|  249    *247    3     | 5      6789    478    |  1      *2468   247  |
|  6      *1247   24579 | 1789   13789   1478   |  24578  *2348   2457 |
'-----------------------'-----------------------'----------------------'

Alien 16-Fish (Rank 2): {37N1379 1289N28} \ {258r3 457r7 247c2 248c8 36b1 1b3 1b7 36b9}: 10-2 PEs

The loop itself has remained intact but we've lost six PEs. That's actually a good thing considering the Rank 2 status, but still not exactly helpful. Have we learned anything else? Well, 4/10 of our PEs are at r5c28 with a locked 1, which means that exactly one of them must be a placement. It also means that the other placement (we have two with Rank 2) must be within the other 6/10 PEs. That's actually pretty useful information, because now we can divide and conquer by using both groups as separate SIS -- or WIS (which isn't possible with the full Rank 2 group). It also means that T&E just got a bit easier as well (should we choose to go that route), because now we can test both groups separately and also turn off the other candidates (in that group) when testing each candidate (which again isn't possible with the full Rank 2 group). In other words:

exactly 1 candidate true in (24)r5c28 =>
exactly 1 candidate true in { (28)r3c4 (8)r3c6 (7)r7c4 (47)r7c6 }

That's much better than just knowing that two candidates are true in the whole group. Unfortunately I don't see any practical use for that knowledge at the moment, but perhaps some further advancement could help. However, it seems that eliminating any of those PEs is pretty hard because Hodoku can't find even net moves to clear any of them (at this stage).
User avatar
SpAce
 
Posts: 2671
Joined: 22 May 2017

Re: SK and related loops

Postby pjb » Sat Apr 13, 2019 5:46 am

SpAce
I appreciate your interest. However, I don't have the faintest idea what a Siamese Alien 16-Fish is, so I would appreciate it if you could point me in the direction of an explanatory file? It makes my "fish" implementation look very incomplete.
Phil
pjb
2014 Supporter
 
Posts: 2672
Joined: 11 September 2011
Location: Sydney, Australia

Re: SK and related loops

Postby SpAce » Sat Apr 13, 2019 6:58 am

pjb wrote:I appreciate your interest. However, I don't have the faintest idea what a Siamese Alien 16-Fish is, so I would appreciate it if you could point me in the direction of an explanatory file? It makes my "fish" implementation look very incomplete.

Sorry about that! It's just a cell extension to UFG and Obi-Wahn's fishes, or in other words a (sort of) UFG way of notating Allan Barker's set logic as: "{truths} \ {links}". I call it "Alien" because it's more complex than Mutant and Franken fishes, and also because it's close to "Allan". So, an Alien N-Fish (Rank R) is just a container for {N truths} \ {N+R links} (in simple cases -- triplets can change the numbers). The Siamese extension is taken from the UFG to use multiple alternative cover sets at once to get more eliminations when applicable (hence the '|' as an OR between the variant links -- only one set is counted for the rank). Nothing more complex than that.

I've been using that notation in the Puzzles section for a while now, most recently at the end of this post (even though it's a single-digit fish it's using mixed rank logic, which makes it "alien"), so apparently I forgot to define it here. I realize that it might cause confusion with multi-fishes, or perhaps it's even close to the same thing, but since I've never found a good definition of multi-fishes I don't really know. All I know is that the Alien Fish concept should cover everything Allan Barker's truths and links do, including triplet logic, plus it has the Siamese extension (which is curiously missing from Allan's model -- though trivial to add), so it's the most generic and powerful fish type there is (as far as I know). I don't know if multi-fishes also cover everything, or if they have a more restricted definition.
User avatar
SpAce
 
Posts: 2671
Joined: 22 May 2017

PreviousNext

Return to Advanced solving techniques