Hi Robert,
Mauriès Robert wrote:The puzzle I wanted to give as an example is this one where I voluntarily place the 6r2c5 in the original 7-solution puzzle.
.2159.6....5.6...186..........2......73..85.659.....2..5.63.8.23.9.24........5...
For this puzzle the basic techniques are enough.
Actually they're not. You need at least one non-basic technique (Skyscraper, for example) to get to the point where advancement with logic is no longer possible. However, this can be used as a simple example of a safe uniqueness elimination mentioned by
RW, i.e. one that doesn't depend on the assumption of a unique solution!
This is as far as we get with basics only:
- Code: Select all
.----------.-----------------.-------------------.
| 4 2 1 | 5 9 37 | 6 378 378 |
| 9 3 5 | 8 6 27 | 247 47 1 |
| 8 6 7 | *14+3 *14 123 | 239 5 39 |
:----------+-----------------+-------------------:
| 1 4 68 | 2 5 369 | 379 3789 3789 |
| 2 7 3 | *14+9 *14 8 | 5 ^149 6 |
| 5 9 68 | 134 7 136 | 134 2 348 |
:----------+-----------------+-------------------:
| 7 5 4 | 6 3 19 | 8 ^19 2 |
| 3 8 9 | ^17 2 4 | ^17 6 5 |
| 6 1 2 | 79 8 5 | 3479 3479 3479 |
'----------'-----------------'-------------------'
Notice the tempting Unique Rectangle (*14) in r35c45 with two extra candidates (3 and 9), one of which must be true if uniqueness of the solution is guaranteed. Here it obviously isn't, but can we still use the UR without worrying about it? Yes, we can! The reason is that we can prove that it can't be a real deadly pattern, because we could easily kill a candidate from it (and thus one of its solutions) using normal techniques. For example:
2-String Kite (^): (1)r8c4 = r8c7 - r7c8 = (1)r5c8 => -1 r5c4
Because of that knowledge, we can safely use the UR (with or without taking the previous elimination first) for a simple elimination that reduces the puzzle to basics (until it gets stuck). First notice that the 3r3c4 is equivalent to the external candidate 1r3c6, the latter of which gives a simpler deduction:
- Code: Select all
.----------.-------------------------.-------------------.
| 4 2 1 | 5 9 37 | 6 378 378 |
| 9 3 5 | 8 6 27 | 247 47 1 |
| 8 6 7 | *14+3 *14+ b23(#1) | 239 5 39 |
:----------+-------------------------+-------------------:
| 1 4 68 | 2 5 36-9 | 379 3789 3789 |
| 2 7 3 | a*14[+9] *14+ 8 | 5 ^149 6 |
| 5 9 68 | 134 7 136 | 134 2 348 |
:----------+-------------------------+-------------------:
| 7 5 4 | 6 3 b(19) | 8 ^19 2 |
| 3 8 9 | ^17 2 4 | ^17 6 5 |
| 6 1 2 | 79 8 5 | 3479 3479 3479 |
'----------'-------------------------'-------------------'
UR(14)r35c45 (
safe) using mixed +internal / #external:
(9)r5c4 =UR= (19)r37c6 => -9 r4c6 (=> basics until stuck)
Of course that elimination is possible with a normal Skyscraper as well, but the point was to demonstrate RW's concept in practice. If it can be proved that a uniqueness pattern can't be truly deadly by being able to eliminate one of its solutions using normal logic, then it can be safely used for a "uniqueness" reduction without making any assumptions about uniqueness. It means that in a real multi-solution puzzle, like this, none of the solutions get destroyed. We still get stuck here with the three solutions, so no information was lost by applying the UR:
- Code: Select all
.----------.----------.-------------.
| 4 2 1 | 5 9 7 | 6 38 38 |
| 9 3 5 | 8 6 2 | 4 7 1 |
| 8 6 7 | 3 4 1 | 2 5 9 |
:----------+----------+-------------:
| 1 4 68 | 2 5 36 | 39 389 7 |
| 2 7 3 | 9 1 8 | 5 4 6 |
| 5 9 68 | 4 7 36 | 1 2 38 |
:----------+----------+-------------:
| 7 5 4 | 6 3 9 | 8 1 2 |
| 3 8 9 | 1 2 4 | 7 6 5 |
| 6 1 2 | 7 8 5 | 39 39 4 |
'----------'----------'-------------'
At this point the puzzle could be "solved" with one of three possible uniqueness techniqes (UR Type 1, BUG-Lite+1, BUG+1) but each of them would produce a different solution:
UR Type 1 (39+8)r49c78 => +8 r4c8
BUG-Lite+1 (368+9)r146c3689 => +9 r4c8
BUG+1 => +3 r4c8
Thus, at this point it's not safe to use any uniqueness technique, because it would destroy possible solutions. The reason is simple: unlike in the previous example, there's no logical technique available that would also destroy those solutions. The remaining deadly pattern is thus real and can't be reduced any further with logic.
One last point. If you only use such safe uniqueness reductions in a normal single-solution puzzle, then you'll also prove the uniqueness of the solution -- despite using uniqueness techniques!
(Btw, sorry if all of this is self-explanatory to everyone else. I'm mainly teaching myself! If you find faults in my logic, please inform.)