## Two-Candidate Notation

Everything about Sudoku that doesn't fit in one of the other sections

### Re: Two-Candidate Notation

daj95376 wrote:The format of the SK-Loop and V-Loop for Easter Monster are now represented by:

Code: Select all
`SK-Loop:(2'7)r13c2 = (2'7 - 1'6)r56c2 = (1'6)r79c2 - (1'6)r8c13 = (1'6 - 2'7)r8c45 = (2'7)r8c79 -(2'7)r79c8 = (2'7 - 1'6)r45c8 = (1'6)r13c8 - (1'6)r2c79 = (1'6 - 2'7)r2c56 = (2'7)r2c13 - loopV-Loop:(4'8 = 2'7)r13c2 - (2'7 = 3'8)r2c13 - (3'8 = 1'6)r2c79 - (1'6 = 3'9)r13c8 -(3'9 = 2'7)r79c8 - (2'7 = 4'5)r8c79 - (4'5 = 1'6)r8c13 - (1'6 = 4'8)r79c2 - loop`

These loops are bi-directional and meet all of the other properties of an AIC-loop as far as I can tell.

They look bi-directional, but they are not. You cannot conclude anything (no elimination) by moving in only one direction.
denis_berthier
2010 Supporter

Posts: 1259
Joined: 19 June 2007
Location: Paris

### Re: Two-Candidate Notation

Denis, for a start don't expect a sensible answer from DAJ – I've proved to him that in his SK loop notation his strong links are invalid as both terms can be false but he's chosen to ignore that.

To respond to your other points:
As you know AICs only depend on OR and NAND operators to work. It is of no consequence if individual ORs also happen to be XORs. The key point is that the inferences they derive will also be NANDs and ORs.

As there is no shorthand way of expressing a NAND inference, '-' was adopted. This then produced the obvious complementary notation "=" for OR. With these understandings this combination of symbols produces a concise and more easily understood notation in our chains. On the whole players are not mathematicians and if the 'regular' logical symbols were used it would make our chains much more difficult for them to digest. I use the quotes for 'regular' because, as you have shown, there is no one universally adopted set of symbols and if the various options used in different programing languages were also included I believe that this would produce yet more confusion.

If you like, we only paddle at the shallow end of the swimming pool so there is no need to over-engineer Sudoku AIC notations to serve any other purpose. I therefore can't see why you object so strongly. As it is there are still a lot of players who pull down the shutters when presented with the logical twists involved. They are not concerned with the whys and just want a set of rules to follow. If you read this thread from the start and sample the discussions in the puzzles threads containing more than 10 posts you'll appreciate the difficulties this presents.

Your mathematically purer approach requires us to learn how to swim. Anyone who succeeds will be able to notate multiple links in a single line of notation as you do, but many will flounder on the way as your learning curve is extensive. As a non-swimmer, and with little ambition to learn, I can therefore only have a broad appreciation of what you say. This is because I believe the prime purpose of Sudokus is to provide people with logical puzzles that are capable of being humanly solved and the mission you have set yourself is entirely different.

David
David P Bird
2010 Supporter

Posts: 1038
Joined: 16 September 2008
Location: Middle England

### Re: Two-Candidate Notation

David P Bird wrote:As you know AICs only depend on OR and NAND operators to work. It is of no consequence if individual ORs also happen to be XORs. The key point is that the inferences they derive will also be NANDs and ORs.

Yes, that's the AIC pseudo-abstract "inference level" view.
In the observable world, there are only cells, candidates and links. The way they are used for inferences is secondary to their factual existence. That's what a player sees, before hearing the word "inference", if he ever does. There's no swimming in deep waters here.

David P Bird wrote:As there is no shorthand way of expressing a NAND inference, '-' was adopted.

FAPP, my use of "—" has the same meaning, but it insists on the factual (direct link) instead of the inference view.

David P Bird wrote:This then produced the obvious complementary notation "=" for OR.

Methinks the "obvious complementary notation" would have been +.

David P Bird wrote:If you like, we only paddle at the shallow end of the swimming pool so there is no need to over-engineer Sudoku AIC notations to serve any other purpose.

