YZF_Sudoku

Programs which generate, solve, and analyze Sudoku puzzles

Re: YZF_Sudoku

Postby ghfick » Wed Jan 08, 2020 8:59 pm

I am unsure what you may mean by a uniqueness loop. Maybe a chain with a BUG[something] at a node of the chain?
With some MSLS steps, the text says " Digit XXX can be permutated " . I am unsure what this message is about. Reference?
"Grouped Two String Kites" and "Grouped Skyscrapers" would be a worthy addition. Cranes too. I need to read up on Cranes.
As always, once a step is seen in a solver, then one can 'learn' to spot it as a pen & paper solver.
ghfick
 
Posts: 232
Joined: 06 April 2016
Location: Calgary, Alberta, Canada youtube.com/@gordonfick

Re: YZF_Sudoku

Postby SpAce » Thu Jan 09, 2020 1:46 am

ghfick wrote:I am unsure what you may mean by a uniqueness loop. Maybe a chain with a BUG[something] at a node of the chain?

Probably not. As far as I understand, Unique Loop is a simple kind of BUG-Lite that could be written as a loop (instead of a graph). Thus UR is the simplest kind of UL. The term is not used very often nowadays, possibly because it's a bit misleading (as evidenced by your question). On the other hand, it would be nice to have a specific name for such relatively simple uniqueness patterns that are between URs and full-blown BUG-Lites. Normally we just call them BUG-Lites or generic DPs.

For example, the BUG-Lite in my first step here could be called UL, if I've understood how the term was historically used. (Btw, that puzzle is a prime example of why I think X-Chains and small non-MUG uniqueness patterns are the easiest to see, even without pencil marks. If I'd needed other multi-digit patterns, even as simple as XY-Chains, I probably would have wanted to see candidates. As it was, I found it very easy to solve without them.)
User avatar
SpAce
 
Posts: 2671
Joined: 22 May 2017

Re: YZF_Sudoku

Postby yzfwsf » Wed Jan 15, 2020 1:42 am

ghfick wrote:I am unsure what you may mean by a uniqueness loop. Maybe a chain with a BUG[something] at a node of the chain?
With some MSLS steps, the text says " Digit XXX can be permutated " . I am unsure what this message is about. Reference?
"Grouped Two String Kites" and "Grouped Skyscrapers" would be a worthy addition. Cranes too.

UL you can refer to SudokuExplainer。In some MSLS steps, the text "digit XXX can be permutated" means that it can be equivalent to a row link, column link or box link without changing the final rank. Grouped Skyscrapers same finned X_Wing. Grouped Two String Kites and Cranes and WXYZ-Wing have been implemented now.
Fixed bug in dynamic chains display, Space mentioned bugs . AIC text notation, if candidate same to previous one then omit it.

Release 607
Sorry, please download again in the next post. JE2 could not be found due to wrong code modification
Last edited by yzfwsf on Thu Jan 16, 2020 4:44 am, edited 1 time in total.
yzfwsf
 
Posts: 850
Joined: 16 April 2019

Re: YZF_Sudoku

Postby SpAce » Wed Jan 15, 2020 6:47 am

Hi yzfwsf,

Nice to see you've added / fixed a lot of stuff again. One comment, though:

yzfwsf wrote:Grouped Skyscrapers same finned X_Wing.

Yes, they're the same pattern and produce the same eliminations but they're conceptually different. One is a fish (i.e. set logic) and the other is (or can be seen as) a grouped chain. Both POVs are valid and should be included because they represent different ways to find and see the pattern and to justify its eliminations. The same is true about any other Turbot fish or longer X-Chain, because all of them can be seen as fishes.

For example, normal Skyscrapers are Siamese Finned Sashimi X-Wings, Kites are Finned Mutant X-Wings, and Cranes can be seen as both Finned Franken and Finned Mutant X-Wings. Would it make sense to only include the fish POV for them all? I don't think so because most people find them as chains instead of fishes.

Besides, some Grouped Skyscrapers are normal Finned X-Wings while others are Finned Sashimi X-Wings. A minor detail: most people would write it X-Wing, not X_Wing.
User avatar
SpAce
 
