I implemented a new rule for SE in my solver.

Everything about Sudoku that doesn't fit in one of the other sections

I implemented a new rule for SE in my solver.

Postby yzfwsf » Wed Sep 30, 2020 12:54 pm

If this new rule is not added, the SKFR score of the following puzzle will be reduced from 110 to 103 after using the SE technique, but the SKFR score will drop by 77 after adding the new rule.
SE.png
SE.png (31.31 KiB) Viewed 822 times


Senior Exocet:Base Cells-r8c5,r8c6;Target Cells-r13c8,r9c1;Cross Cells-r1c14,r2c148,r3c14,r4c148,r5c148,r6c148,r7c18,r9c8
"S" Cells Need Include:1r9,2r9,4r9,6r9,
Non BaseCands In Target Cells: r1c8<>3,r3c8<>3
Potential Target seats in one cover house for cross-line: r3c8<>1,r3c8<>2
yzfwsf
 
Posts: 921
Joined: 16 April 2019

Re: I implemented a new rule for SE in my solver.

Postby SpAce » Wed Sep 30, 2020 10:41 pm

Hi yzf,

yzfwsf wrote:Senior Exocet:Base Cells-r8c5,r8c6;Target Cells-r13c8,r9c1
Non BaseCands In Target Cells: r1c8<>3,r3c8<>3
Potential Target seats in one cover house for cross-line: r3c8<>1,r3c8<>2

Why not simply use r1c8 as a single-cell target? I did that here, too. In this case I came up with:

Code: Select all
  *1246                 *1246                              *1246
.---------------------.--------------------------.------------------------.
|  9     8      12345 |  7       234     124     |  6      t12-35   123   |
|  7     14     1234  |  5       2346    1246    |  1238    9       1238  |
| *123   15     6     | *128     2389    1289    |  7      *1235    4     | \12
:---------------------+--------------------------+------------------------:
|  8     14569  145   |  3       24569   24569   |  1245    7       1269  |
| *1346  2      13457 | *468     456789  456789  |  13458  *1346    13689 | \146
| *346   4569   3457  | *2468    1       2456789 |  23458  *2346    23689 | \246
:---------------------+--------------------------+------------------------:
|  5     146    124   |  12468   24678   3       |  9      *1246    1267  |
|  1246  7      8     |  9      b246    b1246    |  1234    12346   5     | \1246
| t1246  3      9     |  1246    24567   124567  | *124     8      *1267  | *1246
'---------------------'--------------------------'------------------------'
                             \b8:1246                    \b9:1246

{8N56 1246R9 1246C148 \ 12r3 146r5 246r6 1246r8 1246b8 1246b9 1n8 9n1}

Step 1. SExocet (1246)r8c56,r1c8,r9c1 => -35 r1c8 (non-base digits in target)

Code: Select all
.-----------------.-------------------------.---------------------.
|  9     8   5    | 7      234      124     | 6     t2-1    123   |
|  7     4   23   | 5      236      126     | 1238   9      1238  |
|  23    1   6    | 28     2389     289     | 7      5      4     |
:-----------------+-------------------------+---------------------:
|  8     59  14   | 3      24569    24569   | 1245   7      1269  |
|  1346  2   1347 | 468    456789   456789  | 13458  1346   13689 |
|  346   59  347  | 2468   1        2456789 | 23458  2346   23689 |
:-----------------+-------------------------+---------------------:
|  5     6   124  | 1248   2478     3       | 9      124    127   |
|  124   7   8    | 9     b24-6    b24-6    | 1234   12346  5     |
| t4-12  3   9    | 1246   24567    24567   | 124    8      1267  |
'-----------------'-------------------------'---------------------'

Step 2. Same SExocet:

Code: Select all
-1 r1c8,r9c1 (non-base-candidates in targets)
-6 r8c56     (base-candidate not in either target)
-2 r9c1      (base-candidate true in the other target)
stte

Am I overlooking something?
--

PS. I don't think it's necessarily a good idea to use 'SE' as an acronym for Senior Exocet. It's too easily confused with Sudoku Explainer. (Then again, there aren't great options either, unless one wants to be funny. Maybe 'SX'?)
-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

Re: I implemented a new rule for SE in my solver.

Postby yzfwsf » Thu Oct 01, 2020 3:17 am

SpAce wrote:Why not simply use r1c8 as a single-cell target? I did that here, too. In this case I came up with:

In fact, at version 610, it's handled same to you. Later, in order to extend support for grouped target that contains locked non-base members, the code was modified to prioritize searching for grouped target.
It was designed like this just to make the program faster. Now take your suggestion and first search for a single target solution. If the user wants to search all possible steps, then list the group target solution. Thanks!
yzfwsf
 
Posts: 921
Joined: 16 April 2019

Re: I implemented a new rule for SE in my solver.

Postby SpAce » Thu Oct 01, 2020 3:47 am

Excellent! Thanks for the clarification and confirmation that my way was correct, too. I'm still far from confident with this stuff.

I also want to express my gratitude for your great work in general, especially regarding Exocets. Even though I'm not using your solver (only because I'm a Mac user), I'm still benefiting from it indirectly.

If it weren't for your implementation of Senior Exocet, I'm pretty sure it would be considered more or less a curiosity instead of a practical solving technique. The recent examples have proved that it can be really powerful and also within the grasp of manual solvers. It's certainly more difficult than JE but not overwhelmingly so. Great job bringing it into the spotlight! Thanks to mith as well for his part.
User avatar
SpAce
 
Posts: 2671
Joined: 22 May 2017


Return to General