Forcing chains: Terminology and Definition

Advanced methods and approaches for solving Sudoku puzzles

Re: Forcing chains: Terminology and Definition

Postby Jeff » Wed Mar 08, 2006 7:54 pm

ronk wrote:In the case of a loop with a discontinuity, the same exclusion results even if the discontinuity has more than two candidates. Therefore, I plan to apply the term "chain" to that portion of the loop which excludes the discontinuity.

To be consistent, I guess I'll need to treat a "pure bilocation" loop with a discontinuity the same way.

I regard a pure bivalue chain as a closed discontinuous loop which includes the discontinuity. As such, I shall correct the definition as follows:

Pure Bivalue Chain - a chain with strong nodes except the one at the discontinuity, and links that make weak inferences to yield a deduction in the form of an exclusion, eg. an xy-chain.

The definition for pure bilocation chain is okay though.
Jeff
 
Posts: 708
Joined: 01 August 2005

Re: Forcing chains: Terminology and Definition

Postby ronk » Wed Mar 08, 2006 10:12 pm

Jeff wrote:The definition for pure bilocation chain is okay though.
.......
Pure Bilocation Chain - a chain with links that make strong inferences only to yield a deduction in the form of an inclusion.

For the reason described below, I'll be treating that as if it said "strong links" instead of "strong inferences".

Using an illustration similar to what Myth Jellies has used, we can illustrate a short Pure Bilocation Chain as ...
Code: Select all
     ( 1 any) = 1 = (13 any)
        | |         | |
         1           3
        | |         | |
     (12 any) = 2 = (23 any)

... where ' =' and '||' both indicate strong links. To deduce the placement (inclusion) of 1 in the upper left cell, each strong link would be treated as a strong inference.

If we have a couple more strong links with digit 3, we might have ...
Code: Select all
     ( 1 any) = 1 = (13 any) = 3 = (3 any)
        | |                          | |
         1                            3
        | |                          | |
     (12 any) = 2 = (23 any) = 3 = (3 any)

... with exactly the same inclusion in the upper left cell. However, we would be treating the rightmost strong cell as a weak inference.

Since all links in both illustrations are bilocation links, and the deduction of the 2nd illustration is identical to the 1st, I see no logical reason to call the 2nd chain something other than a Pure Bilocation Chain.

Ron
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Re: Forcing chains: Terminology and Definition

Postby Jeff » Thu Mar 09, 2006 4:01 am

ronk wrote:For the reason described below, I'll be treating that as if it said "strong links" instead of "strong inferences"................

If we have a couple more strong links with digit 3, we might have ...
Code: Select all
     ( 1 any) = 1 = (13 any) = 3 = (3 any)
        | |                          | |
         1                            3
        | |                          | |
     (12 any) = 2 = (23 any) = 3 = (3 any)

... with exactly the same inclusion in the upper left cell. However, we would be treating the rightmost strong cell as a weak inference.

Since all links in both illustrations are bilocation links, and the deduction of the 2nd illustration is identical to the 1st, I see no logical reason to call the 2nd chain something other than a Pure Bilocation Chain.

You are right if the term 'strong inference' in the definition was replaced with 'strong link'. But, this is not the intention because I want to describe chains with 3 different kinds of implications, namely 'pure strong inference', 'pure weak inference' and 'mixed strong and weak inferences'.

For your second example, it is called a combination chain which is defined as follows:

Combination Chain - a chain that is mixed with links that make strong inference as well as links that make weak inference to yield a deduction which could be an inclusion or exclusion. A strong node is required between 2 links that make weak inferences.
Jeff
 
Posts: 708
Joined: 01 August 2005

Postby Myth Jellies » Thu Mar 09, 2006 7:42 am

I am just wondering...wouldn't it be more fruitful if we allowed ourselves to consider links within the node the same way we consider links outside of the node? When you do, then a pure bilocation chain is equivalent to a pure bivalue chain, which is equivalent to a combination chain. They all simply consist of alternating strong and weak links between candidates. The only differences are whether there is a strong link discontinuity, a weak link discontinuity, or no discontinuity; and whether the weak links, in the case of a continuous loop, occur inside or outside of the nodes.

For a continuous loop, you have two cases. If a weak link lies outside of a node (in other words between two nodes), then you can remove that candidate from any other cell that sees both those two nodes. If a weak link lies inside of a node, then you can remove any other candidates that are not part of that link from that node.

