It took me awhile to visualize the implications of David's perspective. Surprising, it would (probably) take little effort to update my solver to implement it.
For me, everything hinges on the fact that I perceive loops as concurrent AICs using the same cells in equivalent cycles. All of the eliminations are gathered together and attributed to the loop. Take ronk's loop for example:
- Code: Select all
a b c d e f g
Loop: (4=5)r8c5 - (5=2)r2c5 - (2=3)r2c1 - (3=4)r6c1 - (4=3)r6c4 - (3=2)r4c4 - (2=4)r7c4 - loop
_____________________________________________________________________________________________________
The traditional eliminations are derived through three AICs:
- Code: Select all
a b c d e f g
AIC_: (4=5)r8c5 - (5=2)r2c5 - (2=3)r2c1 - (3=4)r6c1 - (4=3)r6c4 - (3=2)r4c4 - (2=4)r7c4 => r78c6<>4
b c d e f g a
AIC_: (5=2)r2c5 - (2=3)r2c1 - (3=4)r6c1 - (4=3)r6c4 - (3=2)r4c4 - (2=4)r7c4 - (4=5)r8c5 => r1c5<>5
d e f g a b c
AIC_: (3=4)r6c1 - (4=3)r6c4 - (3=2)r4c4 - (2=4)r7c4 - (4=5)r8c5 - (5=2)r2c5 - (2=3)r2c1 => r58c1<>3
_____________________________________________________________________________________________________
Now, if I ease off on the constraint of equivalent cycles and allow subset chains, then I can include:
- Code: Select all
a b c d
AIC_: (4=5)r8c5 - (5=2)r2c5 - (2=3)r2c1 - (3=4)r6c1 => r8c1<>4
_____________________________________________________________________________________________________
However, I believe that David's position can easily be taken too far. Consider the following grid (from Mike Barker's zoo examples).
- Code: Select all
+-----------------------------------------------------+
| 279 279 6 | 5 3 C19 | 4 B12 8 |
| 1 8 3 | 6 4 2 | 9 7 5 |
| 259 249 45 | 179 179 8 | 3 A12 6 |
|-----------------+-----------------+-----------------|
| F37 E17 8 | 4 6 D19 | 5 39 2 |
| G36 16 2 | 179 179 5 | 8 39 4 |
| 4 5 9 | 2 8 3 | 7 6 1 |
|-----------------+-----------------+-----------------|
| 8 K29 I57 | 3 25 6 | 1 4 J79 |
| L29 3 N17 | 8 12 4 | 6 5 M79 |
| H56 46 145 | 19 159 7 | 2 8 3 |
+-----------------------------------------------------+
# 42 eliminations remain
I can construct a 14-cell XY-Chain from r3c8 to r8c3 and determine eliminations when I stop. Using a purely analytical perspective, I can claim the following:
- Code: Select all
(1=2)r3c8-
(2=1)r1c8-(1=9)r1c6-(9=1)r4c6-(1=7)r4c2-(7=3)r4c1-(3=6)r5c1-(6=5)r9c1-(5=7)r7c3-(7=9)r7c9-(9=2)r7c2-
(2=9)r8c1-(9=7)r8c9-(7=1)r8c3
=> r1c2<>2
_____________________________________________________________________________________________________
However, is it reasonable for me to expect someone else to realize that the first and last three cells of the XY-Chain contribute nothing to the elimination? This is akin to only four cells of seven cells in ronk's loop being used in the last AIC.
This leads to the ultimate question: What is a reasonable burden to place on someone who is trying to reconstruct eliminations from your chain/loop?
From some of the steps that I've seen posted, it seems there's a contest to derive an elimination that no one else can possibly understand.