Forcing chains: Terminology and Definition

Advanced methods and approaches for solving Sudoku puzzles

Forcing chains: Terminology and Definition

Postby Jeff » Thu Jan 12, 2006 10:48 am

The purpose of this thread is to discuss and standardise terminologies regarding forcing chains. This first post will be edited from time to time to outline definitions and give examples which are acceptable to the majority of users in this forum; similar to the first post of the BUG thread. Your input is welcome.

Cell - one of the 81 squares in a 9x9 grid.

Unit - a row, a column or a box.

Candidate - one of the possible digits in a cell. It is also known as a pencilmark.

Bivalue Cell - a cell containing exactly 2 candidates.

Multi-valued Cell - a cell containing 2 or more candidates.

Implication Stream - a sequence of nodes and links where strong or weak inferences are made from one node to the other(s) unidirectionally from left to right. (Refer definitions for "node", "link", "strong inference" and "weak inferences" below)

Code: Select all
Example:

Canonical format:
r1c3=9 => r8c3<>9 => r8c3=7 => r8c9<>7 => r8c9=3 => r3c9<>3 => r3c9=2 => r2c8<>2 => r2c8=1

Simplified format:
r1c3=9 => r8c3=7 => r8c9=3 => r3c9=2 => r2c8=1

Forcing Chain - a chain that has 2 or more implication streams that start from one node and end in another node where the outcomes of inferences merge from the 2 implication streams. In a forcing chain, a node can only infer the next successive node downstream.

Code: Select all
Example:

r9c6=7 => r9c1=8 => r9c1<>7
r9c6=8 => r8c5=7 => r3c5<>7 => r3c1=7 => r9c1<>7
Therefore r9c1<>7

r3c9=9 => r3c4<>9 => r2c4=9 => r2c1<>9
r3c9=7 => (r3c1 & r1c2=89) => r2c1<>9
Therefore r2c1<>9

where (r3c1 & r1c2=89) is a node containing 2 grouped cells.

Forcing Net - same as a forcing chain, except that in a forcing net, a node could infer 2 or more nodes downstream. Such inference is regarded as a multiple inference. (Refer definition of "multiple inference" below)

Code: Select all
Example:

 *-----------------------------------------------------------------------------*
 | 247     5       28      | 479     4789    1       | 6       379     3789    |
 | 3       1478    6       | 479     45789   2       | 578     1579    5789    |
 | 17      178     9       | 3       5678    678     | 2       157     4       |
 |-------------------------+-------------------------+-------------------------|
 | 79      679     4       | 5       3       679     | 1       8       2       |
 | 1279    123679  23      | 8       679     4       | 57      35679   359     |
 | 8       3679    5       | 1       2       679     | 4       3679    39      |
 |-------------------------+-------------------------+-------------------------|
 | 6       2489    1       | 479     4789    5       | 3       27      78      |
 | 245     2348    238     | 6       478     378     | 9       257     1       |
 | 59      389     7       | 2       1       389     | 58      4       6       |
 *-----------------------------------------------------------------------------*

r9c1=5 => r9c7=8 => r7c9=7 (=> r8c8<>7) => r7c8=2 => r8c8=5 => r3c8<>5 => (r3c18=17) => r3c2<>17 => r3c2=8 => r1c3=2 => r5c3=3

r9c1=9 (=> r5c1<>9) => r4c1=7 (=> r5c1<>7) => r3c1=1 => r5c1=2 => r5c3 =3

Therefore r5c3=3

where
(=> r8c8<>7), (=> r5c1<>9) and (=> r5c1<>7) are multiple inferences.
(r3c18=17) is a grouped inference, not a multiple inference.

Network - a collective term for forcing chain and forcing net.

Multiple Inference - a network is said to have a multiple inference when a node of an implication steam infers 2 or more nodes downstream. A multiple inference network is a net and should never be described as a chain.

