The notation used in Nice Loops and SINs

Advanced methods and approaches for solving Sudoku puzzles

The notation used in Nice Loops and SINs

Postby Carcul » Thu Mar 23, 2006 9:01 pm

The notation used in Nice Loops and Single Implication Networks

The purpose of this thread is to explain the notation that is being used, by most of the users of this forum for some time, in writing simple nice loops, multiple implication nice loops, and single implication networks. This thread is intended to be progressively “polished” in order to make it a reliable reference for those who would like to understand this notation and the nice loops that are posted as solutions of some puzzles. So, I would like that other users would make coments and remarks, saying what is badly written or explained, making sugestions, in order to turn this post a good post. For a good explanation of the terms used in forcing chain terminology, please consult this post.

Part 1. Simple Nice Loops and Grouped Nice Loops

The notation used in nice loops is not very hard to understand. For a good thread about nice loops, how they can be identified and used, please consult this link. Let’s begin with a simple example. Consider Puzzle 1:

Code: Select all
 579   5789  12   | 3     4     12  | 589   59    6     
 459   6     249  | 7     8     29  | 1     3459  3459 
 349   89    1349 | 19    6     5   | 489   7     2     
------------------+-----------------+-------------------
 79    4     8    | 5     2     79  | 3     6     1     
 6     1     5    | 89    3     489 | 7     2     49   
 2     3     79   | 6     1     479 | 459   8     459   
------------------+-----------------+-------------------
 1     2     39   | 4     7     38  | 6     359   3589 
 3457  57    6    | 128   9     138 | 24    134   3478 
 8     79    3479 | 12    5     6   | 249   1349  3479 

                    Puzzle 1, Grid 1

Among other possible nice loops, we could write the following one:

I. [r9c8]=1=[r9c4]=2=[r8c4]-2-[r8c7]-4-[r9c8], => r9c8<>4.

Now, let’s try to understand the symbology used here:

“[r8c7]”: the cell located at the intersection of row 8 and column 7 (rows are numbered 1-9 from top to bottom of the grid, and the columns are numbered 1-9 from left to right).

“=>”: this symbol means “implies” or “from which we can conclude that…”.

“r9c8<>4”: this means that r9c8 cannot be “4”.

“[r9c8]=1=[r9c4]”: this is a link of strong inference with label “1”. Such a link with label “x” makes a connection between two cells that, in their unit (row, column, or box), are the only two possible cells where candidate “x” can be located. In the example given, in row 9 the only two possible places for “1” are r9c8 and r9c4, and so we can construct a strong link between them, [r9c8]=1=[r9c4], with the following meaning: if “1” is not in r9c8 then it must be in r9c4, and vice-versa.

“[r8c7]-4-[r9c8]”: this is a link of weak inference with label “4”. Such a link with label “x” connects two cells that, in their unit, are not necessarily the only two possible places for candidate “x”, that is, it can connect two cells that are the only two possible places for "x" in the unit but, more frequently, it connects cells that are not conjugate cells. The meaning of the link in this particular example is: if r8c7 is “4” then r9c8 is not “4”. In general, with simple nice loops such as this one weak links are constructed to/from bivalue cells (cells that have only two possible candidates), but in advanced nice loops this does not need to be the case.

Also in Puzzle 1 we can write the following loop:

II. [r8c7]=2=[r9c7]-2-[r9c4]-1-[r3c4]=1|4=[r3c7]-4-[r8c7], => r8c7<>4.

“[r3c4]=1|4=[r3c7]”: this type of link has the following meaning – if “1” is not in r3c4 then “4” must be in r3c7, and if “4” is not in r3c7 then “1” must be in r3c4. This link exists principaly in two kinds of patterns. The first one is an Almost Locked Set (ALS: a set of n cells populated by n+1 candidates) in which two of his candidates are in only one cell (each) of the ALS, or, more generally, in two different sets of cells of the ALS. In the present example, we have an almost locked set in cells r3c2/r3c4/r3c7 which are populated by candidates “1,4,8,9”: now, if the reader looks carefully, the “1” is located (among the cells of the ALS) only in r3c4, and the “4” is located only in r3c7, and so if “1” is not in r3c4 then “4” must be in r3c7 (or we would have only two candidates to populate the three cells r3c2/r3c4/r3c7) and vice-versa – this logic is represented by [r3c4]=1|4=[r3c7]. The second pattern is an Almost Unique Rectangle (AUR: refer here for the definition, an explanation of the type of link, and some relevant examples). Consider the following puzzle:

