A number of new techniques involving elimination of candidates within a Unique Rectangle based on the existance of strong links, ALS, and even a grouped strong link (RW's technique) have been developed. Many of the possible configurations for these eliminations have been identified
here and
here. Several of these techniques are directly extendable to BUGs and BUG-Lites (see
here), but because of the more general nature of BUG-Lites, enumeration of the remaining techniques to BUG-Lites is daunting. There is, however, a general principle with allows all of these techniques (and more) to be applied to BUG-Lites. In the UR techniques the role of the strong link, ALS, or grouped strong link is to link each of the non-bivalued cells of the UR (except for the one where the elimination will occur) to another cell of the UR. If a consistent set of links can be constructed then selection of the appropriate value in a non-bivalued cell forces the development of a deadly pattern and the contradiction which allows that candidate to be eliminated. Viewed this way the new UR techniques and their extension to BUG-Lites form an error net with the existance of a non-unique solution as the contradiction as opposed to say proof that a cell must and cannot contain a certain candidate.
The linkage between need not be limited to the above list. A non-bivalued BUG-Lite cell which contains only candidates which are part of the BUG-Lite may be linked to multiple BUG-Lite cells to force the deadly pattern. In addition, any nice loop node or set of nodes can be used to create the linkage (XY-chains, strong link chains, AURs, almost X-wings, etc).
I've implemented advanced BUG-Lites using strong links and ALS. I've only gotten through the first 840 puzzles so far, but based on the Top1465, I'm seeing approximately 5 times more BUG-Lite eliminations (75 vs 15) with the advanced techniques verses the "basic" techniques already identified
here. This is about what I observed when I implemented strong links and ALS techniques with URs. So far I've only seen one more puzzle solved with the advanced BUG-Lite techniques (#406). Without advanced BUG-Lites my solver only gets to:
- Code: Select all
+-------------------+--------------------+----------------+
| 1389 5 36 | 1269 236 #12 | 389 4 7 |
| 1369 1479 3467 | 14679 8 #3457 | *135 2 *13 |
| 18 2 347 | 1479 34 13457 | 1358 89 6 |
+-------------------+--------------------+----------------+
| 4 19 12 | 3 5 6 | 289 7 89 |
| 27 6 5 | 278 9 #78 | 4 *13 *13 |
| 279 3 8 | 1247 24 #1247 | 29 6 5 |
+-------------------+--------------------+----------------+
| 23 47 2347 | 5 1 #24 | 6 89 89 |
| 156 18 126 | 268 236 9 | 7 135 4 |
| 56 148 9 | 468 7 #348 | *13 -135 2 |
+-------------------+--------------------+----------------+
The BUG-Lite is located in r9c78|r5c89|r2c79. The ALS located in r125679c6 which links to (r9c7|r2c9) with 3's to r2c7 with 5 (forcing r2c7=1), results in the elimination r9c8<>1. I still need to come up with some good nomenclature for describing the interactions. Note there are two other advanced BUG-Lites in the puzzle as well. The third one is (r1c147|r3c148|r7c89|r4c79):
- Code: Select all
+-----------------+-------------------+--------------+
| *18 5 36 | -1269 236 12 | *389 4 7 |
| 39 479 3467 | 467 8 457 | 135 2 13 |
| *18 2 347 | *1479 34 13457 | 358 *89 6 |
+-----------------+-------------------+--------------+
| 4 19 12 | 3 5 6 | *289 7 *89 |
| 27 6 5 | 278 9 78 | 4 13 13 |
| 279 3 8 | 127 24 147 | #29 6 5 |
+-----------------+-------------------+--------------+
| 23 47 347 | 5 1 24 | 6 *89 *89 |
| 5 18 12 | 68 236 9 | 7 13 4 |
| 6 148 9 | 48 7 38 | 13 5 2 |
+-----------------+-------------------+--------------+
and utilizes strong links between r1c4=9=r1c7 and r1c4=9=r3c4 and an ALS (actually the bivalue located at r6c7) to link r1c7 and r4c7 and results in the elimination: r1c4<>1.