I totally agree that the AIC notation was not designed for other purposes than relatively simple chains. But the fact is, it is permanently extended in personal ways for over-complicated and generally eligible patterns, as illustrated by most of the "Puzzles" sub-forum.

David P Bird wrote:I therefore can't see why you object so strongly.

Even in its most basic form, besides the use of "=", the main reason why I'm not a fan (that's an understatement) is the lack of symmetry:
bivalue r5c5 cell: -(1=2)r5c5-
bilocal candidate in row r5: -(1)r5c5=(1)r5c6-

In the nrc notation, they would be respectively:
r5c5{n1 n2}
r5n1{c5 c6}

The AIC notation was introduced before a full understanding of symmetries was reached. It fails to take into account the fundamental identity between "bivalue" and "bilocal".
denis_berthier
2010 Supporter

Posts: 1259
Joined: 19 June 2007
Location: Paris

### Re: Two-Candidate Notation

Danny, write the Easter Monster SK loop this way and you are on the safe side
Code: Select all
`48r13c2 -> 16r79c2 -> 45r8c13 -> 27r8c79 -> 39r79c8 -> 16r24c8-> 38r2c79 -> 27r13c2 -> 48r13c2 loop=> r345c2<>48, r7c3,r9c1<>16,r8c45<>45, ...`
eleven

Posts: 1842
Joined: 10 February 2008

### Re: Two-Candidate Notation

daj95376 wrote:Similarly, there is no difference in the first two forms for the negation of "a" and "b" in two cells. Currently, this is viewed as the pair is not present. I'll leave it at that. The reason for the new symbol is to allow for the negation of both "a" and "b" in the two cells.

Code: Select all
`-( a   b )  ->  ( -a XOR -b )-( a & b )  ->  ( -a XOR -b )-( a ' b )  ->  ( -a AND -b )`

IMO the "OR" operator works fine for the last ...

-(a OR b) -> NOT (a OR b) -> (NOT a) AND (NOT b)

... but I suppose this leaves a problem for you with the inverse, since only one of (a) or (b) might be true.
ronk
2012 Supporter

Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

### Re: Two-Candidate Notation

eleven wrote:Danny, write the Easter Monster SK loop this way and you are on the safe side
Code: Select all
`48r13c2 -> 16r79c2 -> 45r8c13 -> 27r8c79 -> 39r79c8 -> 16r24c8-> 38r2c79 -> 27r13c2 -> 48r13c2 loop=> r345c2<>48, r7c3,r9c1<>16,r8c45<>45, ...`

I prefer this to the pseudo-AIC.
Why not something more explicit (naming the pattern), like:
Code: Select all
`sk-loop:    48r13c2 -> 16r79c2 -> 45r8c13 -> 27r8c79 -> 39r79c8 -> 16r24c8-> 38r2c79 -> 27r13c2 -> 48r13c2   => r345c2<>48, r7c3,r9c1<>16,r8c45<>45, ...`
denis_berthier
2010 Supporter

Posts: 1259
Joined: 19 June 2007
Location: Paris

### Re: Two-Candidate Notation

Denis Berthier wrote:Methinks the "obvious complementary notation" would have been +.
You've got the wrong head on. If a weak link has a single connection '-' between terms one with two, "=", will be strong!

Your use of - r5c5{n1 n2} - and - r5n1{c5 c6} - implies the strong links exist whereas - r5c5{n1=n2} - and - r5n1{c5=c6} - would state them. There are similar differences between Nice Loop and AIC notations. IMO for hand produced notations, requiring that no link is implied reduces typing errors and makes them easier to spot when they do occur.

The cost of preserving symmetry is that your notations must take longer to read than AICs as the order of digits, rows, and columns is constantly changing.

When I gain world dominance rows will be labelled a to j, omitting i and columns p to x, allowing the digits to stay as they are so we can lose n, r, & c. But until next week (or possibly later) we'll have to live with what we've got, and I'm afraid that will also have apply to AIC notation symbols.

-----------------------

Eleven your inferences are also invalid!
David P Bird
2010 Supporter

Posts: 1038
Joined: 16 September 2008
Location: Middle England

### Re: Two-Candidate Notation