Code: Select all
Example:

 *-----------------------------------------------------------*
 | 1245  3     24    | 78    159   459   | 789   68    469   |
 | 45    7     8     | 2     59    6     | 3     1     49    |
 | 6     9     14    | 3     18    47    | 78    5     2     |
 |-------------------+-------------------+-------------------|
 | 28    5     7     | 9     23    1     | 4     68    36    |
 | 1289  6     129   | 4     235   25    | 89    7     139   |
 | 149   14    3     | 6     7     8     | 5     2     19    |
 |-------------------+-------------------+-------------------|
 | 3     8     69    | 5     269   29    | 1     4     7     |
 | 7     2     5     | 1     4     3     | 6     9     8     |
 | 149   14    1469  | 78    689   79    | 2     3     5     |
 *-----------------------------------------------------------*

r1c7=9 (=> r1c6<>9) => r1c7<>7 => r3c7=7 => r3c6<>7 => r3c6=4 => r1c6=5 => r5c6=2 => r4c5<>2 => r4c5=3

r1c7<>9 => r5c7=9 => r4c8=8 => r4c9=6 => r4c5=3

Therefore r4c5=3

where (=> r1c6<>9) is a multiple inference in the first implication stream.

Grouped Inference- a network is said to have a grouped inference when inference can be made between nodes containing 2 cells or more. 'Grouped x-cycle', 'grouped xy-chain' and 'almost pattern network' are examples of a grouped inference network.

Code: Select all
Example:

+----------------+----------------+----------------+
| 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   |
+----------------+----------------+----------------+ 

r6c6=4 => r7c6<>4
r6c6=8 => (r9c46=46) => r7c6<>4
Therefore r7c6<>4

where
r6c6=8 => (r9c46=46) is a grouped inference implying that if r6c6 is 8, then (r9c4 & r9c6) are (4 & 6).
(r9c46=46) => r7c6<>4 is a grouped inference implying that if (r9c4 & r9c6) are (4 & 6), then r7c6 is not 4.

Strong Inference - one of the 2 inference modes for links and nodes. (Refer definitions for "link" and "node" below)

  • As applied to links, strong inference strictly implies "if a candidate group 'x' (where x can be one or more candidates) in the preceding node is false, then candidate group 'x' in the following node is true". An acceptable way to draw a link that has a strong inference is to use a solid line connecting 2 nodes. An acceptable notation for a link that has a strong inference is "=x=".
Code: Select all
Example:

The notation [r2c8]=5=[r9c8] means:
if r2c8<>5, then r9c8=5; when the notation is read from left to right, or
if r9c8<>5, then r2c8=5; when the notation is read from right to left.

The notation [r46c2]=2=[r6c13] means:
if r46c2<>2, then r6c13=2; when the notation is read from left to right, or
if r6c13<>2, then r46c2=2; when the notation is read from right to left.

  • As applied to nodes, strong inference strictly implies "if a candidate or a candidate group in a node is false, then the rest of the candidate(s) in the node is/are true".
Code: Select all
Example:

Node = [r1c1] containing candidates {4,5}
This node has a strong inference "if r1c1<>4, then r1c1=5"

Node = [r1c123] containing a lockedset+1 of {4,5,6,7}
This node has a strong inference "if r1c123<>4, then r1c123={5,6,7}"

Node = [r1c1] containing condidates {4,5,6}
This node has a strong inference "if r1c1<>{4,5}, then r1c1=6"

Node = [r1c12] containing a lockedset+2 of {4,5,6,7}
This node has a strong inference "if r1c12<>{4,5}, then r1c12={6,7}"

Weak Inference - one of the 2 inference modes for links and nodes. (Refer definitions for "link" and "node" below)

  • As applied to links, weak inference strictly implies "if a candidate group 'x' (where x can be one or more candidates) in the preceding node is true, then candidate group 'x' in the following node is false". An acceptable way to draw a link that has a weak inference is to use a broken line connecting 2 nodes. An acceptable notation for a link that has a weak inference is "-x-".
Code: Select all
Example:

The notation [r4c4]-9-[r6c6] means:
if r4c4=9, then r6c6<>9; when the notation is read from left to right, or
if r6c6=9, then r4c4<>9; when the notation is read from right to left.