For a double-weak-link discontinuity, the candidate (or candidate group) that is part of both weak links cannot be true.

For a double-strong-link discontinuity, the candidate (or candidate group) that is part of both strong links must be true.

Now for this logic to work, you really only need to alternate links that have an "if A then (not B)" relationship with links that have an "if (not A) then B" relationship.

We seem to like equating conjugate links with strong links. Conjugate/strong links actually have the relationship "A equals (not B)" which satisfies both the weak "if A then (not B)" relationship and the strong "if (not A) then B" relationship. Thus we say that a strong link can stand in for a weak link.

There are links, however, that only satisfy the strong "if (not A) then B" relationship. Since the statement "if (not A) then B" is the converse of "if A then (not B)", then I would propose calling these links, converse links. A converse link can stand in for a strong link.

For chains, as opposed to nets, this is all you really need, although nice nets also follow these simple rules.

I think this simple way of looking at candidates, links, nodes, and chains preserves most of the historical meanings many of us have grown attached to, while eliminating a lot of extraneous stuff that only adds to confusion rather than helping folks to understand.

It seems better to me to have one simple theory that explains all of the various types of nice loops and their reductions, rather than lots of different theories and terms that only apply to various subsets of the nice loops. Just my two cents.
Myth Jellies
 
Posts: 593
Joined: 19 September 2005

Postby Jeff » Thu Mar 09, 2006 1:05 pm

Myth Jellies wrote:I am just wondering...wouldn't it be more fruitful if we allowed ourselves to consider links within the node the same way we consider links outside of the node? When you do, then a pure bilocation chain is equivalent to a pure bivalue chain, which is equivalent to a combination chain. They all simply consist of alternating strong and weak links between candidates. The only differences are whether there is a strong link discontinuity, a weak link discontinuity, or no discontinuity; and whether the weak links, in the case of a continuous loop, occur inside or outside of the nodes.

For a continuous loop, you have two cases. If a weak link lies outside of a node (in other words between two nodes), then you can remove that candidate from any other cell that sees both those two nodes. If a weak link lies inside of a node, then you can remove any other candidates that are not part of that link from that node.

For a double-weak-link discontinuity, the candidate (or candidate group) that is part of both weak links cannot be true.

Hi MJ, I know that some people, yourself included, would consider a link as a connection between nodes as well as connection between candidates within a node. At present, the term 'link' in the definition list only applies to connections between nodes such that when a 'link' is mentioned, we know it strictly means 'link between nodes' which is in line with what most people in this forum would interpret as the general meaning. Consider the following instant examples:

For example: Should the term 'link' be defined to have double meanings, your statement "strong link discontinuity, a weak link discontinuity" above would become ambiguous because you didn't clarify whether 'strong link', was a 'strong link between nodes' or a 'strong link within node'; whereas according to the current definition list, a 'strong link between nodes' and a 'strong link within node' are simply called 'strong link' and 'strong node' respectively.

For example: Your statement "If a weak link lies outside of a node (in other words between two nodes)" above requires heavy notes to explain whether the link is ‘between nodes’ or ‘within a node’; whereas according to the current definition list, all you had to say was just simply a 'link'.

BTW, there should be one more type of discontinuous loop which has a link of strong inference and a link of weak inference at the discontinuity.

Myth Jellies wrote:For a double-strong-link discontinuity, the candidate (or candidate group) that is part of both strong links must be true.

I am not trying to correct the English of your statements, as English is never my strong subject. I am just trying to point out the ambiguities, with the following added notes:

    "For a double-strong-link {link between nodes or link within node?} discontinuity, the candidate (or candidate group) that is part of both strong links {link between nodes or link within node?} must be true {since a 'strong link' can have a strong inference or weak inference, the candidate could be not true as well}."
These ambiguity can be removed by using terms in the current definition list as follows:

    "For a discontinuity with double-link of strong inference, the candidate (or candidate group) that is part of both links must be true".
Myth Jellies wrote: Now for this logic to work, you really only need to alternate links that have an "if A then (not B)" relationship with links that have an "if (not A) then B" relationship.

This statement is OK. But in many cases, the type of links, whether they are between nodes or within node, are also required to be specified. In those cases, it would be easier to differentiate for example 'strong link between nodes' and 'strong link within node' as simply 'strong link' and 'strong node'.