David P Bird wrote:Your use of - r5c5{n1 n2} - and - r5n1{c5 c6} - implies the strong links exist whereas - r5c5{n1=n2} - and - r5n1{c5=c6} - would state them.

I don't have the slightest idea of what you mean. {n1 n2} and {c5 c6} state the presence of candidates in rc vs rn cells, whose content is delimited by the {}. No additional = sign is needed.

David P Bird wrote:The cost of preserving symmetry is that your notations must take longer to read than AICs as the order of digits, rows, and columns is constantly changing.

The problem with AIC notation is, the full realization of symmetry that occurred after its introduction has made it obsolete.
As for reading, it's just a matter of habit; the rc/rn/cn/bn symbols state which kind of bivalue is being considered.

I see no point in discussing this further. To whomever wants a natural notation, the comparison speaks for itself.
Notations for the same patterns: a bivalue r5c5 cell and a bilocal candidate n1 in row r5:

AIC notation:                 nrc notation:
-(1=2)r5c5-                — r5c5{n1 n2}
-(1)r5c5=(1)r5c6-       — r5n1{c5 c6}
denis_berthier
2010 Supporter

Posts: 1259
Joined: 19 June 2007
Location: Paris

### Re: Two-Candidate Notation

David P Bird wrote:Eleven your inferences are also invalid!

Thanks, as my smiley indicates, it was meant as a joke, but you took it serious enough to respond. (Of course my inferences are valid, just follow them, before you doubt it.)
eleven

Posts: 1842
Joined: 10 February 2008

### Re: Two-Candidate Notation

daj95376 wrote:
David P Bird wrote:The possible alternative (ab/cd) notation for SK Loops is because they are NOT AICs and the logic covers three divisions of the truths not two.

Strange ... and yet ronk presented it like an AIC with the OR(X,Y):(3) logic.

Code: Select all
`Steve Kurzhal's original presentation w/ RonK's labels:1.......2.9.4...5...6...7...5.9.3.......7.......85..4.7.....6...3...9.8...2.....1     1      A478     34578   | 3567    3689    5678    | 3489   I369     2    L238     9      L378     | 4      K12368  K12678   |J138     5      J368     23458  A248     6       | 1235    12389   1258    | 7      I139     3489    -------------------------+-------------------------+-----------------------     2468    5       1478    | 9       1246    3       | 128    H1267    678     234689 B12468   13489   | 126     7       1246    | 123589 H12369   35689     2369   B1267    1379    | 8       5       126     | 1239    4       3679    -------------------------+-------------------------+-----------------------     7      C148     14589   | 1235    12348   12458   | 6      G239     3459    D456     3      D145     |E12567  E1246    9       |F245     8      F457     45689  C468     2       | 3567    3468    45678   | 3459   G379     1    (27)r13c2=(27-16)r56c2=(16)r79c2-(16)r8c13=(16-27)r8c45=(27)r8c79-    (27)r79c8=(27-16)r45c8=(16)r13c8-(16)r2c79=(16-27)r2c56=(27)r2c13-loop`

The SK-Loop doesn't work unless the first SL forces both of (27) false in r13c2 and both of (27) true in r56c2. We may not have a consensus on how to notate these terms, but it sure looks like an AIC loop in all other respects!

This is even more apparent in the V-Loop version:

Code: Select all
` (48=27)r13c2 - (27=38)r2c13 - (38=16)r2c79 - (16=39)r13c8 - (39=27)r79c8 - (27=45)r8c79 - (45=16)r8c13 - (16=48)r79c2 - loop`

_

It's probably worth mentioning that for both of these "loops", the usual presentation is ambiguous, and so to some extent, meaningless.
Each one has two consistent AIC interpretations ... leading to two valid AICs, neither of which (on its own) can justify a single elimination.
To justify the usual eliminations, you need to combine bits of knowledge gained from each loop, and add a little bit of insight as well.
That point is rarely mentioned, and it seems to have been forgotten by some.

For the first loop, the two interpretations are:

