Nice loops for advanced level players - multiple nice loop

Advanced methods and approaches for solving Sudoku puzzles

Nice loops for advanced level players - multiple nice loop

Postby Jeff » Mon Dec 05, 2005 1:04 pm

Multiple nice loop, short for multiple inference nice loop, is a derivative of the nice loop described in the bilocation/bivalue plot threads here and here.

As discussed, each nice loop represents a double implication chain in which each node implies only the immediate node downstream. These are nice loops in their simplest form and can be specifically referred to as simple nice loop.

So far, 2 derivatives of the simple nice loop have been identified, including the strong nice loop (grouped inference nice loop) described by Carcul here and the multiple inference nice loop to be discussed under this thread.

Drawing of the bivalue/bilocation plot and subsequently identification of simple nice loops is a non-T&E technique, but it suffers the shortcoming that an inference can only be made to the next node downstream. Multiple nice loops allow multiple inferences to be made for all nodes downstream by taking branches. This causes the nice loop to become a net (rather than chain), but it has the advantage that in effect all nodes downstream within the network can be instantly updated enabling more deductions to be made.

Each multiple nice loop represents a poly-implication chain. The additional implications are due to the extra inferences made by each node of the chain in additional to the next node downstream.

A multiple nice loop resembles the kinds of forcing net that a human is likely to identify through pure cell by cell inspection, except that the b/b plot takes away the ‘guessing’ element as the same set of nice loop propagation rule still applies.

From the following example, it can be seen that the nice loop highlighted is not a simple nice loop since [r1c6] is not a bivalue cell. However, if a multiple inference can be made at node [r1c7], then [r1c6] would become a bivalue node of {4,5} with the 9 eliminated. The result is a multiple nice loop which would eliminate a 2 in [r4c5].

Image

Nice loop notation:
[r4c5]=3=[r4c9]=6=[r4c8]=8=[r5c7]=9=[r1c7](-9-[r1c6])=7=[r3c7]-7-[r3c6]-4-[(r1c6)]-5-[r5c6]-2-[r4c5] => r4c5<>2

where
[r1c7](-9-[r1c6])=7=[r3c7] denotes that r1c7 infers not only r3c7, but also r1c6.
The extra bracket within the node -4-[(r1c6)]-5- denotes that r1c6 is associated with a multiple inference from upstream.

Proof:
r1c7=9 => r3c7=7 & r1c6=45 => r3c6<>7 => r3c6=4 => r1c6=5 => r5c6=2 => r4c5<>2
r1c7<>9 => r5c7=9 => r4c8=8 => r4c9=6 => r4c5=3
Therefore r4c5<>2 => r4c5=3

Since one additional inference has been made with r1c7=9, this multiple nice loop is equivalent to a triple implication chain in which a bivalue tripod can be drawn cantered at r1c6.

Here is an example of a grouped x-cycle with a multiple inference.

Image

[r4c9]-6-[r56c7](=6=[r6c4]-6-[r5c5])=6=[r7c7]-6-[r7c5|(r5c5)]=6=[r1c5]-6-[r2c6]=6=[r2c9]-6-[r4c9] => r4c9<>6

where:
[r56c7] is a grouped node.
[r56c7](=6=[r6c4]-6-[r5c5]) is a multiple inference.
[r7c5|(r5c5)]=6=[r1c5] is a strong inference due to the multiple inference on r5c5 from upstream.

Proof:
r56c7=6 => r4c9<>6
r56c7<>6 => r6c7<>6 => r6c4=6 => r5c5<>6
r56c7<>6 => r7c7=6 => r7c5<>6 (with r5c5<>6 from above) => r1c5=6 => r2c6<>6 => r2c9=6 => r4c9<>6
Therefore, r4c9<>6

You may express this multiple nice loop in terms of a triple implication chain. Since r1c5<>6 implies r5c5=6 or r7c5=6, the trilocation triangle is at [r1c5][r5c5][r7c5]

r1c5=6 => r2c6<>6 => r2c9=6 => r4c9<>6
r5c5=6 => r6c4<>6 => r6c7=6 => r4c9<>6
r7c5=6 => r7c7<>6 => r56c7=6 => r4c9<>6
Therefore, r4c9<>6
Last edited by Jeff on Sat May 13, 2006 3:51 am, edited 13 times in total.
Jeff
 
Posts: 708
Joined: 01 August 2005

Re: bilocation/bivalue plot: multiple nice loop

