... by: Str8tsFan
I was trying to comprehend the second example of "Nice Loop Rule 1" (figure 3) as I discovered some points you might want to think about it:
(1) There is (as far as I can understand it) a mix-up at the description text: the cells G2 and D3 should be the other way round.
You are writing:
"The first is aligned on column 3 and points to G2. The second points along the row to D3."
It should be:
"The first is aligned on column 3 and points to D3. The second points along the row to G2."
(2) The load example link is wrong. If you use it, you will get a sudoku with an additional solved 8 set at C7, which obviously prevents the solver from reproducing figure 3.
(3) If you fix that manually and give it a try, the solver finds a different grouped X-Cycle:
-8[D8]+8[D3]-8[J3]+8[J5]-8[H4|H5|H6]+8[H8]-8[D8]
Maybe your comment (Tuesday 1-Nov-2011) is the reason for that. And maybe you should talk about "removing a candidate which is part of the pattern" right there, as it is completely unmentioned up to this point of your documentation of strategies.
(4) I'm still wondering about how to discribe that a number was taken off a cell because of a weak link using at least one group. At your example you are writing:
"- Off-chain 8 taken off E3 - weak link: G3 to D3"
But there is no weak link G3 to D3, we are using the weak link [G3|J3] to D3. I'm wondering if naming the correct group instead of randomly one single cell of the group would help a lot more to understand the solving. That would be like this:
"- Off-chain 8 taken off E3 - weak link: [G3|J3] to D3"
Of course, I don't know if the solver is refusing to name the group, or if your text of the example is just not quite correct, as I couldn't reproduce the situation with the solver at all.
... by: Eric
The text at figure 3 does not match with the figure:
I see groups {G2,G3} and {G8,H8}.
Concerning elimination of G3 and G8 in figure 3:
I think this elimination is solved by Nice Loop Rule 3 for the following series:
1. For elimination of G3: D3 - D8 - {G8-H8} - G9 - G3 (which is a 5-nodes Grouped X-Cycle with 2 weak links ending up at G3)
2. For elimination of G8 (after elimination of G3):
D3-D8-G8-G2-J3 (which is a 5-node standard X-Cycle with 2 weak links ending up at G8).
So it is perfectly right to eliminate G3 and G8, but I don't think that you needed to adapt your solver for this situation.
... by: Andrew Stuart
I’ve tweaked the solver to allow eliminations of elements of a grouped cell - I have today tested this extensively because this is unusual. Normally I don’t allow an elimination of any candidate that forms part of the ‘pattern’ that finds eliminations. But in the case of grouped cells in X-Cycles this did not lead to any false positives. The example that prompted me to check is is Figure 3 above. Many thanks to Mario Anselmi for pointing me in the right direction.
Such eliminations can lead one down the wrong path if it is a grouped cell in an AIC so I continue to disallow this.
... by: Anton Delprado
It should be noted that it is possible for the node of interest in rule 2 and 3 to in fact be a group of cells. If you have type 3 with a group then it is fairly intuitive that none of the group can be the chaining value.
It is a slightly more complicated for type 2 because only one of the cells in the group will have the chaining value. However this means that any cell that "sees" the entire group cannot have the chaining value.
... by: Filolexes
In the "more complex example" (the grid with A1=3), there exist only two possibilities: the continuous nice loop can proceed clockwise or counterclockwise. Clockwise, the 8 in D8 becomes true, which kills the 8 in G8. Counterclockwise, the 8 in G2 becomes true, which again kills the 8 in G8. Therefore, this loop yields another kill: the 8 in G8 can be removed. Via a similar argument, the 8 in G3 can also be removed.