Another point: A 'link' shares the same link label between nodes and that is what linking the nodes together. However, all candidates within a node are linked together by nature and therefore its linkage goes without saying anyway. All we need to specify for a node is whether it is a strong node or a weak node.

Myth Jellies wrote:We seem to like equating conjugate links with strong links. Conjugate/strong links actually have the relationship "A equals (not B)" which satisfies both the weak "if A then (not B)" relationship and the strong "if (not A) then B" relationship. Thus we say that a strong link can stand in for a weak link.

There are links, however, that only satisfy the strong "if (not A) then B" relationship. Since the statement "if (not A) then B" is the converse of "if A then (not B)", then I would propose calling these links, converse links. A converse link can stand in for a strong link.

I don't quite understand this part. Please explain:

If you would like to define a converse link meaning a link that has a strong inference only? or

If you would like to replace the term 'strong link' with 'converse link' meaning a link that has both a strong inference and weak inference? If this is the case, then why not use 'strong link' as is?

Myth Jellies wrote:I think this simple way of looking at candidates, links, nodes, and chains preserves most of the historical meanings many of us have grown attached to, while eliminating a lot of extraneous stuff that only adds to confusion rather than helping folks to understand

After reading my explanation, if you still insist to define link with double meanings, I can certainly add some note to the list and leave it up to the folks to determine what suits them best. Personally, I know by doing that, the precision of the current definitions will be compromised.

Myth Jellies wrote:It seems better to me to have one simple theory that explains all of the various types of nice loops and their reductions, rather than lots of different theories and terms that only apply to various subsets of the nice loops. Just my two cents.

With the nice loop technique, it never requires to express the connection of any candidates within a node as 'links' and I intend to keep it that way. Thanks
Jeff
 
Posts: 708
Joined: 01 August 2005

Postby ronk » Thu Mar 09, 2006 1:30 pm

Myth Jellies wrote:Since the statement "if (not A) then B" is the converse of "if A then (not B)", then I would propose calling these links, converse links.
I think that's inverse, Ron
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Postby ravel » Thu Mar 09, 2006 2:26 pm

ronk wrote:I think that's inverse

So the converse is the contrapositive of the inverse:)
ravel
 
Posts: 998
Joined: 21 February 2006

Postby Myth Jellies » Sat Mar 11, 2006 8:15 am

ronk wrote:
Myth Jellies wrote:Since the statement "if (not A) then B" is the converse of "if A then (not B)", then I would propose calling these links, converse links.
I think that's inverse, Ron


Doh, you know, I never bothered to remember which is which between inverse and converse since they are equivalent to each other. Keeping that in mind, I liked the sound of "converse link" better. It sounds tough, like Converse All-Stars, while "inverse link" sounded a little wimpy to me. Since this type of link can stand in for a strong inference, I went for what I thought was the stronger sounding name.:)

Jeff wrote:link between nodes or link within node?


Jeff, there really is no such thing as a link between nodes. In every case what you have is a link between candidates, or, if you want to consider groupings, you can have links between candidate groupings. When someone states they have a link between nodes, what they really have is a link from a candidate in one node to a candidate in another node. When you make your B&B plots, even you draw them that way!

I made some of my descriptions more complex than they needed to be, so let me make them even simpler.

A continuous nice loop is a loop of candidate links where the links alternate between strong links and weak links (or links with strong inferences and links with weak inferences is even better). This means that a continuous nice loop has an even number of candidate links. When you have a continuous nice loop, you can assume that either one or the other candidate connected by a weak link is true, and make your reductions based upon that.

A discontinuous nice loop is the same as a continuous nice loop, except that it has one extra candidate link (giving it an odd number of candidate links). If that extra link is a weak link, then there will be one candidate in the loop that has two weak links, while every other candidate has a weak and a strong link. The candidate with two weak links can be deleted. If the extra link is a strong link, then one candidate will have two strong links. In that case, the candidate with the two strong links is true.

In all of the above you can replace "candidate" with candidate grouping; it all still applies. You can also have nets instead of simple loops, so long as each loop pathway through the net follows the loop rules.

It is all just that simple. You don't have to have different terminology for what is happening inside versus outside of a node. You don't have to have different types of nice loops based on different types of "links between the nodes." You don't have to label your links with digits, or come up with odd names like a "not 1" link; the links are perfectly defined by the candidates at their endpoints.

Jeff wrote:With the nice loop technique, it never requires to express the connection of any candidates within a node as 'links' and I intend to keep it that way