Posts: 2671
Joined: 22 May 2017

Re: YZF_Sudoku

Postby ghfick » Thu Jan 16, 2020 12:05 am

Hi yzfwsf,
Marvelous progress.
I have a few more minor revisions for you and a couple of queries :

On the main menu : Option should be Options [plural]
In the All possible steps tab : Sunior Exocet should be Senior Exocet [replace u with e]
In the Help tab : 'Teq No' could be Techniques ?
In the techniques list : ALs should be ALS [capital S] [3 changes]
BugOne should be Bug +1 [at least I think so ? does the solver find other BUGs ?]
In all possible steps : X_Wing should be X-Wing [3 changes]
Everywhere else : the underscore [ _ ] should be replaced with a blank space [ ]

In all possible steps : the Forcing chains that lead to a contradiction are not labelled as 'Forcing Chains'. Currently, the step is just : If rXcY = Z ....
Perhaps the step should be labelled as 'Forcing Chain' or maybe 'Forcing Chains' [plural] or maybe as a 'Contradiction' step ? [ not sure what is best here ]
btw Do such steps require the Uniqueness assumption? If an assumption leads to 2 possibilities, I think we need uniqueness. [ not sure ]. If an assumption leads to a 'must' and a 'must not', then, without uniqueness, this appears to say that there would be [at least] two solutions with the assumption ?

Your Uniqueness tests allow for missing candidates. I think the two types [missing or no missing] should be separated as the steps with missing candidates are harder to spot [unfair?] than those steps with no missing candidates [hard?].

Gordon
ghfick
 
Posts: 232
Joined: 06 April 2016
Location: Calgary, Alberta, Canada youtube.com/@gordonfick

Re: YZF_Sudoku

Postby SpAce » Thu Jan 16, 2020 4:43 am

ghfick wrote:In all possible steps : the Forcing chains that lead to a contradiction are not labelled as 'Forcing Chains'. Currently, the step is just : If rXcY = Z ....
Perhaps the step should be labelled as 'Forcing Chain' or maybe 'Forcing Chains' [plural] or maybe as a 'Contradiction' step ? [ not sure what is best here ]

"Contradiction Chain/Net" or "Nishio" would be best. As I've argued elsewhere, "Forcing Chains/Nets" should logically only produce verities (as per the original definition), i.e. forced eliminations or placements external to the chain/net. We call those Krakens. A contradiction chain/net only proves that the initial assumption is false, which is very different. Those are called Nishios.

I think Hodoku's habit of calling both kinds "Forcing Chains" is confusing, and it's especially bad that it doesn't allow filtering them separately. That said, contradictions (Nishios) and verities (Krakens) are just two sides of the same coin because they can always be converted into each other, so they do have a connection. Yet they're logically different.

btw Do such steps require the Uniqueness assumption?

No, unless the produced contradiction is a uniqueness contradiction (i.e. a Deadly Rectangle or a BUG(-Lite)+0 or a MUG+0) and we want to use it.

If an assumption leads to 2 possibilities, I think we need uniqueness. [ not sure ]. If an assumption leads to a 'must' and a 'must not', then, without uniqueness, this appears to say that there would be [at least] two solutions with the assumption ?

You might want to think that through again. If that were true you'd have to assume uniqueness for every technique, because they can always be converted into contradictions and vice versa. The only assumption normal techniques (and their mirrored contradictions) require is that there's at least one solution.

Your Uniqueness tests allow for missing candidates. I think the two types [missing or no missing] should be separated as the steps with missing candidates are harder to spot [unfair?] than those steps with no missing candidates [hard?].

I concur.
User avatar
SpAce
 
Posts: 2671
Joined: 22 May 2017

Re: YZF_Sudoku

Postby yzfwsf » Thu Jan 16, 2020 4:54 am

ghfick wrote:Hi yzfwsf,
Marvelous progress.
I have a few more minor revisions for you and a couple of queries :