The notation [r7c78]-79-[r9c9] means:
if r7c78=7 and 9, then r9c9<>7 and 9; when the notation is read from left to right, or
if r9c9=7 or 9, then r7c78<>7 and 9; when the notation is read from right to left.

  • As applied to nodes, weak inference strictly implies "if a candidate or a candidate group in a node is true, then the rest of the candidate(s) in the node is/are false".
Node - a cell or a group of cells joining 2 links in a chain propagation. A node is multi-valued and may contain any number of candidates. Each node has a weak inference that implies the labelled candidate(s) of the preceding link in the node is/are true; along the flow of an implication stream. (Refer definitions for "link" below)

Code: Select all
Example:
*-----------------------------------------------------------------*
| 18     19     3     | 7      189    5     | 4      2      6     |
| 126    14569  249   | 3      129    29    | 7      59     8     |
| 7      59     28    | 28     4      6     | 59     3      1     |
|---------------------+---------------------+---------------------|
| 5      2      89    | 1      7      89    | 6      4      3     |
| 68     369    7     | 4      269    2389  | 1      589    259   |
| 4      369    1     | 5      269    2389  | 89     7      29    |
|---------------------+---------------------+---------------------|
| 12     14     24    | 6      3      7     | 589    589    59    |
| 9      7      5     | 28     28     1     | 3      6      4     |
| 3      8      6     | 9      5      4     | 2      1      7     |
*-----------------------------------------------------------------*

r1c1=1 => r1c2=9
r1c1=8 => (r5c1=6 & r3c3=2) => r2c1=1 => r1c2=9
Therefore, r1c2=9

where (r5c1=6 & r3c3=2) is a node containing cells r5c1 and r3c3.

Strong Node - a node that has an addition strong inference that implies if the labelled candidate of the preceding link in the node is false, then all remaining candidates in the node are true; along the flow of an implication stream. A bivalue cell and an almost locked set are examples of a strong node.

Code: Select all
Example:
+----------------+----------------+----------------+
| 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   |
+----------------+----------------+----------------+ 

r6c6=4 => r7c6<>4
r6c6=8 => (r9c4|r9c6=46) => r7c6<>4
Therefore r7c6<>4

Cell r6c6 is a strong node containing candidates 4 & 8.

The almost locked set or lockedset+1 [r9c4|r9c6] is a strong node grouped from cells r9c4 & r9c6 containing candidates {4,6,8}

Link – a connection between any 2 nodes in a unit sharing a common candidate group (consisting of one or more candidates) known as a link label. Each link has a weak inference along the flow of an implication stream. The labelled candidate(s) of a link can appear 2 times or more in the unit housing it.

Strong Link - a link with a candidate group (consisting of one or more candidates) known as a link label, which appears only in the end-nodes of the link within the unit. Each strong link has a strong inference as well as a weak inference along the flow of an implication stream. The labelled candidate of a strong link appears exactly 2 times in the unit housing it.

Weak Link - there are currently 2 different interpretations of a weak link. Some users define it as a non-strong link with its labelled candidate group appears more than 2 times in the unit housing it. The majority define a weak link in the same way as the "link" defined above. Due to this confusion, its usage must be clearly specified or be avoided altogether.

Error Net or SIN (Single Implication Network) - 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. This is also the principle of a "backtest" (Refer definition of a backtest below).

Double Implication Network- a network that requires exactly 2 implication streams to made a deduction.

Code: Select all
Example:

r1c9=7 => r1c1=2 => r7c1=3
r1c9=2 => r2c9=5 => r3c8=6 => r7c8=4 => r7c3=8 => r7c2=2 => r7c1=3
Therefore, r7c1=3

Triple Implication Network- a network that requires exactly 3 implication streams to made a deduction.

Code: Select all
Example:

r6c2=1 => r1c2<>1 => r1c2=2 => r3c3<>2
r6c2=2 => r6c2=2 => r7c2<>2 => r7c3=2 => r3c3<>2
r6c2=9 => r3c2<>9 => r3c3=9 => r3c3<>2
Therefore r3c3<>2

