## YZF_Sudoku

Programs which generate, solve, and analyze Sudoku puzzles

### Re: YZF_Sudoku

Hi again,

Code: Select all
`2459  25789  1      |23457 2459   34579  |24678 24679 2689 6     279    479    |247   8      479    |3     5     1    23459 235789 345789 |1     2459   6      |2478  2479  289  ----------------------------------------------------------8     3569   359    |3456  7      345    |26    1     256  135   4      357    |3568  156    2      |9     367   568  135   3567   2      |9     156    1358   |678   367   4    ----------------------------------------------------------249   1      489    |2468  3      489    |5     2469  7    23459 23589  6      |24578 12459  145789 |124   249   29   7     259    459    |2456  124569 1459   |1246  8     3     seen 3 exocet(s)0;4;9524,r9c2 r9c3    r8c5    r8c4 r8c6 0;3;429,r8c8 r8c9    r7c3    r7c1 1;3;429,r8c8 r8c9    r9c5    r7c1 `

here a quick first summary of my results

The program qualify your exocet of JExocet and finds 2 more exocets.

from the exocet r8r8 r8c9 r3c1 r7c1, we can conclude that r7c1 and r9c5 have the same content.
The third exocet tells us (digit 7 locked) that the digits in r9c23 are also in the mini row r8c456.

All together, this must help a lot

I'll have more comments later to-day or to-morrow
champagne
2017 Supporter

Posts: 7138
Joined: 02 August 2007
Location: France Brittany

### Re: YZF_Sudoku

Champagne wrote : The third exocet tells us (digit 7 locked) that the digits in r9c23 are also in the mini row r8c456.

I thought that was intriguing, so I thought I'd see where it went. I came up with the following;

Code: Select all
`*------------------------------------------------*| a     c    b  | *    *     *    | *    *    x  || qr    qr   s  | xyz  xyz  xyz   | *    ab   ab || x     yz  yz  | *    b     *    | *    *    *  |*------------------------------------------------**------------------------------------------------*| a     c    b  | qs   r    qs    | y    z    x  || qr    qr   s  | xyz  xyz  xyz   | c    ab   ab || x     yz   yz | ac   b    ac    | s    q    r  |*------------------------------------------------*`

The upper diagram shows your comment and the bottom diagram shows what I think you can further infer from it. In particular, the contents of all the mini-rows in the exocet band are defined.

We know that c = 1, s = 6, x = 7, y = 5, q = 8 and r = 3, so in particular r8c7 = 1 and r9c7 = 6. The only uncertainty is the values of a, b and z, which can be 2, 4 or 9. This seems to agree with the solution.

Leren
Leren

Posts: 3861
Joined: 03 June 2012

### Re: YZF_Sudoku

Here a solution using all exocets,

..1......6...8.351...1.6...8...7..1..4...29....29....4.1..3.5.7..6......7......83

This is our start point,
candidates to clear due to the exocets
1 r89c5 r8c6
8 r7c3 r8c46
56r9c5

Code: Select all
`2459  25789  1      |23457 2459   34579  |24678 24679 2689 6     279    479    |247   8      479    |3     5     1    23459 235789 345789 |1     2459   6      |2478  2479  289  ----------------------------------------------------------8     3569   359    |3456  7      345    |26    1     256  135   4      357    |3568  156    2      |9     367   568  135   3567   2      |9     156    1358   |678   367   4    ----------------------------------------------------------249   1      489    |2468  3      489    |5     2469  7    23459 23589  6      |24578 12459  145789 |124   249   29   7     259    459    |2456  124569 1459   |1246  8     3  `

after singles, naked pairs 15 in column 1; 29 in column 8, we are here

Code: Select all
`249 5   1   |2347 249 3479 |468 2469 68  6   279 479 |247  8   479  |3   5    1   249 3   8   |1    5   6    |47  2479 29  ----------------------------------------8   69  39  |345  7   345  |2   1    56  15  4   37  |358  16  2    |9   367  568 15  67  2   |9    16  358  |678 367  4   ----------------------------------------249 1   49  |2468 3   489  |5   2469 7   3   8   6   |2457 249 4579 |1   249  29  7   29  5   |246  249 1    |46  8    3   `

5r9c3 pushes us to use again the exocets
Now, 4 can not be in r8c456 r8c8=4
The puzzle is solved
champagne
2017 Supporter

Posts: 7138
Joined: 02 August 2007
Location: France Brittany

### Re: YZF_Sudoku

Using only the third Exocet and the method I outlined above gets to here:

