One more comparison of nrc and AIC notationsLet's take the easy puzzle from this recent thread:
http://forum.enjoysudoku.com/august-20-2015-t32646.html.
This is the simplest solution proposed, with a single basic AIC:
Leren wrote:- Code: Select all
*--------------------------------------------------------------*
| 2 358 6 | 1 57 9 | 34 357 3458 |
| 359 f3589 1 | 2 4 578 | 6 e3579 358 |
| 59 7 4 | 3 56 568 |d29 1 c258 |
|--------------------+--------------------+--------------------|
| 4 235 29 | 59 35679 567 | 1 8 356 |
| 3567 35 79 | 8 2 1 | 349 359 3456 |
| 356 1 8 | 4 3569 56 | 239 2359 7 |
|--------------------+--------------------+--------------------|
| 17 6 a27 | 59 59 3 | 8 4 b12 |
| 19 g9-2 5 | 6 8 4 | 7 23 123 |
| 8 4 3 | 7 1 2 | 5 6 9 |
*--------------------------------------------------------------*
(2) r7c3 = r7c9 - r3c9 = (2-9) r3c7 = r2c8 - r2c2 = (9) r8c2 => - 2 r8c2; stte
This is how it is written in the nrc and AIC notations (AIC is from above, nrc is its translation):
nrc: biv-chain[4]: r7n2{c3 c9} — r3n2{c9 c7} — b3n9{r3c7 r2c8} — c2n9{r2 r8} => r8c2 ≠ 2 (*)
AIC: (2) r7c3 = r7c9 - r3c9 = (2-9) r3c7 = r2c8 - r2c2 = (9) r8c2 => - 2 r8c2 (**) Notice that, apart from the explicit statement of the pattern being used in nrc (announcing that every 2D cell will be strictly bivalue), the length of the description is about the same. But groupings of terms are different: nrc considers that the — (- in AIC) are straightforward, while the parts within the { } (around the = in AIC) are the most important ones. AIC makes no difference (or, if any, it makes the opposite one, as suggested by the "(2-9) r3c7" ).
Whereas every step has a straightforward meaning in the nrc notation, there's only one step of the AIC notation that doesn't raise a problem. Actually, among the 9 steps (= or - signs), there's only one, the (2-9) r3c7, that can be straightforwardly interpreted; all the other steps require non-local information (i.e. information not directly present at the left or right of the = or - sign.
Let's see the ='s first:
- in order to understand the first =, one has to extend the scope of the first (2) to the right beyond the right side of the first =
- in order to understand the second =, one has to momentarily forget the remaining ( -9) in the (2-9) AND to extend the scope of the 2 in (2-9) to the left beyond the left side of the second equal
- in order to understand the third =, one has to momentarily forget the (2- ) AND to extend the scope of the remaining (9) to the right beyond the right side of the third =
- in order to understand the fourth =, one has to extend the scope of the second (9) to left right beyond the left side of the fourth =
Let's now see the -'s:
- in order to understand the first -, one has to extend the first (2) to the right beyond the first = AND to split the (2-9) AND to extend the 2 in this (2-9) to the left beyond the second =
- the second -, within (2-9), is the only place where things are clear
- as for the last -, one has to split the (2-9), to extend the 9 to the right beyond the second = AND to extend the last (9) to the left beyond the last =
Two final points:
- the position of the last (9), after the =, is arbitrary; the same meaning was intended at the start of the chain, with the (2) before the =
- parentheses around the (2) and (9) convey no meaning and are therefore useless
* One could also write the 3rd cell as b3n9{s7 s5}, using the dual coordinate system (where r3c7=b3s7 and r2c8=b3s5), but it would be more difficult to check the — with the previous and next candidates; that's why the standard nrc notation redundantly writes the full rc instead of the s for the bn variables:
biv-chain[4]: r7n2{c3 c9} — r3n2{c9 c7} — b3n9{s7 s5} — c2n9{r2 r8} => r8c2 ≠ 2
** I'm not an expert in AIC; I suppose this is a standard form; correct me otherwise, I'll revise the details