r4c5=9 => r5c6<>9 => r5c2=9
r6c5=9 => r5c6<>9 => r5c2=9
r8c5=9 => r8c2<>9 => r5c2=9
Therefore r5c2=9

Poly-implication Network- a network that requires n number of implication streams to made a deduction.

Bilocation/Bivalue Plot or b/b plot - a diagram produced by drawing links of "strong inference" and "weak inference" on a candidate grid for identification of forcing chains, forcing nets and SINs.

Nice Loop - A series of nodes connected by links that form a closed loop that follows a set of nice loop propagation rules, enabling valid forcing chain inferences to take place. Each nice loop represents a forcing chain or a forcing net.

  • Continuous Loop- a nice loop with inferences that obey the nice loop propagation rules continuously in a cyclic manner.
  • Discontinuous Loop- a nice loop with inferences that obey the nice loop propagation rules except at a discontinuity where the deduction is made.
  • Strong Inference Loop - a nice loop with all links that make pure strong inferences to yield a deduction in the form of an inclusion, ie. Strong wing, Strong ring, Strong-cycle.
  • Weak Inference Loop- a nice loop with all links that make pure weak inferences to yield a deduction in the form of an exclusion, ie. xy-wing, xy-ring, xy-chain.
  • Alternating Inference Loop- a nice loop with all links that make strong and weak inferences alternately to yield a deduction in the form of an inclusion or exclusion , eg. x-cycle, x-wing & Turbot fish.
  • Mixed Inference Loop - a nice loop that is mixed with links that make strong inference as well as links that make weak inference to yield a deduction in the form of an inclusion or exclusion.
  • Simple Nice Loop - a nice loop in which each node contains one single cell and makes one inference to the next cell.
  • Multiple Nice Loop or Multiple Inference Nice Loop - a nice loop in which more than one inferences are made from a node to other nodes downstream. A poly-implication forcing chain can be expressed as a multiple nice loop.
  • Grouped Nice Loop or Grouped Inference Nice Loop - a nice loop in which a node may contain 2 or more cells, eg. Grounded x-cycle, Grouped xy-chain, Strong nice loop, Weak nice loop, Almost x-wing nice loop, Unique pattern nice loop, xyz wing, Almost locked set xz rule, SueDeCoq, Broken wing, Fillet-O-fish, Empty rectangle, etc.
Nice Guy - Short for "Nice Loop Guy"; a person who uses the nice loop technique to express forcing chains. ScottH, Jeff, Carcul, Ronk, Ravel, Flip and Mike Barker, are some of the "nice guys" in this forum.:D

x-cycle - a chain in which all nodes are linked by a single digit 'x' with links that make alternate strong and weak inferences to yield deduction(s). A x-cycle can be of any length. It can be continuous or discontinuous. The following patterns are subsets of x-cycles:

  • x-wing - a continuous x-cycle of length 4.
  • Swordfish of 222 formation - a continuous x-cycle of length 6.
  • Simple Colouring and Multiple Colouring - a discontinuous x-cycle of length n.
  • Turbot Fish - a discontinuous x-cycle of length 5.
  • Turbot chain - a discontinuous x-cycle of length n, where n = 5, 7, 9, ....
xy-chain or y-cycle - a chain, consists of all bivalue cells except at a discontinuity, that makes pure weak inferences between nodes to yield deduction(s). An xy-chain can be of any length. It can be continuous or discontinuous. The following patterns are subsets of xy-chains:

  • xy-ring - a continuous xy-chain of length 4.
  • xy-wing - a discontinuous xy-chain of length 4.
Strong-cycle - a chain, consists of all strong links, that makes pure strong inferences between nodes to yield deduction(s). A strong-cycle can be of any length. It can be continuous or discontinuous. The following patterns are subsets of strong-cycles:

  • Strong ring - a continuous strong-cycle of length 4.
  • Strong wing - a discontinuous strong-cycle of length 4.
Backtest – a method that validates a network: If a forcing chain technique uses a set of cells "A" to eliminate candidate "x" from cell "B" (which can belong to set A) -- then this implies that the back substitution of B=x will lead to some sort of contradiction amongst the cells of set A.
Last edited by Jeff on Sat Jul 29, 2006 11:44 pm, edited 67 times in total.
Jeff
 