Code: Select all
`*----------------------------------------------------*| 2459  2579 1   | 23457 2459  34579 | 47  6      8  || 6     279  479 | 247   8     479   | 3   5      1  || 45-29 3    8   | 1     45-29 6     | 47 *29+47 *29 ||----------------+-------------------+---------------|| 8     569  359 | 345   7     345   | 2   1      56 || 15    4    357 | 8     156   2     | 9   37     56 || 15    567  2   | 9     156   35    | 8   37     4  ||----------------+-------------------+---------------|| 24    1    49  | 6     3     8     | 5   249    7  || 3     8    6   | 2457  2459  4579  | 1   249    29 || 7     259  459 | 24    49    1     | 6   8      3  |*----------------------------------------------------*`

Only the HP (29) in r3c89 is required to solve the puzzle. Leren
Leren

Posts: 3861
Joined: 03 June 2012

### Re: YZF_Sudoku

I have a few minor edits for you and a couple of questions.
Edits:
In All Possible Steps: Types [list] : Sue dec Coq should be Sue de Coq
Locked_Candidates should be Locked Candidates [remove underscore _ ]
In descriptions : Digital should be Digit
In Double JExocet : ||Junior should be Junior [remove ||]
Basecands should Base Cands [or write candidates]
Three kinds base cands [I am not sure what is intended here?]
Target House [?]

Questions:
As of 607, Junior Exocet. Senior Exocet, Double JExocet and MSLS are all rated Extreme [Red]. I am thinking that these steps should be rated Unfair or maybe even Hard. imho, They are easier to spot than AICs and ALSs. This matter may be 'controversial'. Certainly though, they are definitely easier than Forcing Chains. So they should be displayed before Forcing Chains. btw Brute Force is a separate category, really and certainly last in any list.
AIC are shown as Type 1 and Type 2. I am unsure as to the difference(s). Maybe there is a reference to this distinction?

All the best
Gordon
ghfick

Posts: 74
Joined: 06 April 2016

### Re: YZF_Sudoku

Hi ghfick :Tks.
In All Possible Steps: Types [list] : Sue dec Coq should be Sue de Coq
Locked_Candidates should be Locked Candidates [remove underscore _ ]
In descriptions : Digital should be Digit
In Double JExocet : ||Junior should be Junior [remove ||]
Basecands should Base Cands [or write candidates]

Next release will be corrected.
Three kinds base cands [I am not sure what is intended here?]
Target House [?]

Means JE4 have 3 Cross line,3 kinds true base cands have a same cover house in cross line, thus these three kinds of cands must be filled in the intersection cells of cross line and cover house.
AIC are shown as Type 1 and Type 2. I am unsure as to the difference(s). Maybe there is a reference to this distinction?

An AIC Type 1 starts and ends on a strong link for the same digit, thus proves that that digit must be placed in one of the end cells of the AIC. This eliminates that digit from all cells that can see both ends of the AIC.
An AIC Type 2 starts and ends on a strong link for two different digits in two cells, the two cells see each other. This proves that the end digit can't be in the start cell and the start digit cannot be in the end cell.
As of 607, Junior Exocet. Senior Exocet, Double JExocet and MSLS are all rated Extreme [Red]. I am thinking that these steps should be rated Unfair or maybe even Hard. imho, They are easier to spot than AICs and ALSs. This matter may be 'controversial'. Certainly though, they are definitely easier than Forcing Chains. So they should be displayed before Forcing Chains. btw Brute Force is a separate category, really and certainly last in any list.

If jexoset and MSLS are put before AIC, it will affect the speed of puzzle solving, because there is no suitable filter condition to make the program skip unnecessary search, if you have a good idea, please do not hesitate to comment.
yzfwsf

Posts: 163
Joined: 16 April 2019

### Re: YZF_Sudoku

yzfwsf wrote:If jexoset and MSLS are put before AIC, it will affect the speed of puzzle solving, because there is no suitable filter condition to make the program skip unnecessary search, if you have a good idea, please do not hesitate to comment.

I use 2 quick filters, but I have none for the MSLS so far

exocet (all kinds of..) The target must be one digit of the base in the final solution
Both targets must have different solution digits.

Multi fish rank 0 logic : the multifish must give eliminations. Eliminations are not always in line with what can do a rank 0 multi fish logic, but this is not very easy to describe in a program.
champagne
2017 Supporter

Posts: 7138
Joined: 02 August 2007
Location: France Brittany

### Re: YZF_Sudoku