(2|7)r13c2 = ((2&7)-(1|6))r56c2 = (1&6)r79c2 - (1|6)r8c13 = ((1&6)-(2|7))r8c45 = (2&7)r8c79 -
(2|7)r79c8 = ((2&7)-(1|6))r45c8 = (1&6)r13c8 - (1|6)r2c79 = ((1&6)-(2|7))r2c56 = (2&7)r2c13 - loop

(2&7)r13c2 = ((2|7)-(1&6))r56c2 = (1|6)r79c2 - (1&6)r8c13 = ((1|6)-(2&7))r8c45 = (2|7)r8c79 -
(2&7)r79c8 = ((2|7)-(1&6))r45c8 = (1|6)r13c8 - (1&6)r2c79 = ((1|6)-(2&7))r2c56 = (2|7)r2c13 - loop
For the second loop, they are are:

((4|8)=(2&7))r13c2 - ((2|7)=(3&8))r2c13 - ((3|8)=(1&6))r2c79 - ((1|6)=(3&9))r13c8 -
((3|9)=(2&7))r79c8 - ((2|7)=(4&5))r8c79 - ((4|5)=(1&6))r8c13 - ((1|6)=(4&8))r79c2 - loop

((4&8)=(2|7))r13c2 - ((2&7)=(3|8))r2c13 - ((3&8)=(1|6))r2c79 - ((1&6)=(3|9))r13c8 -
((3&9)=(2|7))r79c8 - ((2&7)=(4|5))r8c79 - ((4&5)=(1|6))r8c13 - ((1&6)=(4|8))r79c2 - loop
Some of us will have seen these "AIC pairs" before, on this forum, with #1's and #2's replacing '|'s and &'s ... ab#1 instead of (a|b), and ab#2 instead of (a&b).

For a review of how the eliminations are arrived at:

For the first pair of loops, if we break the loops at the "- loop" weak links at the end of the presentations, and make the standard claim for AICs, we get these:
from the 1st loop: one of { (2|7)r13c2, (2&7)r2c13 } must be true in any particular solution to the puzzle
from the 2nd loop: one of { (2&7)r13c2, (2|7)r2c13 } must be true in any particular solution to the puzzle
From those, we get the usual eliminations for 2's and 7's in b1, like this.
1. For the first loop, if it's (2&7)r2c13 that was true, then 2's and 7's in r13c13 would be eliminated.
2. For the seocnd loop, if it's (2&7)r13c2 that was true, then 2's and 7's in r13c13 would be eliminated.
3. If neither of those cases applied, then from the first loop, (2|7)r13c2 would be true, and from the second loop, (2|7)r2c13 would be true. A little thought reveals that in that case, one of {2,7} would be true in r13c2, and the other would be true in r2c13, and again 2's and 7's in r13c13 would be eliminated.
4. Summary: In all 3 cases, 2's and 7's in r13c13 would be eliminated.
Conclusion: it's safe to eliminate them "now" ... they can't appear in any solution to the puzzle.
To get the remaining eliminations we need to make that same argument, breaking the loops at a different weak link; keeping the breakpoints synchronized; and making a similar argument for each pair of breakpoints.

--

The bottom line here, is that no amount of trying to write "the SK loop" with special symbols in it, is going to get around the fact that it's going to take two valid AIC (loopable AIC's) and some side arguments, to justify the usual eliminations that are claimed for "it".
The best we can say, is that the usual presentation is "merely suggestive" ... that it has just two consistent interpretations (involving &'s and |'s), and that we need both interpretations to arrive at any conclusions.

Finally: The chance that a newbie is going to be able to make proper sense out of any presentation (eliminations included), is virtually nil ... even if both (proper) AICs were displayed.

Edited: minor rewording
Last edited by blue on Tue Aug 18, 2015 10:22 pm, edited 1 time in total.
blue

Posts: 683
Joined: 11 March 2013

### Re: Two-Candidate Notation

_

Thanks to everyone for contributing to the thread !!!

Now that my reason for creating the new operator has turned anti-climactic, I'm done with the topic.

_
daj95376
2014 Supporter

Posts: 2624
Joined: 15 May 2006

### Re: Two-Candidate Notation

Blue, I've covered SK Loops more than once before in discussions which have included DAJ the most recent being in Jan this year < here >, but to no avail.