Posts: 708
Joined: 01 August 2005

Re: Forcing chains: Terminology and Definition

Postby ronk » Thu Jan 12, 2006 12:15 pm

Jeff wrote:Link – a line connecting 2 nodes with a common labeled digit in a chain propagation.

Strong Conjugate Link - a link with a labeled digit which appears in exactly 2 nodes within the unit. A strong conjugate link implies if A is false, then is B true or if A is true, then B is false. A strong conjugate link can be represented by a solid line or a broken line connecting 2 nodes. Number of nodes containing the labeled digit of a strong conjugate link = {exactly 2}.

Weak Unconditional Link - a link with a labeled digit which appears in 2 nodes or more within the unit. A weak unconditional link implies if A is true, then B is false. A weak unconditional link can be represented by a broken line connecting 2 nodes. Number of nodes containing the labeled digit of a weak unconditional link = {exactly 2,3,4 .......}; a strong conjugate link can be treated as an unconditional link.


"a line":?: "a labeled digit":?: "a solid line":?: "a broken line":?: Those are tightly linked (pun intended) to bivalue/bilocation plotting ... and the word "plot" or any of its variants isn't even on the page AFAICS.

"Strong Conjugate Link":?: "Weak Unconditional Link":?: There are a lot of people who use the adjectives "strong" and "weak" for links. In association with bivalue/bilocation plots, you prefer "conjugate" and "unconditional", respectively. Let's see now ...
  1. "conjugate" vs "strong --- 3 syllables vs 1 --- 9 letters vs 6
  2. "unconditional" vs "weak" --- 5 syllables vs 1 -- 13 letters vs 4
Those aren't exactly changes towards simplicity IMO, and now you wish to add to the verbosity by combining the two? Are you trying to force verbosity down everyone's throats? Give everyone a break already.:)

But what is even worse, you would be twisting most everyone's notion of "weak" link. A weak link isn't between nodes in units with 2 or more nodes of the same digit. It's between nodes in units with 3 or more nodes of the same digit.

If you wish to have your own dictionary for bivalue/bilocation plots and nice loops ... fine ... but please don't try to force a mix the two.

And one last thing: To omit "y-cycle" as an alternate to "xy-chain" is an insult IMO to Glenn S. Fowler and his rather significant work at http://www.research.att.com/~gsf/sudoku/

Other than the above, your opening "Terminology and Definition" post is excellent. I suspect I'll be referring to it quite often.

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

Postby Jeff » Thu Jan 12, 2006 12:57 pm

Hi Ronk, The definitions in my first post are intended to provide a starting point to trigger discussions and responses like those given in your post above. I have no strong feeling towards the definitions I am using to those of others. It is definitely not my intention to insult anyone.:( I think we all should keep an open mind to consider what's best for the system. There is indefinite space under this thread for everyone to participate. We should understand that it is not a simple task to get everyone to accept the same set of definitions. When you make a comment, I wish that you would state some reasons to substantiate your concerns, not just to convince me but the majority of users in this forum.
Jeff
 
Posts: 708
Joined: 01 August 2005

Re: Forcing chains: Terminology and Definition

Postby Jeff » Thu Jan 12, 2006 1:28 pm

ronk wrote:"Strong Conjugate Link":?: "Weak Unconditional Link":?: There are a lot of people who use the adjectives "strong" and "weak" for links. In association with bivalue/bilocation plots, you prefer "conjugate" and "unconditional", respectively. Let's see now ...
  1. "conjugate" vs "strong --- 3 syllables vs 1 --- 9 letters vs 6
  2. "unconditional" vs "weak" --- 5 syllables vs 1 -- 13 letters vs 4
Those aren't exactly changes towards simplicity IMO, and now you wish to add to the verbosity by combining the two? Are you trying to force verbosity down everyone's throats? Give everyone a break already.:)

But what is even worse, you would be twisting most everyone's notion of "weak" link. A weak link isn't between nodes in units with 2 or more nodes of the same digit. It's between nodes in units with 3 or more nodes of the same digit.