Code: Select all
 256    156    4     | 8      3      7   | 9      12     125   
 7      135    1235  | 145    9      245 | 135    6      8     
 8      1359   12359 | 15     6      25  | 7      1234   1245   
---------------------+-------------------+--------------------
 9      47     235   | 6      148    458 | 138    12378  127   
 1      8      6     | 2      7      3   | 4      5      9     
 235    47     235   | 45     148    9   | 138    12378  6     
---------------------+-------------------+--------------------
 35     1359   8     | 79     2      46  | 156    1479   1457   
 4      2      19    | 79     5      68  | 168    1789   3     
 56     569    7     | 3      48     1   | 2      489    45     

                            Puzzle 2

Here we have an AUR in cells r46c5 (this condensed symbology means that we are considering cells r4c5 and r6c5) and r46c7:

III. [r2c7]=5=[r7c7]=6=[r8c7]-6-[r8c6]-8-[r9c5]-4-[r4c5|r6c5]=4|3=[r4c7|r6c7]-3-[r2c7], => r2c7<>3.

In this case, the link means that, if “4” is not in either of the cells r46c5 then, in order to preserve uniqueness of the solution, one of the cells r46c7 must be “3”.

“[r4c5|r6c5]”: this indicates that the set of cells separated by the vertical bar is involved in the same implication. This could also be written as “[r46c5]”.

Let’s now consider again puzzle 1, but now with the grid updated after the deduction II:

Code: Select all
 579   5789  12   | 3     4     12  | 589   59    6     
 459   6     249  | 7     8     29  | 1     3459  3459 
 349   89    1349 | 19    6     5   | 489   7     2     
------------------+-----------------+-------------------
 79    4     8    | 5     2     79  | 3     6     1     
 6     1     5    | 89    3     489 | 7     2     49   
 2     3     79   | 6     1     479 | 459   8     459   
------------------+-----------------+-------------------
 1     2     39   | 4     7     38  | 6     359   3589 
 3457  57    6    | 18    9     138 | 2     34    3478 
 8     79    3479 | 2     5     6   | 49    1     3479 

                    Puzzle 1, Grid 2

Here we could write:

IV. [r7c3]=9=[r9c2|r9c3]-9-[r9c7]-4-[r8c8]-3-[r8c6]=3=[r7c6]-3-[r7c3], r7c3<>3.

“[r7c3]=9=[r9c2|r9c3]”: this is a grouped strong link, which has a similar meaning to the strong link described above: in this case, although in a given unit there are more than two possible cells for a given candidate “x”, these cells are distributed among only two other units. In the present example, candidate “9” is distributed in box 7 by two other units, namely row 7 and row 9. So, if “9” is not in r7c3 then it must be in one of the cells r9c23; conversely, if “9” is not in either of the cells r9c23 then it must be in r7c3 – this logic is represented by “[r7c3]=9=[r9c2|r9c3]”.


Part 2. Multiple Inference Nice Loops

The symbology used is these type of loops is very similar with the one used in simple nice loops, with the only difference being in writing the various multiple implications between brackets. But what is a “multiple implication”? As we have already seen, in simple nice loops each cell implies only one cell in the implication stream: for example, in the notation “[r8c7]-6-[r8c6]-8-[r9c5]” the cell r8c7 is implying (is being related with) only the cell r8c6. In a multiple implication nice loop, we have at least one cell that implies more than one cell: in the notation “[r8c7](-6-[r2c7])-6-[r8c6]-8-[r9c5]” the cell r8c7 is not only being related with the cell r8c6 but also with the cell r2c7.
Let’s look at a simple example (Puzzle 3):

Code: Select all
 4     12    13  | 38    5     6    | 238   9     7     
 6     29    5   | 1     389   7    | 238   23    4     
 8     7     39  | 29    239   4    | 5     1     6     
-----------------+------------------+----------------
 19    3     4   | 5     1279  129  | 1279  6     8     
 7     5     169 | 2689  4     1289 | 1239  23    39   
 2     8     169 | 69    1679  3    | 179   4     5     
