Help with notation

Post the puzzle or solving technique that's causing you trouble and someone will help

Help with notation

Postby urhegyi » Thu Aug 06, 2020 12:11 pm

tussen.png
tussen.png (16.05 KiB) Viewed 607 times

Last step was this AIC: If R1C3=8 ==> R2C3<>8=7 else R1C3=2(R1C7<>2;R3C9=2;R3C9<>5;R9C9=5;R9C9<>8;R9C7=8;R12C7<>8;R1C7=9;R2C7=3;R2C9=8;R2C3<>8=7).
Conclusion in both cases R2C3=7 and R2C1=9.
Can someone help me to write this in correct notation?
This solved the sudoku by singles.
urhegyi
 
Posts: 743
Joined: 13 April 2020

Re: Help with notation

Postby SpAce » Thu Aug 06, 2020 4:36 pm

Hi urhegyi,

urhegyi wrote:Last step was this AIC: If R1C3=8 ==> R2C3<>8=7 else R1C3=2(R1C7<>2;R3C9=2;R3C9<>5;R9C9=5;R9C9<>8;R9C7=8;R12C7<>8;R1C7=9;R2C7=3;R2C9=8;R2C3<>8=7).
Conclusion in both cases R2C3=7 and R2C1=9.
Can someone help me to write this in correct notation?

Yes, but it gets a bit complicated because the logic is not linear. There are many options to write such logic, but none are as easy as basic AICs.

Code: Select all
35...7.14.1.542.6.......7....5......8.....4.6....3...7..9..6.7....7..62..3.9.....

.-----------------.---------------.-------------------.
| 3     5   a28   | 68   69  7    | bf29-8  1     4   |
| 79    1    7-8  | 5    4   2    |  f389   6    g38  |
| 49    69   2468 | 3    1   89   |   7     589  c258 |
:-----------------+---------------+-------------------:
| 1469  7    5    | 268  69  489  |   1289  3     128 |
| 8     2    3    | 1    7   59   |   4     59    6   |
| 1469  69   46   | 26   3   4589 |   1258  589   7   |
:-----------------+---------------+-------------------:
| 2     8    9    | 4    5   6    |   13    7     13  |
| 5     4    1    | 7    8   3    |   6     2     9   |
| 67    3    67   | 9    2   1    |  e58    4    d58  |
'-----------------'---------------'-------------------'

1) The most powerful notation for any branching logic is a matrix, though not many might be familiar with them:

Code: Select all
7x7 TM (Triangular Matrix)
--------------------------

 8r1c3 2r1c3
       2r1c7 2r3c9
             5r3c9 5r9c9
                   8r9c9 8r9c7
       2r1c7             8r1c7 9r1c7
                         8r2c7 9r2c7 3r2c7
 8r2c9                               3r2c9
==========================================
-8r1c7
-8r2c3

2) Another clear possibility (and a better one for presentation) is a Kraken Cell:

Code: Select all
(2)r1c7 - (2=8)r1c3
||
(8)r1c7 - r9c7 = (8-5)r9c9 = (5-2)r3c9 = r1c7 - (2=8)r1c3
||
(9)r1c7 - (9=38)r2c79


=> -8 r1c7, r2c3; btte

3) If you want a one-line chain, then a memory chain is probably the easiest option:

Code: Select all
(8=2*)r1c3 - r1c7 = (2-5)r3c9 = (5-8)r9c9 = r9c7 - (8|*2=93)r12c7 - (3=8)r2c9 => -8 r1c7,r2c3; btte

Note that memory chains are not valid AICs, though. They're easy to write when you need simple branching, but they're not exactly elegant.

4) If you want to avoid the memory to have a valid AIC, a nested contradiction chain is one option, though not necessarily very intuitive (or elegant):

Code: Select all
(8=2)r1c3 - r1c7 = [!=(2-5)r3c9 = (5-8)r9c9 = r9c7 - (8=93)r12c7] - (3=8)r2c9 => -8 r1c7,r2c3; btte

5) Personally I'd probably write it as an AIC like this:

Code: Select all
.-----------------.---------------.-------------------.
| 3     5   a28   | 68   69  7    | bd29-8  1     4   |
| 79    1    7-8  | 5    4   2    |  d389   6    e38  |
| 49    69   2468 | 3    1   89   |   7     589  c258 |
:-----------------+---------------+-------------------:
| 1469  7    5    | 268  69  489  |   1289  3     128 |
| 8     2    3    | 1    7   59   |   4     59    6   |
| 1469  69   46   | 26   3   4589 |   1258  589   7   |
:-----------------+---------------+-------------------:
| 2     8    9    | 4    5   6    |   13    7     13  |
| 5     4    1    | 7    8   3    |   6     2     9   |
| 67    3    67   | 9    2   1    |  d58    4    c58  |
'-----------------'---------------'-------------------'

(8=2)r1c3 - r1c7 = (25)r39c9 - (2|5=893)r192c7 - (3=8)r2c9 => -8 r1c7,r2c3; btte

The last option is the cleanest and the shortest, but it might be the hardest to write correctly. It's not necessarily easy to understand either, depending on one's experience with non-trivial AICs.

Those are the options I could quickly come up with. As you can see, none are exactly trivial. It's the nature of the game when the logic needs branching.

This solved the sudoku by singles.

Actually you need one claiming, too. A tiny difference, but we make that distinction by marking it 'btte' (basics to the end) instead of 'stte' (singles to the end).

PS. Next time, please attach the puzzle string and the pencil mark grid in text format. You can easily export those from Hodoku (Edit::Copy Givens; Edit::Copy Candidates).
-SpAce-: Show
Code: Select all
   *             |    |               |    |    *
        *        |=()=|    /  _  \    |=()=|               *
            *    |    |   |-=( )=-|   |    |      *
     *                     \  ¯  /                   *   

"If one is to understand the great mystery, one must study all its aspects, not just the dogmatic narrow view of the Jedi."
User avatar
SpAce
 
Posts: 2671
Joined: 22 May 2017


Return to Help with puzzles and solving techniques