Hi Ronk, Calm down please. I understand that the definitions are for forcing chains, not specifically for bilocation/bivalue plot. Would you like to suggest some good words to describe the terms in question?

I am merely suggesting to combine strong and conjugate together with a hope that the shortened terms 'strong link' and 'conjugate link' can be used to mean the same thing, and indeed they are.

With weak link, I understand the definition has always been quite loose. Take turbot fish for example, I am sure a weak side means a side with 3 candidates or more. But what's wrong with defining a weak side as 2 candidates or more and made this pattern more versatile to recognise. This change should have insignificant consequences to any other current techniques which make use of the term 'weak link'. Personally, this is just my preference and I have no problem in complying with common censuses.

The reason I left out y-cycle is due to the reasons I mentioned in another thread, that it's use is not common to this forum and it is not as meaningful as xy-chain. I am sure that it is not the only term that I have left out or missed out, so please take it easy on me. I can certainly add y-cycle to the list if that makes you happy.:D

When I come across a good term, such as x-cycle, I will definitely grab it.
Jeff
 
Posts: 708
Joined: 01 August 2005

Re: Forcing chains: Terminology and Definition

Postby ronk » Thu Jan 12, 2006 2:40 pm

Jeff wrote:Calm down please. ............. Would you like to suggest some good words to describe the terms in question?

I am calm, and I prefer sticking with the clarity, terseness, and commonality of "strong" and "weak". The clarity comes from the opposite meaning of the terms, and I would have less objection to the terms "conjugate" and "non-conjugate" than I do to "conjugate" and "unconditional". The terseness is obvious. The commonality is debatable, I suppose.

Jeff wrote:I am merely suggesting to combine strong and conjugate together with a hope that the shortened terms 'strong link' and 'conjugate link' can be used to mean the same thing, and indeed they are.

I've never had a problem with treating them as alternates, as their definitions are the same. I just have a problem with merging them.

Jeff wrote:With weak link, I understand the definition has always been quite loose. Take turbot fish for example, I am sure a weak side means a side with 3 candidates or more.

I'm not aware of any usage meaning "2 candates or more" ... other than this thread. Heretofore, you've used the term "unconditional link" for this meaning.

But what's wrong with defining a weak side as 2 candidates or more and made this pattern more versatile to recognise?

Because it's an unnecessary overlap of sets that leads to unnecessary confusion IMO. Let me illustrate ...

Image

To my mind, it's much like ...

Image

... and you know how confused *they* must be.:)

Jeff wrote:The reason I left out y-cycle is due to the reasons I mentioned in another thread, that it's use is not common to this forum and it is not as meaningful as xy-chain.

I don't have a strong opinion on that one, but it sure seems inconsistent to define x-cycle and not y-cycle. Sort of like mentioning x-chromosomes but not y-chromosomes.:)

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

Postby Wolfgang » Thu Jan 12, 2006 2:52 pm

I agree with Jeff that a strong link *also* is a weak link, because if for some chain or technique you need a weak link at some place, you always can use a strong link also.
ronks illustration is not correct, because then strong links are a subset of weak links.
Last edited by Wolfgang on Thu Jan 12, 2006 10:55 am, edited 1 time in total.
Wolfgang
 
Posts: 208
Joined: 22 June 2005

Re: Forcing chains: Terminology and Definition

Postby tarek » Thu Jan 12, 2006 2:55 pm

This should bring out a very informative thread. I have to analise this weak unconditional link in order to digest it though.:)
User avatar
tarek
 
Posts: 3762
Joined: 05 January 2006

Postby ronk » Thu Jan 12, 2006 2:59 pm

Wolfgang wrote:I agree with Jeff that a strong link *also* is a weak link, because if for some chain or technique you need a weak link at some place, you always can use a strong link also.
ronks illustration is not correct, because then strong links are a subset of weak links.

One point ... if not the main point ... of my post was that the sets should *not* overlap. How then do you see "strong" as a subset of "weak", when the sets don't even overlap?
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Re: Forcing chains: Terminology and Definition