However I actually agree with him about finding a better way to notate them.

Yes they are unsuitable for newbies but the pattern of givens in the four pivot boxes makes them recognisable by improving players who also need to be considered. They can be classed as twinned AICs, or patterns when notating the pairs in the nodes as (ab/cd) would make it obvious they aren't regular AICs, or alternatively they can be notated as Multi-Sector Naked Sets which is more concise eg
SK Loop:(38)r2,(45)r8,(48)c2,(39)c8,(27)b1,(16)b3,(16)b7,(27)b9 (16 digit instances/cells)
=> Elims:7r1c3, 38r2c5, 8r2c6, 2r3c1, 48r5c2, 39r5c8, 1r7c3, 5r8c4, 4r8c5, 6r9c1 (13 digits in 10 cells)

Afterthought - listing the digit covers in each house in loop order would make it easier for the reader:
SK Loop: (27)b1, (38)r2, (16)b3, (39)c8, (27)b9, (45)r8, (16)b7, (48)c2
The set of tell-tale givens (1267) provide the box covers and the row and column covers use the remaining digits.

DPB
Last edited by David P Bird on Thu Aug 20, 2015 9:38 am, edited 1 time in total.
David P Bird
2010 Supporter

Posts: 1038
Joined: 16 September 2008
Location: Middle England

### Re: Two-Candidate Notation

sultan vinegar wrote:I too would be open to using another symbol for SK loops. Another option for consideration is to use a different symbol for the inferences in SK-loops rather than on the grouped candidates, given that (in general?) two truths are transported in an SK-loop compared with just one in an AIC. (I think the puzzle called Cigarette is the typical exception, I can't remember the details for sure?) Something like:

a = b (at least one of a,b true) - AIC strong inference (existing)
a - b (at most one of a,b true) - AIC weak inference (existing)
ab == cd (at least two of a,b,c,d true) - SKL strong inference (proposed)
ab -- cd (at most two of a,b,c,d true) - SKL weak inference (proposed)

I.e. 'ab == cd' (SK loop) would have a different meaning [in terms of what the groupings (ab) and (cd) mean] compared to 'ab = cd' (grouped AIC) for example.

I'm happy to go with the majority on this one.

So nobody liked my idea of using a different symbol (possibly with a better choice of symbol) for inferences in SK-loops rather than using a different symbol for the groupings? After all, it is the inferences that are fundamentally different in SK-loops, not so much the groupings.
sultan vinegar

Posts: 81
Joined: 27 August 2013

### Re: Two-Candidate Notation

denis_berthier wrote:
Even in its most basic form, besides the use of "=", the main reason why I'm not a fan (that's an understatement) is the lack of symmetry:
bivalue r5c5 cell: -(1=2)r5c5-
bilocal candidate in row r5: -(1)r5c5=(1)r5c6-

In the nrc notation, they would be respectively:
r5c5{n1 n2}
r5n1{c5 c6}

The AIC notation was introduced before a full understanding of symmetries was reached. It fails to take into account the fundamental identity between "bivalue" and "bilocal".

As a human solver the above is exactly why I like the = notation over the nrc notation. Because a bilocation link looks so different in writing to a bivalue link when written in the = notation, my eye can spot the difference straight away. I'm much less likely to make a transcription error, compared with mixing a single n and c for example in nrc notation. Of course, computers don't make transcription errors, so the nrc machinery works very well in its domain, that is, computer solving.
sultan vinegar

Posts: 81
Joined: 27 August 2013

### Re: Two-Candidate Notation

sultan vinegar wrote:As a human solver the above is exactly why I like the = notation over the nrc notation. Because a bilocation link looks so different in writing to a bivalue link when written in the = notation, my eye can spot the difference straight away. I'm much less likely to make a transcription error, compared with mixing a single n and c for example in nrc notation. Of course, computers don't make transcription errors, so the nrc machinery works very well in its domain, that is, computer solving.

The same kind of argument as DonM !
Last edited by denis_berthier on Thu Aug 20, 2015 3:36 pm, edited 2 times in total.
denis_berthier
2010 Supporter

Posts: 1259
Joined: 19 June 2007
Location: Paris

PreviousNext