Stuck in a "Diabolical" sudoku

Advanced methods and approaches for solving Sudoku puzzles

Postby tso » Fri Nov 25, 2005 4:56 pm

I'm looking for a clarification about the use of the term "nice loop" and how certain types of chains are used to make a deduction.

The starting position:
Code: Select all
 . 1 3 | . . 9 | . . .
 8 . . | 1 . 5 | . . .
 . . 9 | . 8 . | 5 . .
 ------+-------+------
 1 . 5 | . . 8 | . 7 .
 . 9 . | . . . | . 4 .
 . 7 . | 9 . . | 1 . 6
 ------+-------+------
 . . 6 | . 1 . | 3 . .
 . . . | 2 . 7 | . . 8
 . . . | 8 . . | 9 1 .



After other simpler methods
Code: Select all
 5 1 3 | . . 9 | . 8 .
 8 6 4 | 1 . 5 | 7 9 .
 7 2 9 | 4 8 . | 5 . 1
 ------+-------+------
 1 . 5 | . . 8 | 2 7 9
 6 9 2 | . . 1 | 8 4 .
 . 7 8 | 9 . 2 | 1 . 6
 ------+-------+------
 9 8 6 | 5 1 4 | 3 2 7
 . . 1 | 2 9 7 | . . 8
 2 . 7 | 8 . . | 9 1 .


Code: Select all
 5    1    3    | 67   267  9    | 46   8    24
 8    6    4    | 1    23   5    | 7    9    23
 7    2    9    | 4    8    36   | 5    36   1
 ---------------+----------------+-------------
 1    34   5    | 36   46   8    | 2    7    9
 6    9    2    | 37   57   1    | 8    4    35
 34   7    8    | 9    45   2    | 1    35   6
 ---------------+----------------+-------------
 9    8    6    | 5    1    4    | 3    2    7
 34   345  1    | 2    9    7    | 46   56   8
 2    45   7    | 8    36   36   | 9    1    45


At this point, a forcing chain that solves the puzzle can be represented several ways:


(I) As a repetitive path (aka "nice loop"):

Code: Select all
r6c1---------3--------r6c8
 |                      |
 3                      5
 |                      |
r8c1---4---r8c7---6---r8c8


Because the two edges that intersect at r6c1 are both labeled 3, therefore r6c1<>3.


(The edge between r68c1 could alternately be labeled 4, leading to the conclusion that r8c1<>4)


(II) Written as an xy-type forcing chain:
r8c1=3 => r6c1=4
r8c1=4 => r8c7=6 => r8c8=5 => r6c8=3 => r6c1=4
Because all values for r8c1 lead to r6c1=4, r6c1 must be 4.


(III) Written as a "nice loop" in the sense used by Carcul and Jeff.
Please tell me if I'm using the "-" and the "=" correctly:

[r8c1]-4-[r8c7]=6=[r8c8]=5=[r6c8]=3=[r6c1]=3=[r8c1]

Because ... ??? How do I finish this sentence in the same fashion as (I) and (II)?


Couldn't I also write this:

[r8c1]=3=[r8c2]=5=[r8c8]=5=[r6c8]=3=[r6c1]=4=[r8c1]

Can I make a deduction from this? Why?
tso
 
Posts: 798
Joined: 22 June 2005

Postby Jeff » Fri Nov 25, 2005 8:51 pm

tso wrote:I also include forcing chains that require pairs or trips as a single link as complex forcing chains as well as chains like the one I posted that have links that exclude two or more cells instead of one.

Strictly speaking, when a pair or triple is treated as one single implication, the forcing system is still a net. However, if a pair is split into 2 implications, the forcing system is a triple implication chain. For example, an xyz-wing:
Code: Select all
 .    .    .    | .    .    .    | .    .    .
 .    .    .    | .    .    .    | .    .    .
 .    .    .    | .    .    .    | .    .    .
 ---------------+----------------+-------------
 .    24   .    | .    .    .    | .    .    .
 .    .    .    | .    .    .    | .    .    .
 .    .    .    | .    .    .    | .    .    .
 ---------------+----------------+-------------
 .    249  .    | .    .    .    | .    .    .
 .    .    29   | .    .    .    | .    .    .
 .    245  .    | .    .    .    | .    .    .

Forcing net:
r4c2=2 => r9c2<>2
r4c2=4 => r7c2 and r8c3 form a naked pair of 29 => r9c2<>2

Triple implication chain:
r4c2=2 => r9c2<>2
r4c2=4 => r7c2=2 => r9c2<>2
          r7c2=9 => r8c3=2 => r9c2<>2

tso wrote:I'm confused about the use of the term "nice loops". I was under the impression that this referred only to repetitive or non-repetitive bivalue or bilocation chains that allowed one to make a deductions simply by examining the edge labels. For example, in a bi-value repetitive loop, I can eliminate the candidate from the vertex at the intersection of the two matching edges without having to follow the implications around the loop. In a non-repetitive loop, I can eliminate all candidates from the houses matching the label of the edge contained in that house. Is there a way to look at the edge labels in these chains and find the deduction without following the implications around? Could you point me to where these type of nice loops are discussed? Or am I reading too much into the choice of terms?