-----------------+------------------+----------------
 159   19    2   | 368   368   58   | 4     7     39   
 3     4     8   | 7     19    19   | 6     5     2     
 59    6     7   | 4     23    25   | 39    8     1     

                       Puzzle 3

Here we could write:

V. [r1c4]-8-[r5c4]=8=[r5c6]-8-[r7c6]-5-[r9c6]-2-[r9c5](-3-[r2c5])-3-[r3c45]-9-[r2c5]-8-[r1c4], => r1c4<>8

This looks just like a discontinuous simple nice loop, except for the notation between brackets. The meaning of the multiple implications can be better understood if we think in the loop as having in his cells the values implied by the implications: in this case, let’s assume r1c4=8 – then, r5c4 cannot be “8” and r5c6=8 (strong link with label “8” between these two cells), then r7c6 is “5”, then r9c6 is “2”, and then r9c5 is “3”. On one hand, r9c5=3 eliminates “3” from r2c5, which is indicated by the multiple implication “(-3-[r2c5])”; on the other hand, r9c5=3 also eliminates “3” from r3c5, which then would make up a naked pair with r3c4, eliminating also “9” from r2c5 which then also becomes “8” as r1c4. Keep in mind an important thing about multiple implications: their purpose can be viewed as being to “prepare”a cell (or various cells) for the main implication stream. In this simple example, the purpose of the “(-3-[r2c5])” was to “prepare” the cell r2c5 for the main implication “-9-[r2c5]-8-[r1c4]” by making it a bivalue cell. If the multiple implication were not used then r2c5 would be a trivalue cell and the loop would have no meaning.
Let’s see another example (Puzzle 4):

Code: Select all
 5   18   2   | 6      378    378  | 4      9      17     
 9   6    18  | 2      78     4    | 17     3      5     
 3   7    4   | 5      9      1    | 2      8      6     
--------------+--------------------+----------------------
 4   5    378 | 178    6      9    | 1378   127    12378 
 1   9    6   | 78     2      378  | 5      4      378   
 2   38   378 | 1478   34578  3578 | 1378   6      9     
--------------+--------------------+----------------------
 7   4    5   | 9      18     6    | 138    12     1238   
 8   2    9   | 3      157    57   | 6      157    4     
 6   13   13  | 478    4578   2    | 9      57     78     

                     Puzzle 4

Here we could write:

VI. [r4c9]=2=[r4c8]-2-[r7c8]-1-[r7c5]-8-[r2c5]-7-[r2c7]-1-[r1c9](-7-[r4c9|r5c9])-7-[r9c9](-8-[r4c9])-8-[r5c9]-3-[r4c9], => r4c9<>3,7,8.

In this case, cell r1c9 not only implies r9c9 but also r5c9 (and r4c9), “turning” this cell into a bivalue cell. Just a final note about the notation of multiple implication nice loops: sometimes it may happen that a “ramification” of the main implication stream has its own multiple implications - when this happen, such a ramification is written between “{}”.


Part 3. Single Implication Networks

A Single Implication Network (SIN), also called an Error Net, is structurally different from a nice loop in that it doesn’t have a cyclic nature. In fact, here’s how a SIN is defined in Jeff’s post “Forcing Chains: Terminology and Definition” (the definition was slightly adapted):

SIN or Error Net - a network with one implication stream that starts with a candidate selected in one node and propagates with or without multiple inferences until a contradiction is revealed. Due to this contradiction, such as “empty cell”, “one digit appears 2 times in a unit” and “no place for a digit in a unit”, it can be concluded that the candidate selected at the start is invalid.

For nice loops we have a set of “rules” that allow us immediately to make a conclusion from the notation of the nice loop (refer here). With single implication networks we have similar "rules" for identifying contradictions from their notation:

