Hi Phill. This is my first post in this forum. I read your document on "Sk and related Loop" carefully. I was especially interested in the topic "Almost SK-Loop". I thank you for the solver on the internet that I use frequently. I have a question to ask. It can be shown that an MSLS can be associated to each SK-Loop ?. Clearly the answer can be positive only if the MSLS model is implemented including also those MSLS containing 2 lines, 2 columns and 4 blocks. However, to date, for all those schemes in which the answer is positive, the regularity of the eliminations and insertions of the "Almost SK-Loop" method can be demonstrated through a method that I would call "Almost MSLS".
- Code: Select all
Phill 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.
To explain myself better I use an example. The golden Nugget.
- Code: Select all
+-----------------------+------------------------+--------------------+
| 25678 14568 124567 | 12568 124567 145678 | 1247 3 9 |
| 236789 134689 123467 | 123689 123467 1346789 | 1247 12467 5 |
| 235679 134569 1234567 | 123569 1234567 1345679 | 8 12467 1247 |
+-----------------------+------------------------+--------------------+
| 235 345 8 | 135 9 1357 | 123457 1247 6 |
| 3569 7 3456 | 13568 1356 2 | 13459 1489 1348 |
| 1 3569 2356 | 4 3567 35678 | 23579 2789 2378 |
+-----------------------+------------------------+--------------------+
| 367 136 9 | 1236 8 1346 | 12347 5 12347 |
| 3578 2 1357 | 1359 1345 13459 | 6 14789 13478 |
| 4 13568 1356 | 7 12356 13569 | 1239 1289 1238 |
+-----------------------+------------------------+--------------------+
The Almost (+1) SK loop produces this answer:
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 r4c7 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
The Nugget has several possibilities of "Almost (+1) MSLS". In practice, I can optionally insert a candidate as true by creating an MSLS. What I noticed was that by inserting as one of the candidates that the Almost (+1) SK loop method selects as certain or eliminable, I always trigger at least one MSLS which determines the elimination of all the other candidates indicated by the Almost method (+1 ) SK loop. I report one at random by entering R2C5 = 3 which triggers the MSLS::
Base: 1247
16 cell Truths: r5689 c3589
16 links: 14r5, 27r6, 147r8, 12r9, 56c3, 6c5, 89c8, 38c9
17 eliminations: r5c4<>1, r5c7<>1, r5c7<>4, r6c6<>7, r6c7<>2, r6c7<>7, r8c1<>7, r8c4<>1, r8c6<>4, r9c2<>1, r9c7<>1, r9c7<>2, r1c3<>5, r1c3<>6, r2c3<>6, r1c5<>6, r7c9<>3, Naked triplets of 359 at r569c7 => -3 r47c7, -5 r4c7.
In the following example I report also the SK-loop that allows me to understand why a candidate is true and the rest are false.
By entering R8C6 = 4 I find the following SK-Loop which contains all the eliminations of Almost (+1) SK-Loop.
Naked quads of 1236 at r7c46, r89c5 => -1 r8c4, -3 r8c4, r9c6, -6 r9c6
Normal SK loop detected (red cells): (35=24)r4c12 - (24=56)r56c3 - (56=17)r89c3 - (17=36)r7c12 - (36=12)r7c46 - (12=36)r89c5 - (36=17)r56c5 - (17=35)r4c46 - loop
14 Eliminations (green cells): r4c7 <> 3, r4c7 <> 5, r7c7 <> 3, r7c9 <> 3, r1c3 <> 5, r1c3 <> 6, r2c3 <> 6, r1c5 <> 6, r2c5 <> 3, r2c5 <> 6, r5c4 <> 1, r6c6 <> 7, r8c1 <> 7, r9c2 <> 1
But also two MSLS:
1) Naked quads of 1236 at r7c46, r89c5 => -1 r8c4, -3 r8c4, r9c6, -6 r9c6
Base: 1247
16 cell Truths: r5689 c3589
16 links: 14r5, 27r6, 17r8, 12r9, 56c3, 36c5, 89c8, 38c9
17 eliminations: r5c4<>1, r5c7<>1, r5c7<>4, r6c6<>7, r6c7<>2, r6c7<>7, r8c1<>7, r9c2<>1, r9c7<>1, r9c7<>2, r1c3<>5, r1c3<>6, r2c3<>6, r1c5<>6, r2c5<>3, r2c5<>6, r7c9<>3,
and
2) Naked quads of 1236 at r7c46, r89c5 => -1 r8c4, -3 r8c4, r9c6, -6 r9c6
Base: 1247
16 cell Truths: r47 c35 b4578
16 links: 35r4, 36r7, 56c3, 36c5, 24b4, 17b5, 17b7, 12b8
14 eliminations: ): r4c7 <> 3, r4c7 <> 5, r7c7 <> 3, r7c9 <> 3, r1c3 <> 5, r1c3 <> 6, r2c3 <> 6, r1c5 <> 6, r2c5 <> 3, r2c5 <> 6, r5c4 <> 1, r6c6 <> 7, r8c1 <> 7, r9c2 <> 1.
. If we consider the -1 r8c4 of the naked quads, in the second MSLS we confirm the 16 eliminations + an insertion of the Almost (+1) SK loop, clearly reversing the R4C7 = 5 with R8C6 = 4.
In the second MSLS I found the reason why of all these candidates one must be true and all the others false. In fact, even if R8C6 = 4 were false (as it really is) in the last MSLS compulsory to avoid creating a contradiction, one of the eliminated group must be true. I would in fact in the opposite case (all the real eliminations including R8C6 ≠ 4) always:
16 cell Truths: r47 c35 b4578
but 17 links: 35r4, 36r7, 56c3, 36c5, 24b4, 17b5, 17b7, 124b8 with an obvious contradiction. In this case, in order to return the Links to 16, I must insert one of the eliminated candidates as true. This reasoning can clearly be done even starting from another Almost-MSLS obtained with a different candidate.
Ciao a tutti
Paolo