look at the example:
in row2,5,8, there are 3 sets of ALS. each one has a set of candidates({4,5,6}) which can't be eliminated together. and the three "4" in same column, same situation occurs on "5" and "6".
- Code: Select all
↓4 ↓5 ↓6
*-----------------------------------------------------*
| . . .| . . .| . . .|
| . 489 .| . 589 .| . 689 .|←{4,5,6}+89
| . . .| . . .| . . .|
|-----------------+-----------------+-----------------|
| . . .| . . .| . . .|
| . 347 .| . 357 .| . 367 .|←{4,5,6}+37
| . . .| . . .| . . .|
|-----------------+-----------------+-----------------|
| . . .| . . .| . . .|
| . 124 .| . 125 .| . 126 .|←{4,5,6}+12
| . . .| . . .| . . .|
*-----------------------------------------------------*
in this condition, great amout of candidates can be eliminated:
- Code: Select all
*-----------------------------------------------------*
| . -4 .| . -5 .| . -6 .|
| -89 #489 -89| -89 #589 -89| -89 #689 -89|
| . -4 .| . -5 .| . -6 .|
|-----------------+-----------------+-----------------|
| . -4 .| . -5 .| . -6 .|
| -37 #347 -37| -37 #357 -37| -37 #367 -37|
| . -4 .| . -5 .| . -6 .|
|-----------------+-----------------+-----------------|
| . -4 .| . -5 .| . -6 .|
| -12 #124 -12| -12 #125 -12| -12 #126 -12|
| . -4 .| . -5 .| . -6 .|
*-----------------------------------------------------*
proof procedure:
look at r2.r2c2(4),r2c5(5),r2c8(6) can't be eliminated together.so, at least one of them is true.
if r2c2(4) is true:
look at r5 and r8, r58c2<>4, there is a "Doubly Linked ALS-XZ"(a "nice continuous loop" with 2 sets of ALS), r5c5(5)==r5c8(6)--r8c8(6)==r8c8(5), so:
all of the "4" in c2 can be eliminated, of course;
all of the "37" in other grids in row 5 can be eliminated, because of in this row, one of r5c5(5)/r5c8(6) is true and the other is false.
all of the "12" in other grids in row 8 can be eliminated; because of in this row, one of r8c5(5)/r8c8(6) is true and the other is false.
all of "5" in c5 can be eliminated, because of the nice continuous loop.
all of "6" in c8 can be eliminated, because of the nice continuous loop.
in r2, a pair of 89 formed, all of the "89" in other grids in r2 can be eliminated.
if r2c5(5) is true or r2c8(6) is true, similar procedure as above, and same candidates eliminated.
2 real puzzle example:
1.standard "ALS NET":
the 9 "#" grids formed a "ALS NET", so, all of the candidates with the "-" in front can be eliminated, then, r8c3=1, r8c89={47}, all solved.
- Code: Select all
*--------------------------------------------------------------------------------------------*
| 268 1468 1247-6| 12568 1567 1568| 247 3 9|
| 2689 14689 1247-6| 12689 3 1689| 247 1246 5|
| 5 169 3| 1269 4 1679| 8 1267 127|
|------------------------------+------------------------------+------------------------------|
| 23 345 8| 35 9 357| 1 247 6|
| 369 7 #456| 13568 156 2| 359-4 #489 #348|
| 1 3569 #256| 4 567 3568| 3579-2 #289 #238|
|------------------------------+------------------------------+------------------------------|
| 7 136 9| 136 8 1346| 234 5 124-3|
| 38 2 1-5| 39 15 349| 6 47-89 47-38|
| 4 3568-1 #156| 7 2 3569-1| 39 #189 #138|
*--------------------------------------------------------------------------------------------*
2.degraded ALS NET:
the 7 "#" grids formed a degraded ALS NET(similar to a degraded swordfish). so, all of the candidates with the "-" in front can be eliminated.
- Code: Select all
*--------------------------------------------------------------------------------------------*
| 7 3 589| 89 4 59| 6 2 1|
| 2 4 189| 7 6 139| 38 5 89-3|
| 6 #189 15-89| #289 13 1235-9| 7 4 #389|
|------------------------------+------------------------------+------------------------------|
| 18 6 2| 5 138 4| 13 9 7|
| 189 5 7| 6 138 139| 4 13 2|
| 4 #19 3| #29 7 12-9| 5 8 6|
|------------------------------+------------------------------+------------------------------|
| 5 #18 6| 4 2 7| 9 13 #38|
| 3 7 4| 1 9 8| 2 6 5|
| 19 2 189| 3 5 6| 18 7 4|
*--------------------------------------------------------------------------------------------*
borescoper