1 – If a SIN “begins” with a weak link labeled "x" from cell A we are assuming that "x" is in A.
2 – If a SIN “begins” with a strong link labeled "x" from cell A, then we are assuming that "x" is not in A and so "x" (or another candidate) is in a "conjugate" cell.
3 – If a SIN “begins” with a notation like "-x-[r7c7]" then we are assuming that "x" is not in r7c7, without assuming that “x” is in any particular cell(s), and in this case there is no "conjugate" cell. This notation means simply that we considering that “x” is not in r7c7.
4 – If a SIN "ends" in one cell we have a contradiction when: (a) there are two strong links with different labels that end in that cell; (b) if the cell is populated by candidates "x", "y", "z", ..., and there are weak links with labels "x", "y", "z", ... that end in that cell (this is the empty cell contradiction argument); (c) there are two links, one strong and the other weak, with equal labels that end in that cell.
5 – If a SIN "ends" in different cells of the same unit we have a contradiction when: (a) there are two strong links with equal labels that end in two cells of that unit; (b) there are n weak links with the same label "x" and/or strong links with a label different from “x”, that end in the only n possible cells of the unit for candidate "x".

Typically, SINs have multiple implications. Let’s now see some examples of the notation used in SINs, where the “end links” are highlighted in bold for easy analysis.

Code: Select all
 3   6    14   | 14   7    29   | 29     8     5     
 7   289  48   | 3    249  5    | 2469   246   1     
 49  129  5    | 8    6    1249 | 2479   3     479   
---------------+----------------+------------------
 28  5    9    | 147  3    1246 | 14678  1467  478   
 28  4    67   | 5    129  1269 | 3      167   789   
 1   3    67   | 47   49   8    | 4679   5     2     
---------------+----------------+------------------
 6   7    1348 | 9    5    134  | 1248   124   48     
 49  189  2    | 6    148  147  | 5      147   3     
 5   18   1348 | 2    148  1347 | 1478   9     6   

                    Puzzle 5

VII. [r8c2]=9|4=[r8c5|r9c5](-4-[r2c5])-4-[r6c5](-9-[r5c5])-9-[r2c5](-2-[r5c5])-2-[r2c2]=2=[r3c2]=1=[r1c3]-1-[r1c4]=1=[r4c4]-1-[r5c5].

This SIN begins with a strong link (which makes use of the almost unique rectangle in cells r8r25/r9c25) and so we are considering that “9” is not in r8c2; it ends with three weak links with labels “1”, “2”, and “9” in cell r5c5, and so this SIN means that if r8c2 is not “9” then r5c5 is an empty cell. So, r8c2 must be “9”.

Code: Select all
 2     14    6   | 8     7   14   | 35   9  35     
 13    5     8   | 123   9   123  | 7    4  6     
 37    9     47  | 5     46  346  | 8    1  2     
-----------------+----------------+-------------
 6     14    149 | 49    5   8    | 2    3  7     
 5     7     349 | 3469  2   3469 | 19   8  149   
 8     2     349 | 7     1   349  | 59   6  459   
-----------------+----------------+-------------
 19    8     2   | 46    46  7    | 139  5  139   
 4     3     5   | 129   8   129  | 6    7  19     
 179   6     17  | 19    3   5    | 4    2  8     

                      Puzzle 6

VIII. [r7c1]-1-[r9c3]-7-[r3c3](-4-[r5c3])=7=[r3c1]=3=[r2c1]-3-[r2c4|r2c6]=(Almost Unique Rectangle: r2c46/r8c46)=3|9=[r8c4|r8c6]-9-[r8c9]-1-[r7c7|r7c9]=(Almost Unique Pattern: r1c79/r6c79/r7c79)=1|4=[r6c9]-4-[r5c7|r5c9]-9-[r5c3]-3-[r5c4|r5c6]=3=[r6c6]-3-[r3c6]

In this case the SIN begins with a weak link from r7c1, meaning we are supposing that “1” is in that cell. This SIN ends with to weak links with label “3”, one connected to cells r2c4/r2c6 and the other connected to r3c6: according to rule 5b, this means that with r7c1=1 there is no possible cell for “3” in box 2, and so r7c1<>1. Please note the multiple implication “(-4-[r5c3])” whose purpose is to prepare cell r5c3 (by “turning it” a bivalue cell) for the implications “-9-[r5c3]-3-[r5c4|r5c6]”.

“(Almost Unique Pattern: r1c79/r6c79/r7c79)=1|4=[r6c9]”: the purpose of this notation and similar ones is to make clear for the reader the origin of the link between which the information inside the brackets is written (it can also be written between “{}”). In this example, we have in the indicated cells an almost unique pattern: we cannot have simultaneously r6c9<>4 and r7c7/r7c9<>1, otherwise the puzzle would have more than one solution. So, if r6c9 is not “4” then one of the cells r7c7/r7c9 must be “1”, and vice-versa. The information between brackets then makes more clear where this link “[r7c7|r7c9]=1|4=[r6c9]” come from.