On the main menu : Option should be Options [plural]
In the All possible steps tab : Sunior Exocet should be Senior Exocet [replace u with e]
In the Help tab : 'Teq No' could be Techniques ?
In the techniques list : ALs should be ALS [capital S] [3 changes]
BugOne should be Bug +1 [at least I think so ? does the solver find other BUGs ?]
In all possible steps : X_Wing should be X-Wing [3 changes]
Everywhere else : the underscore [ _ ] should be replaced with a blank space [ ]

In all possible steps : the Forcing chains that lead to a contradiction are not labelled as 'Forcing Chains'. Currently, the step is just : If rXcY = Z ....
Perhaps the step should be labelled as 'Forcing Chain' or maybe 'Forcing Chains' [plural] or maybe as a 'Contradiction' step ? [ not sure what is best here ]
Gordon

Mention has been corrected.
btw Do such steps require the Uniqueness assumption
No need, only need the puzzle have solution.
Your Uniqueness tests allow for missing candidates. I think the two types [missing or no missing] should be separated as the steps with missing candidates are harder to spot [unfair?] than those steps with no missing candidates [hard?].
Will be available in the next release
Release 607 again.
YZF_Sudoku607.7z.001.7z
(256 KiB) Downloaded 163 times

YZF_Sudoku607.7z.002.7z
(230.42 KiB) Downloaded 172 times
yzfwsf
 
Posts: 850
Joined: 16 April 2019

Re: YZF_Sudoku

Postby yzfwsf » Sun Feb 02, 2020 1:21 pm

Added 3 techniques: AUR+XY-Wing;AUR+XYZ-Wing;AUR+WXYZ-Wing
AUR+XY-Wing.png
AUR+XY-Wing
AUR+XY-Wing.png (27.93 KiB) Viewed 940 times

AUR+XYZ-Wing.png
AUR+XYZ-Wing
AUR+XYZ-Wing.png (28.37 KiB) Viewed 940 times

AUR+WXYZ-Wing.png
AUR+WXYZ-Wing
AUR+WXYZ-Wing.png (27.14 KiB) Viewed 940 times
yzfwsf
 
Posts: 850
Joined: 16 April 2019

Re: YZF_Sudoku

Postby yzfwsf » Wed Feb 05, 2020 12:28 am

@Cenoman(Thank you for your feedback.);@David P Bird(Thank you for your systematic work on JExocet) ;@qiuyanzhe(Thank you for being the first one in our QQ group to discover this extension.)
I made a extension in JExocet pattern solver:If a base digit having 3 cover houses in cross-line, we can find a extra cross-line.
In an extra cross-line, the two cells in sight of the target cells shall not contain the base digit, having less than three cover houses can covered by standard S cells's cover houses. Theoretically, it can continue to expand, but in order to reduce the search cost, only four cross lines are implemented at this stage
Code: Select all
    JE2 Pattern                 JE+ Patterns
  *-------*-------*-------*                         *-------*-------*-------*
  | B B * | * . . | * . * |  B = Base Cells         | B B * | * . . | * . . |
  | . . * | T . . | / . / |  T = Target Cells       | . . * | Q . . | R . / | Q = 1st Object Pair
  | . . * | / . . | T . / |  / = Companion Cells    | . . * | Q . . | R . / | R = 2nd Object Pair
  *-------*-------*-------*                         *-------*-------*-------*
  | . . S | S . . | S . S |                         | . . S | S . . | S . S |
  | . . S | S . . | S . S |                         | . . S | S . . | S . S |
  | . . S | S . . | S . S |                         | . . S | S . . | S . S |
  *-------*-------*-------*  S = Cross-line Cells   *-------*-------*-------*
  | . . S | S . . | S . S |  * = 'Escape' Cells     | . . S | S . . | S . S |
  | . . S | S . . | S . S |                         | . . S | S . . | S . S |
  | . . S | S . . | S . S |                         | . . S | S . . | S . S |
  *-------*-------*-------*                         *-------*-------*-------*
       CLb  CL1     CL2 CL*  CL = Cross-Line             CLb CL1     CL2 CL*