champagne wrote:I use 2 quick filters, but I have none for the MSLS so far
exocet (all kinds of..) The target must be one digit of the base in the final solution
Both targets must have different solution digits.

I know that your filter can quickly filter out the invalid JE structure, but I don't know how to filter the valid structure without eliminations, which is the most time-consuming situation. Tks.
yzfwsf

Posts: 163
Joined: 16 April 2019

### Re: YZF_Sudoku

yzfwsf wrote:I know that your filter can quickly filter out the invalid JE structure, but I don't know how to filter the valid structure without eliminations, which is the most time-consuming situation. Tks.

I don't understand what is behind the valid structure without eliminations
Is it the basic exocet elimination (the target can only have digits of the base)
Is it the effect of the "abi loop" eliminations (this is mainly in exocets with 3 digits)
Is it something else ??? (having at most 2 JE in a puzzle, I have doubts that you can have a run time problem when the JE is established).
champagne
2017 Supporter

Posts: 7138
Joined: 02 August 2007
Location: France Brittany

### Re: YZF_Sudoku

I don't understand what is behind the valid structure without eliminations

If JE is found in the previous step and there is an valid eliminations , then the next step will also check whether the JE has any valid eliminations .

In fact, when my solver is looking for JExocet / Sunior exocet and MSLS, the speed is OK, and the time is milliseconds to sub seconds.

I have a run time problem in searching complex fishes some time,any suggestions? Tks.
yzfwsf

Posts: 163
Joined: 16 April 2019

### Re: YZF_Sudoku

yzfwsf wrote:I have a run time problem in searching complex fishes some time,any suggestions? Tks.

in my solver, I apply first a brute force one digit to all digits (before the first fish search, the XWing). The fish search is done later only for digits where I still have some pending eliminations to find.
champagne
2017 Supporter

Posts: 7138
Joined: 02 August 2007
Location: France Brittany

### Re: YZF_Sudoku

champagne wrote:
yzfwsf wrote:I have a run time problem in searching complex fishes some time,any suggestions? Tks.

in my solver, I apply first a brute force one digit to all digits (before the first fish search, the XWing). The fish search is done later only for digits where I still have some pending eliminations to find.

In my solver, i use POM as filter ,but sometimes POM's eliminations can't find the equivalent fish.
I iterate through all rows and columns and boxes combinations as a base set, and then search all possible cover sets for any eliminations.Maybe it will take a lot of time here
yzfwsf

Posts: 163
Joined: 16 April 2019

### Re: YZF_Sudoku

Fix the bug of missing some Sue de Coq.
Fix typos Gordon mentioned.
The first search of MSLS, JE and SE is advanced to before the dynamic chains, and their difficulty level is reduced.
New implementation for UR + XY(Z)-Wing, UR + WXYZ-Wing tecniques, and they were searched at the same time as ordinary UR.
New implementation for BUG+n,where n<=5.
Add one key to undo all error steps.
New batch puzzle generation function, and some attributes of puzzle can be set, such as symmetry, SKFR rating, YZF_Sudoku rating, and Back Door, in which symmetry is effective for ordinary random puzzle generator
Release 608
YZF_Sudoku608.part1.rar

YZF_Sudoku608.part2.rar
yzfwsf

Posts: 163
Joined: 16 April 2019

### Re: YZF_Sudoku

Impressive Impressive Impressive
2 words for you:
WELL DONE

tarek

tarek

Posts: 3547
Joined: 05 January 2006

### Re: YZF_Sudoku

The solver has sometimes shown an error pattern about ALS XZ.

example:
Code: Select all
`.---------------------------------.---------------------------------.---------------------------------.|  2678       2678       3        |  247        58         1        |  467        257        9        ||  26789      2678       4        |  3          58         279      |  1          257        2678     ||  289        5          1        |  2479       6          2479     |  47         3          278      |:---------------------------------+---------------------------------+---------------------------------:|  1          2467       67       |  257        9          2567     |  8          247        3        ||  27         3          5        |  1          4          8        |  9          6          27       ||  24678      9          678      |  27         3          267      |  5          247        1        |:---------------------------------+---------------------------------+---------------------------------:|  3          68         689      |  589        7          59       |  2          1          4        ||  47         1          79       |  6          2          49       |  3          8          5        ||  5          48         2        |  48         1          3        |  67         9          67       |'---------------------------------'---------------------------------'---------------------------------'`

These two patterns are actually the same, and the latter is incorrect.
（We can also see similar patterns about ALS XY-Wing, ALS W-Wing and Death Blossom）
kirara0048

Posts: 1
Joined: 07 February 2020

PreviousNext