Let’s now consider again Puzzle 1:

Code: Select all
 579   5789  12   | 3     4     12  | 589   59    6     
 459   6     249  | 7     8     29  | 1     3459  3459 
 349   89    1349 | 19    6     5   | 489   7     2     
------------------+-----------------+-------------------
 79    4     8    | 5     2     79  | 3     6     1     
 6     1     5    | 89    3     489 | 7     2     49   
 2     3     79   | 6     1     479 | 459   8     459   
------------------+-----------------+-------------------
 1     2     39   | 4     7     38  | 6     359   3589 
 3457  57    6    | 128   9     138 | 24    134   3478 
 8     79    3479 | 12    5     6   | 249   1349  3479 

                    Puzzle 1, Grid 1

Here we could also write the following SIN:

IX. [r9c2|r9c3](-9-[r8c7|r9c7]-4-[r3c7])-9-[r7c3]-3-[r7c6]-8-[r8c4|r9c4]-1-[r3c4](-9-[r3c7])-9-[r3c2]-8-[r3c7].

In this case the SIN begins with a grouped weak link, which means that we are considering the effect of candidate “9” being placed in any of the cells r9c2/r9c3. The SIN ends with three weak links with labels “4”, “8”, and “9” in cell r3c7, so we have an empty cell contradiction argument. Overall meaning of this SIN: if “9” is in any of the cells r9c2/r9c3 then r3c7 would have no possible candidate – so, both r9c2/r9c3 cannot be “9” which implies r7c3=9.

“-9-[r8c7|r9c7]” and “-8-[r8c4|r9c4]”: these are weak links connected to Almost Locked Sets – in the first case, if “9” is not in cell r9c7 then it makes up a naked pair with r8c7 on “2,4”; similarly, if “8” is not in r8c4 then this cell forms a naked pair with r9c4. This notation could also be written in the more complete form “-9-[Almost Locked Set: r8c7|r9c7]”.

Let’s now study a final example:

Code: Select all
 2345   245    1     | 9    23  7    | 56     456    8     
 6      249    29    | 1    8   5    | 7      3      249   
 23589  2589   7     | 4    6   23   | 1      59     259   
---------------------+---------------+---------------------
 1258   3      4     | 267  9   268  | 568    1567   156   
 1289   26789  2689  | 5    23  4    | 368    1679   1369   
 589    56789  689   | 367  1   368  | 4      2      3569   
---------------------+---------------+---------------------
 248    2468   5     | 236  7   1    | 9      468    346   
 29     1      2369  | 8    4   236  | 356    56     7     
 7      468    368   | 36   5   9    | 2      1468   1346   

                         Puzzle 7

For this grid it could be written:

X. [r8c7]{=(Almost Unique Rectangle: r1c7/r1c8/r8c7/r8c8)=3|4=[r1c8]-4-[r1c1]=4=[r7c1]-4-[r9c2]}=3=[r5c7](=8=[r4c7]-8-[r4c6])-3-[r5c5](-2-[r4c6]-6-[r8c6])-2-[r1c5](-3-[r3c6]-2-[r8c6])-3-[r1c1]=3=[r3c1]=8=[r3c2]-8-[r9c2]-6-[r9c4]-3-[r8c6],

First, overall meaning of this SIN: it begins with a strong link with label “3” from r8c7, and it ends with three weak links with labels “2”, “3”, “6” that meet in cell r8c6 – so, if r8c7 is not “3” then r8c6 is an empty cell, therefore r8c7 must be “3”. Note that the first ramification is written between “{}” because inside it there is information written between brackets. Let’s now analyse in detail the notation of this SIN:

“=(Almost Unique Rectangle: r1c7/r1c8/r8c7/r8c8)=3|4=[r1c8]”: the information inside brackets makes more clear the origin of the link “=3|4=”. We have an Almost Unique Rectangle in the cells indicated: if r8c7 is not “3” then r1c8 must be “4”, otherwise the puzzle would have more than one solution. This knowledge is written as “[r8c7]=3|4=[r1c8].

