rubylips wrote:ronk wrote:What sets did your solver identify to produce the above log? It appears to be ...
A={R6C1,R6C4,R6C6}
B={R5C1}
... which means your A is larger than bennys' illustration.
The potential Disjoint Subset in Row 4 (sic) that the solver has identified takes the values {1,5,8} (sic) and occupies the cells {r4c1,r4c4,r4c6} (sic).
Sorry, I mislead you by modifying only
bennys set A and commenting only about your set A, as I wanted you to identify both your sets A and B ... so let me rephrase the prior post.
What
sets did your solver identify to produce the above log? It appears to be ...
A={R6C1,R6C4,R6C6}
B={R5C1,R6C1}
... which means both your A and B are larger than bennys' illustration.
It so happens that when r6c1 takes the value 8, it is necessary only to look at the cell r6c6, which is what bennys does, in order to lock the 1. However, my solver reports the most general form of the construction.
"
It so happens" ... and "
the most general form" ... both seem like politicians phrases. I'm guessing
both your sets A and B are different than bennys, because your implementation of
Conditional Disjoint Subsets requires a non-trivial intersection of
cell sets A and B.
Consider the intersection between a Line (i.e. a Row or Column) and a Box. Suppose that the Line contains an Almost Disjoint Subset L, i.e. a subset of nL cells that between them contain nL+1 values (call them VL) and that the Box contains a subset B of nB cells (call them VB) that between them contain nB+1 values. Furthermore, suppose that the subsets B and L have some non-trivial intersection I, with candidates VI.
But that still doesn't explain why your B is larger than the minimum. With sets tagged differently, here again is bennys' puzzle ...
- Code: Select all
+-------------+-------------+-------------+
| 24 7 8 | 24 6 5 | 1 9 3 |
| 9 3 24 | 248 1 48 | 56 7 56 |
| 5 1 6 | 7 3 9 | 8 4 2 |
+-------------+-------------+-------------+
| 28 9 23 | 458 7 6 | 35 1 45 |
|*17 6 5 | 3 9 14 | 2 8 47 |
|&178 4 13 | 58 2 *18 | 357 6 9 |
+-------------+-------------+-------------+
| 6 5 7 | 1 4 2 | 9 3 8 |
| 14 2 14 | 9 8 3 | 67 5 67 |
| 3 8 9 | 6 5 7 | 4 2 1 |
+-------------+-------------+-------------+
A: {R6C1,R6C6} = {178}
B: {R5C1,R6C1} = {178}
x=7
z=1
... where '&' indicates the intersection cell common to A and B. The "
general form" is satisfied AFAICS.
If r6c1=1, then r6c3<>1
else if r6c1=7, then r5c1=1, r6c3<>1
else if r6c1=8, then r6c6=1, r6c3<>1
rubylips wrote:1. Consider the cell r6c1.
...........
When it contains the value 7, the value 1 in Box 4 must occupy the cell r5c1.
.
If the argument is good enough for the 17 in r5c1, why isn't it good enough for the 18 in r6c6? The log would then have a statement like ...
1. Consider the cell r6c1.
When it contains the value 7, the value 1 in Box 4 must occupy the cell r5c1.
When it contains the value 8, the value 1 in Row 6 must occupy the cell r6c6.
Of course this is just conjecture, as I'm guessing at your set B now.