Postby Jeff » Thu Jan 12, 2006 4:21 pm

ronk wrote:I am calm, and I prefer sticking with the clarity, terseness, and commonality of "strong" and "weak". The clarity comes from the opposite meaning of the terms, and I would have less objection to the terms "conjugate" and "non-conjugate" than I do to "conjugate" and "unconditional". The terseness is obvious. The commonality is debatable, I suppose.

Hi Ronk. I have no problem with the words "strong' and 'weak'. In fact, I found them very concise and meaningful. However, my opinion is same as Wolfgang's that for some chains or techniques, if you need a weak link at some place, you can always use a strong link by treating it as a weak link. In practice, this is suggesting that whilst the number of nodes containing the labeled digit of a strong link is {exactly 2}, the number of nodes containing the labeled digit of a weak link are {exactly 2,3,4 .......}. My questions are: Would it make good sense to make the definition and usage of strong/weak links consistent?

The term unconditional was adopted in the description of b/b plot because the meaning of weak link was too loose. I needed a term which is more precise and less confused for accurate application of the technique.

ronk wrote:I just have a problem with merging them.

How about if I call it “Strong Link or Conjugate Link” instead of “Strong Conjugate Link”?

ronk wrote:Because it's an unnecessary overlap of sets that leads to unnecessary confusion

The first diagram should show the set of strong links being a subset of unconditional links. Whether the 2 sets are overlapped or not, a weak link has always been used as a replacement of strong link in practice. Could you suggest a way to overcome the inconsistency between the ‘common’ definition and actual usage? My suggestion is to consolidate the definition of a weak link to also cover exactly 2 nodes in a unit. The issue of confusion can be removed by way of a clear definition which is the purpose of this thread.:D
Jeff
 
Posts: 708
Joined: 01 August 2005

Postby Jeff » Thu Jan 12, 2006 5:13 pm

ronk wrote:I'm not aware of any usage meaning "2 candates or more" ... other than this thread. Heretofore, you've used the term "unconditional link" for this meaning.

Here is an example extracted from the thread almost-locked sets -- doubly weakly linked, which you had some involvement, showing a weak link being used in a unit with exactly 2 nodes containing the labeled digit.

Bob Hanson wrote:Here's what it found in snapshot #29:
Image
A={26 23}
B={79 39 679}
x=3 (weak link)
z=6 (can be eliminated)

Ronk, can you see that the unit (box 4) housing the weak link with label 3 above has exactly 2 nodes (r4c3 & r6c2) containing the digit 3?:D
Jeff
 
Posts: 708
Joined: 01 August 2005

Postby ronk » Thu Jan 12, 2006 7:20 pm

Jeff wrote:
Bob Hanson wrote:A={26 23}
B={79 39 679}
x=3 (weak link)
z=6 (can be eliminated)

Ronk, can you see that the unit (box 4) housing the weak link with label 3 above has exactly 2 nodes (r4c3 & r6c2) containing the digit 3?:D

Bob Hanson was illustrating bennys' almost locked set xz rule ... which requires only a weak link for x. So with "x=3 (weak link)" above, Bob was merely denoting the requirements of the rule ... NOT that the 'edge' between the two candidates is a weak link.

Jeff wrote:However, my opinion is same as Wolfgang's that for some chains or techniques, if you need a weak link at some place, you can always use a strong link by treating it as a weak link. In practice, this is suggesting that whilst the number of nodes containing the labeled digit of a strong link is {exactly 2}, the number of nodes containing the labeled digit of a weak link are {exactly 2,3,4 .......}. My questions are: Would it make good sense to make the definition and usage of strong/weak links consistent?

My answer is "no" to the direct question ... because the meaning of "weak link" is too well established. While I understand your goal, I think the price ... in terms of the confusion the redefinition would cost ... is too high. Using "today's terms", I'll illustrate the situation as ...

Image

... and your goal is to "merge" the two. For the aforementioned reason (confusion from redefinition), I must insist that would be unwise. At the moment, I don't have any better suggestions than "conjugate" and "unconditional" ... but I'll definitely give it some thought.