If you have candidates 12 in a cell, the link between the 1 and the 2 in that cell is equivalent to, and just as important to the loop as the link between a 1 and a 1 in a house when there are only two 1's in that house. Likewise, when you have a 12X in a cell, the link between the 1 and the 2 is equivalent to and just as important to the loop as the link between two 1's when there are three or more 1's in a house. I honestly do not know what you achieve by taking such an unwavering stance on the subject. I'm not asking you, here, to change the way you find, use, or document your loops; but allow, at least, that there might be a simpler way of explaining them.
Myth Jellies
 
Posts: 593
Joined: 19 September 2005

Postby ronk » Sat Mar 11, 2006 11:36 am

Myth Jellies wrote:I never bothered to remember which is which between inverse and converse since they are equivalent to each other.

With that reasoning, it seems to me an original statement, its converse, its inverse, and its contrapositive would all be equivalent.

Ron
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Postby Jeff » Sat Mar 11, 2006 4:04 pm

Myth Jellies wrote:Jeff, there really is no such thing as a link between nodes. In every case what you have is a link between candidates, or, if you want to consider groupings, you can have links between candidate groupings. When someone states they have a link between nodes, what they really have is a link from a candidate in one node to a candidate in another node. When you make your B&B plots, even you draw them that way!

MJ, I use the term 'link between nodes' and 'link within node' in our discussion to distinguish between the two types of link you are using. This is to avoid confusion that 'link between candidates' could imply either types of link. Regarding 'link between nodes', please consider the following simple xyz-wing:

Code: Select all
+----------------+----------------+----------------+
| 7    1    4    | 2    3    9    | 8    6    5    |
| 2    5    9    | 8    6    1    | 4    7    3    |
| 3    6    8    | 57   4    57   | 2    1    9    |
+----------------+----------------+----------------+
| 4    38   7    | 56   1    2568 | 35   9    28   |
| 9    38   6    | 47   58   247  | 35   24   1    |
| 5    2    1    | 3    9   *48   | 7    48   6    |
+----------------+----------------+----------------+
| 8    9    3    | 1    7   #45   | 6    25   24   |
| 6    4    2    | 9    58   3    | 1    58   7    |
| 1    7    5    |*46   2   *468  | 9    3    48   |
+----------------+----------------+----------------+ 

The nice loop notation is:
[r7c6]-4-[r6c6]-8-[r9c46]-4-[r7c6] => r7c6<>4

As you can see, the link -8- is considered linking the node [r6c6] and the node [r9c46] together. The full description should be 'a link between nodes [r6c6] and [r9c46] on candidate 8'. In short, I just call it 'a link between nodes'. When I make my B&B plots, I certainly do not draw links between candidates; I draw links between nodes with link labels. I don't understand why you said there is no such thing as a link between nodes? There are links between nodes at least for the nice loop technique.

Myth Jellies wrote:A continuous nice loop is a loop of candidate links where the links alternate between strong links and weak links (or links with strong inferences and links with weak inferences is even better)..............so long as each loop pathway through the net follows the loop rules.

Your definition for the candidate links mentioned above is not exactly the same definition for links in nice loops. Your loop rules are certainly not the nice loop propagation rules either. I wouldn't be so concerned if your description was not referring to nice loops. As you may already know, the nice loop technique involves 4 operations, namely

(a) construction of b/b plot for pattern recognition,
(b) examine nice loop propagation rules for valid inferences,
(c) examine deduction rules for candidate inclusions and exclusions, and
(d) write nice loop notation for illustration of chain inferences and deductions;

all of which were developed with links strictly meaning links between nodes.

Your description of continuous and discontinuous loops using links between candidates (both between nodes and within node) is nice in summarising various types of loop, but it is certainly not in line with the operations of the nice loop technique mentioned above. It can be easily confused with the x-cycle nice loops.

Myth Jellies wrote:I honestly do not know what you achieve by taking such an unwavering stance on the subject. I'm not asking you, here, to change the way you find, use, or document your loops; but allow, at least, that there might be a simpler way of explaining them.

Sorry if had mistaken your intention. Perhaps I should have said that you description for the loops is nice but unfortunately it causes confusion and doesn't help when the operations of the nice loop technique are being performed. This should explain why I am taking such an unwavering stance on this subject.
Jeff
 
Posts: 708
Joined: 01 August 2005