Since the introduction of combination chains, (ie. chains consist of both bivalue and bilocation links (edges)), the term 'nice loop' has been used to also cover the additional set of deductions specific to combination chains. Since this additional set of deductions is neither repetitive nor non-repetitive, the terms 'non-repetitive' and 'repetitive' have been replaced by 'continuous' and 'discontinuous', which should cover all nice loops more appropriately. A continuous nice loop is in fact a non-repetitive nice loop. But, a discontinuous nice loop will have exactly one discontinuity at which the deduction is to be made. With all nice loops, you can look at the link labels (edge labels) and find the deduction without following the implications around?

2 conjugate (bilocation) links '=x=' at the discontinuity => node value=link label
2 unconditional (bivalue) links '-x-' at the discontinuity => node value <>link label
1 conjugate '=x=' and 1 unconditional link '-x-' at the discontinuity => node value<>unconditional link label

The third one is only specific to combination chains.

tso wrote:Does the solution I posted at the top of this thread qualify as a "nice loop" in this context? What about AngusJ's version?

Angus' chain posted above is a combination chain, and it is indeed a nice loop. Using nice loop notation:

[r2c4]=3=[r2c8]-3-[r6c8]-7-[r4c9]=7=[r4c4]-7-[r2c4] => r2c4<>7

where:
conjugate link label at the discontinuity is 3
unconditional link label at the discontinuity is 7
node value<>unconditional link label
Last edited by Jeff on Sat Nov 26, 2005 2:48 am, edited 1 time in total.
Jeff
 
Posts: 708
Joined: 01 August 2005

Postby Jeff » Fri Nov 25, 2005 9:15 pm

tso wrote:(I) As a repetitive path (aka "nice loop"):

Code: Select all
r6c1---------3--------r6c8
 |                      |
 3                      5
 |                      |
r8c1---4---r8c7---6---r8c8

Because of the introduction of combination chain, this nice loop is more appropriately called a discontinuous nice loop (rather than repetitive) where the discontinuity is at r6c1.

tso wrote:(III) Written as a "nice loop" in the sense used by Carcul and Jeff.
Please tell me if I'm using the "-" and the "=" correctly:

[r8c1]-4-[r8c7]=6=[r8c8]=5=[r6c8]=3=[r6c1]=3=[r8c1]

The correct nice loop notation for this chain should start from the discontinuity where the deduction is to be made, ie.

[r6c1]-3-[r8c1]-4-[r8c7]-6-[r8c8]-5-[r6c8]-3-[r6c1] => r6c1<>3

Because 2 unconditional links meet at the discontinuity, r6c1<>3.
Note: xy-chain is a pure bivalue chain which has unconditional links denoted as '-x-'

tso wrote:Couldn't I also write this:

[r8c1]=3=[r8c2]=5=[r8c8]=5=[r6c8]=3=[r6c1]=4=[r8c1]

Can I make a deduction from this? Why?

This is a wrong nice loop notation, therefore no deduction can be made.
Jeff
 
Posts: 708
Joined: 01 August 2005

Postby tso » Sat Nov 26, 2005 12:19 am

Thanks. I missed your original post on this.
tso
 
Posts: 798
Joined: 22 June 2005

Postby Carcul » Sat Nov 26, 2005 1:34 am

Jeff wrote:tso wrote:
Couldn't I also write this:

[r8c1]=3=[r8c2]=5=[r8c8]=5=[r6c8]=3=[r6c1]=4=[r8c1]

Can I make a deduction from this? Why?

This is a wrong nice loop notation, therefore no deduction can be made.


In this reply, my aim is just to make more clear the detail posted above by Jeff (in the case of existing doubts). As Jeff pointed out, and using his own words, the correct nice loop notation for a chain should start from the discontinuity where the deduction is to be made. In this sense, the last chain posted by tso is wrong, only because it is not correctly written. Besides that, it is valid because it follows the propagation rules for nice loops and has only one discontinuity, which, in this case, implies that r8c8 = 5. The correct notation would be

[r8c8]=5=[r6c8]=3=[r6c1]=4=[r8c1]=3=[r8c2]=5=[r8c8]


Regards, Carcul.
Carcul
 
Posts: 724
Joined: 04 November 2005

Postby Jeff » Sat Nov 26, 2005 6:43 am

Thanks Carcul, I didn't know and didn't check if this was a real chain or just an example made up by Tso. It is just just too nice to be true to find a pure bilocation chain in the grid being discussed. You are right, starting the chain from the discontinuity will make the chain valid with a '=x=.....=x=' deduction.:D
Jeff
 
Posts: 708
Joined: 01 August 2005

Previous

Return to Advanced solving techniques