Jeff wrote:How about if I call it “Strong Link or Conjugate Link” instead of “Strong Conjugate Link”?

That's fine, I suspect most people consider the terms as equivalent anyway.

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

Postby tso » Thu Jan 12, 2006 8:37 pm

I know its months to late to bring this up, but, but I've always wondered why (and been confused because) the term "unconditional" is used rather than "conditional" and "conjugate" is used instead of "unconditional"

Given:

Code: Select all
[12][23][any]|[any][any][any]|[any][any][any]


... what I know is:
-- if r1c1=2 is TRUE, then r1c2=2 is FALSE
-- if r1c2=2 is TRUE, then r1c1=2 is FALSE

... but if:
-- r1c1=2 is FALSE, I know nothing
-- r1c2=2 is FALSE, I know nothing

Where is the "unconditional" in that? Seems conditional to me -- the condition being, for there to be a link, either r1c1=2 or r1c2=2 must be true -- otherwise, there is no link.

Meanwhile:

Code: Select all
[12][13][<>1]|[<>1][<>1][<>1]|[<>1][<>1][<>1]


...what I know is:
-- if r1c1=1 is TRUE, then r1c2=1 is FALSE
-- if r1c2=1 is TRUE, then r1c1=1 is FALSE
-- if r1c1=1 is FALSE, then r1c2=1 is TRUE
-- if r1c2=1 is FALSE, then r1c1=1 is TRUE

... or more simply:
--- r1c1=1 is TRUE if and only if r1c2=1 is FALSE

This seems pretty unconditional to me. Under all possible conditions, the value of one cell gives the value of the other. It fits the definition of conjugate as well.

If I hadn't *known* that this is called a strong link or a conjugate link, I might assume that it was called an unconditional link. It sure *seems* unconditional.


Why have we avoided using unambiguous terms like OR-LINK and XOR-LINK (exclusive or)?


And then there are links like:

Code: Select all
[12][12][<>12]|[<>12][<>12][<>12]|[<>12][<>12][<>12]


... that don't have a special name.
tso
 
Posts: 798
Joined: 22 June 2005

Postby ronk » Thu Jan 12, 2006 9:22 pm

tso wrote:Given:

Code: Select all
[12][23][any]|[any][any][any]|[any][any][any]


... what I know is:
-- if r1c1=2 is TRUE, then r1c2=2 is FALSE
-- if r1c2=2 is TRUE, then r1c1=2 is FALSE

... but if:
-- r1c1=2 is FALSE, I know nothing
-- r1c2=2 is FALSE, I know nothing

Where is the "unconditional" in that?

Jeff's earlier answer to my similar question is here.
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Postby tarek » Thu Jan 12, 2006 10:09 pm

Building on the definitions mentioned at the start.

As I am trying to bulid the logic behind the eliminations generated by the function I described on another thread, I discovered several interesting things:

when I tried constructing the logic using only single eliminatins: if i limited the enumber of eliminations per cell to 1, the resultant line was always a poly implication chain.

following that, if I didn't limit the number of eliminations per cell, the result would be a poly implication net (wher one branch of the chain picks the end of another) !!!

Is it possible to give an example on how to write the notation for a poly implication net ?
User avatar
tarek
 
Posts: 3762
Joined: 05 January 2006

Re: Forcing chains: Terminology and Definition

Postby tarek » Thu Jan 12, 2006 11:27 pm

Jeff wrote:Poly-implication - a network that requires n number of implication streams to made a deduction.

Multi-implication or Multiple Implication - a network that has an implication steam in which a node could imply 2 or more nodes downstream. A multi-implication network is regarded as a forcing net. Refer definition of forcing net above.


the use of Multi & Poly can get confusing..... Using the Forcing net as a general term then using implcation nets (double/triple/poly) as subsets is better & delete the terms multi/mutiple, or the other way round, because we use the words DOUBLE & TRIPLE, replace every poly with Multi or Multiple.
User avatar
tarek
 
Posts: 3762
Joined: 05 January 2006

Next

Return to Advanced solving techniques