“-4-[r1c1]=4=[r7c1]-4-[r9c2]”: as we have seen, r8c7 not “3” implies r1c8=4 but, as we have a strong link with label “4” between cells r1c1 and r1c7, r1c8=4 implies that r1c1 cannot be “4” and so r7c1=4 which then “eliminates” “4” from r9c2, turning it into a bivalue cell and preparing it for the main implication stream.

“=3=[r5c7](=8=[r4c7]-8-[r4c6])”: as we are considering that “3” is not in r8c7, and we have a strong link with label “3” r8c7/r5c7, then r5c7=3. But we also have a strong link with label “8” between cells r5c7/r4c7, and so r5c7=3 implies r4c7=8 “eliminating” “8” from r4c6 and making this cell a bivalue cell: this is indicated by the multiple implication “(=8=[r4c7]-8-[r4c6])”.

“-3-[r5c5](-2-[r4c6]-6-[r8c6])”: r5c7=3 turns r5c5=2. This means that, as r4c6 is now a bivalue cell (due to the multiple implication “(=8=[r4c7]-8-[r4c6])”), we have r4c6=6 and so the first “end” weak link to the target cell r8c6.

“-2-[r1c5](-3-[r3c6]-2-[r8c6])”: we have seen above that r5c5=2, which implies r1c5=3 (“-2-[r1c5]”) which in turn makes r3c6=2 and we have the second “end” weak link to the target cell r8c6.

“-3-[r1c1]=3=[r3c1]=8=[r3c2]-8-[r9c2]-6-[r9c4]-3-[r8c6]”: from before we have seen that r1c5=3. But we have a strong link with label “3” between cells r1c1/r3c1, and so r1c5=3 implies r1c1<>3 which implies r3c1=3 (“[r1c5]-3-[r1c1]=3=[r3c1]”). Now we have another strong link, this time with label “8”, between cells r3c1 and r3c2: but we have seen that we have r3c1=3 and so this implies r3c1<>8 => r3c2=8 (“[r3c1]=8=[r3c2]”). If you remember, the first ramification of the SIN ended with a weak link labeled “4” in cell r9c2, turning it a bivalue cell with candidates “6,8”. But we now have r3c2=8 and this makes r9c2=6 (“[r3c2]-8-[r9c2]”) which in turn implies that r9c4=3 and here we have the third and last “end” weak link to the target cell r8c6, turning it an empty cell and revealing a contradiction.

Carcul
Last edited by Carcul on Tue Jul 11, 2006 4:11 am, edited 6 times in total.
Carcul
 
Posts: 724
Joined: 04 November 2005

Re: The notation used in Nice Loops and SINs

Postby Jeff » Fri Mar 24, 2006 6:47 am

Good work, Carcul.:D

Carcul wrote:“[r8c7]-4-[r9c8]”: this is a weak link with label “4”. A weak link with label “x” connects two cells that, in their unit, are not the only two possible places for candidate “x”.

This "weak link" is more precisely referred to as "link of weak inference"; likewise for strong link.

This weak link (link of weak inference) can connect 2 cells that are the only possible places for candidate "x" in the same unit.
Jeff
 
Posts: 708
Joined: 01 August 2005

Postby Jeff » Fri Mar 24, 2006 9:44 am

Grouped links of weak inference, eg. "[r7c6]-4-[ALS:r5789c5]", can be useful as shown in an example borrowed from Ronk:

Code: Select all
*-----------------------------------------------------------------------------*
 | 179     6       149     | 2579   -24579   249     | 8       3       24579   |
 | 379     2       5       | 379     8       349     | 469     1       4679    |
 | 379     34789   3489    | 23579   1       6       | 2459    2457    24579   |
 |-------------------------+-------------------------+-------------------------|
 | 25      349     7       | 8       6       1239    | 2459    245     12459   |
 | 8       19      169     | 4      *29      5       | 7       26      3       |
 | 25      349     3469    | 2379   -2379    1239    | 24569   8       124569  |
 |-------------------------+-------------------------+-------------------------|
 | 367     378     2       |-356    *345    #34      | 1       9       4568    |
 | 1369    5       139     |-12369  *2349    8       | 2346    2467    2467    |
 | 4       1389    1389    |-123569 *2359    7       | 2356    256     2568    |
 *-----------------------------------------------------------------------------*


[r789c4]-3-[r7c6]-4-[ALS:r5789c5]-3-[r789c4] => r789c4<>3