yzfwsf
 
Posts: 850
Joined: 16 April 2019

Re: YZF_Sudoku

Postby champagne » Wed Feb 05, 2020 1:08 pm

yzfwsf wrote:@Cenoman(Thank you for your feedback.);@David P Bird(Thank you for your systematic work on JExocet) ;@qiuyanzhe(Thank you for being the first one in our QQ group to discover this extension.)
I made a extension in JExocet pattern solver:If a base digit having 3 cover houses in cross-line, we can find a extra cross-line.
In an extra cross-line, the two cells in sight of the target cells shall not contain the base digit, having less than three cover houses can covered by standard S cells's cover houses. Theoretically, it can continue to expand, but in order to reduce the search cost, only four cross lines are implemented at this stage ..


After a request of our friend Gordon, I am revising my code searching exocets (all kinds of...) to extract ASAP JE and Senior Exocet.

Any JE or Senior exocet is first an exocet.

The process searching exocet can be very fast, With my code the scan of the portential hardest data base is done in less than 10 minutes on my laptop.

This includes currently extensions to targets (one or 2) having 2 cells and one locked digit.

I am also revising the abi loops uses in exocets to produce in a generic way all eliminations linked to the exocet pattern.

If you have an unacceptable search cost, you could think of a start by an exocet generic search.
champagne
2017 Supporter
 
Posts: 7350
Joined: 02 August 2007
Location: France Brittany

Re: YZF_Sudoku

Postby Cenoman » Wed Feb 05, 2020 11:29 pm

Hi champagne,
I am far from your knowledge on exocets. I would just focus on the importance of "yzfwsf" extension. When searching a Junior Exocet manually, (as I do on Andrew's Weekly Unsolveables) you possibly find three cover houses for one or several digits. What is proposed by yzfwsf is to look in such cases, whether you can find also an extra cross-line, complying with some requirement. If so, despite the "more than two cover houses", the pattern is a Junior Exocet (i.e. you don't need to demonstrate the exocet property by contradiction). It is an extension of David P. Bird's Junior Exocet definition.

This extension is a great improvement for manual spotters of Junior Exocets. Not more, not less. So, it has little interference on what you are doing. For examples of this extension, have a quick look on the recent WU#383 and WU#385 on Sudokuwiki.org site. Note that WU#383 is a clone of WU#299 that we discussed thoroughly a few months ago here
Cenoman
Cenoman
 
Posts: 2739
Joined: 21 November 2016
Location: France

Re: YZF_Sudoku

Postby yzfwsf » Thu Feb 06, 2020 1:53 am

champagne wrote:If you have an unacceptable search cost, you could think of a start by an exocet generic search.

Thanks.But I don't know the search method of generic exoset, and I don't know the exact definition and implementation of abi loop. Is there any reference to this aspect? Thank you
I coded JE/SE according to David P Bird's JExocet Definition, it's far from generic exocet.
For a specific number, it is not a locked member and has three cover-houses in cross line. I use the following logic to confirm it, assuming that the number is true in base cells, and at the same time, I eliminate the number in target cells, and then enumerate all possible situations of the number in cross line. If all reasonable situations make the number disappear in a specific house, then the house is a member of cross-line.
yzfwsf
 
Posts: 850
Joined: 16 April 2019

Re: YZF_Sudoku

Postby champagne » Thu Feb 06, 2020 2:28 am

Cenoman wrote:Hi champagne,
I am far from your knowledge on exocets. I would just focus on the importance of "yzfwsf" extension. When searching a Junior Exocet manually, (as I do on Andrew's Weekly Unsolveables) you possibly find three cover houses for one or several digits. What is proposed by yzfwsf is to look in such cases, whether you can find also an extra cross-line, complying with some requirement. If so, despite the "more than two cover houses", the pattern is a Junior Exocet (i.e. you don't need to demonstrate the exocet property by contradiction). It is an extension of David P. Bird's Junior Exocet definition.