Postby ronk » Sat Mar 11, 2006 5:27 pm

Hi Jeff,

I suggest you re-title this thread along the lines of ...

"Forcing chains using b/b plots and nice loops: Terminology and Definition"

... because that is certainly what it has become.

Ron
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Postby Jeff » Sat Mar 11, 2006 5:47 pm

ronk wrote:I suggest you re-title this thread along the lines of ...

"Forcing chains using b/b plots and nice loops: Terminology and Definition"

... because that is certainly what it has become.

Thanks Ronk. Why not, but I should let other members to have their say first. Personally, I'll be happy to do it just to get you off my back.:D

Just want to point out that my discussion with MJ is about nice loop, which is not just forcing chain.
Jeff
 
Posts: 708
Joined: 01 August 2005

Postby Myth Jellies » Sun Mar 12, 2006 11:13 am

Jeff, once you consider links as being between candidates, then it doesn't matter if the link is inside or outside of a node. Whether you realize it or not, your nice loops, xy-cycles, x-cycle loops, bivalue loops, bilocation loops, and mixed loops are all equivalent under this paradigm. They all obey the simple rules that I spelled out for candidate links and inferences. Whether you wish to incorporate this in your technique or not is a moot point, the observation still holds, and others can use it as they see fit, if they so desire.
Code: Select all
+----------------+----------------+----------------+
| 7    1    4    | 2    3    9    | 8    6    5    |
| 2    5    9    | 8    6    1    | 4    7    3    |
| 3    6    8    | 57   4    57   | 2    1    9    |
+----------------+----------------+----------------+
| 4    38   7    | 56   1    2568 | 35   9    28   |
| 9    38   6    | 47   58   247  | 35   24   1    |
| 5    2    1    | 3    9   *48   | 7    48   6    |
+----------------+----------------+----------------+
| 8    9    3    | 1    7   #45   | 6    25   24   |
| 6    4    2    | 9    58   3    | 1    58   7    |
| 1    7    5    |*46   2   *468  | 9    3    48   |
+----------------+----------------+----------------+ 

Just FYI, the candidate links, ...
Code: Select all
    4]-[(4&6)=8]-[8= 4]-[4   eliminates 4's in r78c6
r78c6] [r9c46  ] [r6c6] [r78c6

...where (4&6) implies both 4&6 are true in its group of cells, are an equvialent way of representing the xyz-wing. It also highlights the interaction between the 4's, 8's, and 6's in r9c46 which is lost in your node-based link representation.
Myth Jellies
 
Posts: 593
Joined: 19 September 2005

Postby ronk » Sun Mar 12, 2006 11:59 am

Myth Jellies wrote:It also highlights the interaction between the 4's, 8's, and 6's in r9c46 which is lost in your node-based link representation.

If I'm understanding your meaning of "node-based link representation", the interaction need not be "lost". Consider ...

r7c6-4-r6c6-8-(ALS:r9c6=8|46=r9c46)-4-r7c6

Within the ALS and reading left-to-right, the single digit 8 is removed from the 846 ALS leaving [edit: naked pair] 46 in r9c46.

Reading right-to-left, the [edit: a 4 (or 6) is removed from both r9c4 and r9c6] leaving an 8 in r9c6.

Ron
Last edited by ronk on Sun Mar 12, 2006 12:24 pm, edited 1 time in total.
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Postby Jeff » Sun Mar 12, 2006 3:01 pm

Myth Jellies wrote:once you consider links as being between candidates, then it doesn't matter if the link is inside or outside of a node......

MJ, It's not that I don't understand your representation. Like I said, your representation is nice - for following the logic of a chain. Unfortunately, it doesn't help the process of manual nice loop identification as it complicates the meaning of "link" rigidly defined for the nice loop technique. Again, I realise your representation has its merit. But, it just doesn't fit in with the overall scheme of the nice loop technique.

Myth Jellies wrote:....It also highlights the interaction between the 4's, 8's, and 6's in r9c46 which is lost in your node-based link representation.

The 6's in r9c46 is not lost. It is just not required for the weak inference [r9c46]-4-[r7c6]. I could have made it [r9c46]-46-[r7c6] if I wanted to. But, with nice loop, it is only required to label the candidates actually making the inference between nodes.
Jeff
 
Posts: 708
Joined: 01 August 2005

PreviousNext

Return to Advanced solving techniques