[r16c5]-2-[ALS:r789c5|r7c6]-9-[r5c5]-2-[r16c5] => r16c5<>2

[r16c5]-9-[ALS:r789c5|r7c6]-2-[r5c5]-9-[r16c5] => r16c5<>9

[r79c4]-5-[ALS:r5789c5]-4-[r7c6]-3-[ALS:r5789c5]-5-[r79c4] => r79c4 <>5

[r1c5]-5-[ALS:r789c5|r7c6]-9-[r5c5]-2-[ALS:r789c5|r7c6]-5-[r16c5] => r16c5<>5

[Edit: Carcul, As I read on, I realised that this kind of link has been covered towards the end of your post. Sorry for being so rush.]
Last edited by Jeff on Fri Mar 24, 2006 6:26 am, edited 2 times in total.
Jeff
 
Posts: 708
Joined: 01 August 2005

Re: The notation used in Nice Loops and SINs

Postby Jeff » Fri Mar 24, 2006 10:14 am

Carcul wrote:Part 2. Multiple Implication Nice Loops.....

Some time ago, a reasonable comment was made on the likely confusion between "multiple implication chain" and "Poly implication chain" and also the likely confusion between "multiple implication stream" and "multiple node implication". As a result, the term "multiple inference" has been adopted to express this kind of inferences between nodes. Thus, these kind of nice loops are called multiple inference nice loops.

Carcul wrote:Here we could write:

V. [r1c4]-8-[r5c4]=8=[r5c6]-8-[r7c6]-5-[r9c6]-2-[r9c5](-3-[r2c5])-3-[r3c45]-9-[r2c5]-8-[r1c4], => r1c4<>8

It was found that the implications of above nice loop notation can only be read from left to right. An extra bracket can be added to allow the notation to be read in both directions, ie.

[r1c4]-8-[r5c4]=8=[r5c6]-8-[r7c6]-5-[r9c6]-2-[r9c5](-3-[r2c5])-3-[r3c45]-9-[(r2c5)]-8-[r1c4], => r1c4<>8

The purpose of the extra bracket "[(r2c5)]" is to indicate the connection to the multiple inference "(-3-[r2c5])".
Jeff
 
Posts: 708
Joined: 01 August 2005

Re: The notation used in Nice Loops and SINs

Postby Jeff » Fri Mar 24, 2006 10:44 am

Carcul wrote:Part 1. Simple Nice Loops......

To be in line with the word "Simple" in the title, simple nice loops are those with nodes containing one single cell.

Nice loops with nodes containing 2 or more cells, such as nodes for grouped x-cycle, ALS, AUR, etc., are categorised under the title of "Grouped Nice Loops".
Jeff
 
Posts: 708
Joined: 01 August 2005

Postby ronk » Fri Mar 24, 2006 12:03 pm

What useful purpose do the square brackets serve? Instead of ...

[r789c4]-3-[r7c6]-4-[ALS:r5789c5]-3-[r789c4] => r789c4<>3

... why not just write ...

r789c4-3-r7c6-4-ALS:r5789c5-3-r789c4 => r789c4<>3

... or even ...

r789c4 -3- r7c6 -4- ALS:r5789c5 -3- r789c4 => r789c4<>3

I rather like the latter with whitespace instead of square brackets. After|all|if|whitespace|did|not|improve|readability|we|might|be|writing|like|this.:)
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Postby Jeff » Fri Mar 24, 2006 12:50 pm

ronk wrote:What useful purpose do the square brackets serve?

I feel that:

  1. The notation is easier to read with square brackets which demarcate nodes and links clearly.
  2. Square brackets [ ] symbolise square cells, just like =x= and -x- symbolise links of strong and weak inferences respectively.
Jeff
 
Posts: 708
Joined: 01 August 2005

Postby Carcul » Fri Mar 24, 2006 1:03 pm

Hi Jeff.

Thanks for your suggestions: I have already used some of them.

Ronk and Jeff:

I also prefer to use the square brackets and, if you don't mind, I will keep them. But other users please feel free to not use them.
Carcul
 
Posts: 724
Joined: 04 November 2005

Postby ronk » Fri Mar 24, 2006 1:12 pm

Jeff wrote:1. The notation is easier to read with square brackets which demarcate nodes and links clearly.