This extension is a great improvement for manual spotters of Junior Exocets. Not more, not less. So, it has little interference on what you are doing. For examples of this extension, have a quick look on the recent WU#383 and WU#385 on Sudokuwiki.org site. Note that WU#383 is a clone of WU#299 that we discussed thoroughly a few months ago here


Hi "Cenoman",

I was surely not trying here to compare 2 solution paths. I am not a manual solver, but I am sure that David made a great job on Juniot Exocet.
As I never used directly David's approach, I was not quite in line with the "2 houses" limit. I call JExocets all patterns where we have three cross_lines.

My contribution here will be to extract puzzles of interest from existing lots of puzzles. Doing so, the run time in the process is important. As "yzfwsf"
seems to have such problems, i suggest one way to speed up the code. In any solver, in the phase looking for the next "best move', all is authorized. You have just later to filter in priorty what a manual solver can find.

BTW, in my opinion, for manual solver, puzzles having an exocet have a higher interest if the exocet brings enough eliminations. This is usually the case with exocets having 3 digits.

As far as I can see, with four digits, action is better
- if we have conjugated JExocets, what is known for long
- if the puzzle shows a JExocet and other exocets not JExocets.
Another important factor on which I am working is the number of valid pairs within the Exocets rules. (using the UR threat among others rules)

And yes, findings the relevant properties and extracting the corresponding puzzles is more in the things interesting me.

Last but not least, as I am a poor manual solver, even to check manually a JExocet status, I need

the "per digit" pm
The reduction of the pm to the digits of the exocets

If I want to study in detail an exocet, this is the stuff produced by my program. On theese reduced pm, the logic shown in another way by David is quite clear.

To come back to the thread, if "yzfwsf" gives examples of puzzles fitting with the extension, I'll check how my fresh code sees them.
champagne
2017 Supporter
 
Posts: 7350
Joined: 02 August 2007
Location: France Brittany

Re: YZF_Sudoku

Postby champagne » Thu Feb 06, 2020 2:45 am

yzfwsf wrote:
champagne wrote:If you have an unacceptable search cost, you could think of a start by an exocet generic search.

Thanks.But I don't know the search method of generic exoset, and I don't know the exact definition and implementation of abi loop. Is there any reference to this aspect? Thank you
I coded JE/SE according to David P Bird's JExocet Definition, it's far from generic exocet.
For a specific number, it is not a locked member and has three cover-houses in cross line. I use the following logic to confirm it, assuming that the number is true in base cells, and at the same time, I eliminate the number in target cells, and then enumerate all possible situations of the number in cross line. If all reasonable situations make the number disappear in a specific house, then the house is a member of cross-line.


Hi "yzfwsf",

The generic view on exocets is mainly summarized exotic patterns a resume.

I am not sure at all that it can help you where you are.

As I wrote in the answer to Cenoman, as I likely calll Jexocet the puzzle needing the extension that you made, I am interested in examples to see how my program sees them.

BTW, the process described in your last paragraph is very close from what I do checking manually an exocet (and i is very close also of the generic process)
champagne
2017 Supporter
 
Posts: 7350
Joined: 02 August 2007
Location: France Brittany

Re: YZF_Sudoku

Postby yzfwsf » Thu Feb 06, 2020 3:24 am

Hi champagne,an example for you.
Junior Exocet:Base Cells-r8c8,r8c9;Target Cells-r7c1,r9c1,r7c5,r9c5;Cross Cells-r1c157,r2c157,r3c157,r4c157,r5c157,r6c157
Target Cells Check: r9c5<>156
Mirror Check:r9c7<>24,r9c4<>5,r9c6<>5,r9c5<>1256,r7c3<>8
"S" Cells Need Include:2r2,9r2
Mutant-JE.png
Mutant-JE.png (27.49 KiB) Viewed 870 times

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          48       |  5          2469       7        |
|  23459      23589      6        |  24578      12459      14578    |  124        249        29       |
|  7          259        459      |  2456       124569     1459     |  1246       8          3        |
'---------------------------------'---------------------------------'---------------------------------'
yzfwsf
 
Posts: 850
Joined: 16 April 2019

PreviousNext

Return to Software