Postby ronk » Mon Dec 05, 2005 4:03 pm

Jeff wrote:Chain notation:
[r4c5]=3=[r4c9]=6=[r4c8]=8=[r5c7]=9=[r1c7](-9-[r1c6])=7=[r3c7]-7-[r3c6]-4-[r1c6]-5-[r5c6]-2-[r4c5]
where [r1c7](-9-[r1c6])=7=[r3c7] denotes that r1c7 implies not only r3c7, but also r1c6.

Nice post! Based on the absence of the bilocation property for "[r5c6]-2-[r4c5]", the symbols '-' must indicate a link of bivalued cells and '=' a link of bilocation cells. When a link has *both* bivalue and bilocation properties, does it make any difference which symbol is used in chain notation?

Proof:
r1c7=9 => r3c7=7 & r1c6=45 => r3c6<>7 => r3c6=4 => r1c6=5 => r5c6=2 => r4c5<>2
r1c7<>9 => r5c7=9 => r4c8=8 => r4c9=6 => r4c5=3
Therefore r4c5<>2 => r4c5=3

Since one additional implication has been made by r1c7=9, this multiple nice loop is equivalent to a triple implication chain in which a bivalue tripod can be drawn cantered at r1c6.

I suppose "bivalue tripod" is somehow a factor, but two implication chains in the proof and "triple implication chain ..." seem to be contradictory. Would you please clarify?

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

Postby Carcul » Mon Dec 05, 2005 5:38 pm

Jeff,

Congratulations again for this further contribution.:D I don't know if you have noted, but your chain above (or perhaps a similar one) proves also that r1c7<>9, because when r1c7 = 9 not only r4c5<>2 but also r4c5<>3, which is impossible. So, r1c7<>9.

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

Re: bilocation/bivalue plot: multiple nice loop

Postby Jeff » Tue Dec 06, 2005 1:34 am

ronk wrote:When a link has *both* bivalue and bilocation properties, does it make any difference which symbol is used in chain notation?

The nice loop must follow the set the propagation rules described here, so it does make a difference on which symbol to use. One of the rules states that "A conjugate link (solid line) can be used as an unconditional link (broken line)" However, this doesn't allow the symbol to be freely chosen in a chain notation.

ronk wrote:I suppose "bivalue tripod" is somehow a factor, but two implication chains in the proof and "triple implication chain ..." seem to be contradictory. Would you please clarify?

Firstly, please note that multiple nice loops are not chains, but forcing nets because of the multiple implications that each node can have.

When the example is viewed as a multiple nice loop, it is a forcing net with 2 implication streams (Note: these are not chains either) and they can start from any node provided that all effective implications can be demonstrated.

Proof:
r1c7=9 => r3c7=7 & r1c6=45 => r3c6<>7 => r3c6=4 => r1c6=5 => r5c6=2 => r4c5<>2
r1c7<>9 => r5c7=9 => r4c8=8 => r4c9=6 => r4c5=3
Therefore r4c5<>2 => r4c5=3

When the example is viewed as a triple implication chain, it is a forcing chain with 3 implication streams and they must start from r1c6 where the trivalue tripod is located:

Proof:
r1c6=4 => r3c6=7 => r3c7<>7 => r1c7=7 => r5c7=9 => r4c8=8 => r4c9=6 => r4c5=3 => r4c5<>2
r1c6=9 => r1c7<>9 => r5c7=9 => r4c8=8 => r4c9=6 => r4c5=3 => r4c5<>2
r1c6=5 => r5c6=2 => r4c5<>2
All imply r4c5<>2 => r4c5=3
Jeff
 
Posts: 708
Joined: 01 August 2005

Postby Jeff » Tue Dec 06, 2005 1:49 am

Carcul wrote:I don't know if you have noted, but your chain above (or perhaps a similar one) proves also that r1c7<>9, because when r1c7 = 9 not only r4c5<>2 but also r4c5<>3, which is impossible. So, r1c7<>9.

You are right. It's an interesting example indeed with 2 deductions from the same multiple nice loop with different notations.:D
Jeff
 
Posts: 708
Joined: 01 August 2005

Postby Jeff » Mon Mar 06, 2006 5:30 am

The first post has be edited with the following:

    Title changed

    Terminology revised in line with definitions

    Nice loop notation - Extra bracket added to a node to indicate its linkage with a multiple inference from upstream.

    An example added
Jeff
 
Posts: 708
Joined: 01 August 2005


Return to Advanced solving techniques