The link notation -- "-x-" and "=x=" -- already serves as demarcation between nodes. We don't need a second demarcation.

Jeff wrote:2. Square brackets [ ] symbolise square cells, just like =x= and -x- symbolise links of strong and weak inferences respectively.

The 'r' and 'c' of r1c2 already symbolize a cell on the sudoku grid. We don't need a second symbol.
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Postby ravel » Fri Mar 24, 2006 1:53 pm

Hi Carcul,

thanks for this work, it is what i wished to have for longer time now: a thread, where i quickly can look, how to write a loop, when i am uncertain (never had a problem to read others loops).

The only problem, i have with this thread is, that because of the long chains i have to shift the window right and left for every line (i cannot read it with 50% size). Maybe you missed that i already asked you in another thread to wrap the long chains (to be split in 2 lines), e.g. to break the chain in X. after (-2-[r4c6]-6-[r8c6]).
ravel
 
Posts: 998
Joined: 21 February 2006

Postby vidarino » Fri Mar 24, 2006 2:03 pm

Very nice post! Thanks!

I agree with ravel, though, please add a space or two in the longer loops so that they wrap lines instead of making the page too wide for the screen.:)
vidarino
 
Posts: 295
Joined: 02 January 2006

Postby ronk » Fri Mar 24, 2006 2:07 pm

ravel wrote:The only problem, i have with this thread is, that because of the long chains i have to shift the window right and left for every line (i cannot read it with 50% size).

I see no such problem using Microsoft IE6. What browser are you using?

However, I often see that effect because something else on the page -- a "Code:" block, I think -- prevents "line wrapping" anywhere else on the page. So I think the best anyone can do is keep the "Code:" blocks from becoming too wide.
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Postby vidarino » Fri Mar 24, 2006 2:11 pm

ronk wrote:
ravel wrote:The only problem, i have with this thread is, that because of the long chains i have to shift the window right and left for every line (i cannot read it with 50% size).

I see no such problem using Microsoft IE6. What browser are you using?


I'm using Firefox. IE6 automatically breaks words on a dash/hyphen, so loops will wrap nicely automatically there. Firefox (among others) only wraps on whitespace.
vidarino
 
Posts: 295
Joined: 02 January 2006

Postby ravel » Fri Mar 24, 2006 2:14 pm

I am using Mozilla and dont know, how or if i could force line wrapping. In this case not the code blocks are causing the problem.
ravel
 
Posts: 998
Joined: 21 February 2006

Postby tso » Fri Mar 24, 2006 6:07 pm

Bolds are mine:

Carcul wrote:III. [r2c7]=5=[r7c7]=6=[r8c7]-6-[r8c6]-8-[r9c5]-4-[r4c5|r6c5]=4|3=[r4c7|r6c7]-3-[r2c7], => r2c7<>3.

In this case, the link means that, if “4” is not in both cells r46c5 then, in order to preserve uniqueness of the solution, one of the cells r46c7 must be “3”.

“[r4c5|r6c5]”: this indicates that the set of cells separated by the vertical bar is involved in the same implication. This could also be written as “[r46c5]”.



By definition, "4" will NEVER be in both cells r46c5. The words "not in both cells" should be replaced with "not in either cell" or "not in one of the cells" or replace the bold with "if neither r46c5 is '4'". The phrase "4 is not in both cells" is not equivalent to "not-4 is in both cells".


Carcul wrote:
IV. [r7c3]=9=[r9c2|r9c3]-9-[r9c7]-4-[r8c8]-3-[r8c6]=3=[r7c6]-3-[r7c3], r7c3<>3.

“[r7c3]=9=[r9c2|r9c3]”: this is a grouped strong link, which has a similar meaning to the strong link described above:

in this case, although in a given unit there are more than two possible cells for a given candidate “x”, these cells are

distributed among only two other units. In the present example, candidate “9” is distributed in box 7 by two other units,

namely row 7 and row 9. So, if “9” is not in r7c3 then it must be in one of the cells r9c23; conversely, if “9” is

not in both cells r9c23 then it must be in r7c3
– this logic is represented by “[r7c3]=9=[r9c2|r9c3]”.



Same problem as III
tso
 
Posts: 798
Joined: 22 June 2005

Next

Return to Advanced solving techniques