SudokuSolver Forum

A forum for Sudoku enthusiasts to share puzzles, techniques and software
It is currently Thu Mar 28, 2024 1:48 pm

All times are UTC




Post new topic Reply to topic  [ 57 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6  Next
Author Message
 Post subject: Re: Børge's Corner
PostPosted: Tue Apr 07, 2009 2:18 pm 
Offline
Grand Master
Grand Master
User avatar

Joined: Mon Apr 21, 2008 10:32 am
Posts: 868
enxio27 wrote:
How do you generate the lists of required techniques for your puzzles?
You want me to reveal one of my [many] deep(est) secrets! :shh:
Isn't the answer pretty obvious? I use a solver, mostly JSudoku!

Here the g(l)ory details:
  1. JSudoku is set up to apply its solver routines in the sequence shown here: http://www.rcbroughton.co.uk/sudoku/forum/viewtopic.php?p=102#p102
    Here in the file PuzzleGeneration_JSudoku_Default_SolversSequence.xml you can find this sequence.
    Download it and load it into JSudoku by right-clicking in the (tab) Solvers window and select "Import Solver's List..."
  2. In Jsudoku's Options menu "Log Naked Singles" and "Log Hidden Singles" are turned OFF.
    In the Options menu only the following three items are actually turned ON:
    • Pencil Marks in all Cells
    • Solve all Naked Singles after Deduce
    • Update Combinations after Solve
  3. I paste the puzzle into JSudoku and let JSudoku solve it (Ctrl+Shift+D).
  4. From the (tab) Log I copy all the advanced techniques used (>= X-Wing) to a separate Notepad or Notepad++ window.
    (I normally use a PC with two 1600x1200 [20"] monitors. To be upgraded to three 2560x1600 [30"] monitors)
  5. I paste the puzzle into JSudoku again and do single step solve (Ctrl+D) until the first advanced technique is deployed and then undo it (Ctrl+Z).
    .
  6. By studying the state of the puzzle (pencil marks and solved cells), the log from step 3 and the copy of the advanced techniques in the Notepad window, I determine the most advanced technique (the one furthest down on the list of solver routines from step 1) that actually advances the puzzle at this point.
    If in a subsection of the log several advanced techniques are listed after one another in descending order, the last one is normally a pretty good choice.
    The other ones are Red Herrings.
  7. I resume single step solve (Ctrl+D) until the next advanced technique is deployed and then undo it (Ctrl+Z).
    .
  8. Steps 6 and 7 are repeated until the puzzle is solved.
    All the advanced techniques not used (Red Herrings) are removed from the list in the separate Notepad or Notepad++ window.
    .
  9. In JSudoku's Solvers window I sometimes temporary move more advanced techniques upwards to speed up the process (steps 6 and 7).
  10. I paste the puzzle into JSudoku again and verify (finalize) the list of advanced techniques required to solve the puzzle.
    Sometimes the list of advanced techniques required can be further reduced or I have left a required technique out.
  11. Again (fourth time) I paste the puzzle into JSudoku and do do single step solve. Now I deploy each advanced technique (from the finalized list) as early as possible.
    This eliminates many, but not all, unnecessary N/H-Subsets and Intersections.
  12. The final list of required techniques is produced.


The below Clueless Explosion puzzle (actually RCE #54C) is a good example. Step 3 produces the following list of "Techniques used":
396 Naked Single
118 Hidden Single
62 Intersection
5 Naked Pair
4 Naked Triplet
2 X-Wing
1 Skyscraper
2 Two String Kite
5 Empty Rectangle
1 Turbot Fish

To solve the puzzle, "only" the following techniques are actually required:
391 Naked Single
123 Hidden Single
52 Intersection
3 Naked Pair
1 Intergrid Turbot Fish


Regular Clueless Explosion 54C (Master)

Rating based on required solving techniques:  Extra Hard

Image

090540010000000009407000060002096001000007006070400000700900003000000000000108704
000050000500007000070008564308010045000000008100000000039000000001300600700400382
000008006000004000001760040000000009500000000004070602600307000000900008090000760
510300200000007400600090080309700000001003000000000730150630009000500002803000001
001050000600308000080000600000000010004009000130000005500900760008001000000205008
000000000000400001906100502000300000600001005300042710100700000009000000860094120
004010000000000000001085307000000605900000000008050009700000090000504000209070064
900000400000006000600840053000002590000000000503760080010208030209600801000003000
106000005000105006500000008000073002304000600900010000000054060008000009630900020

_________________
Quis custodiet ipsos custodes?
Normal: [D  Y-m-d,  G:i]     PM->email: [D, d M Y H:i:s]


Top
 Profile  
Reply with quote  
 Post subject: Re: Børge's Corner
PostPosted: Tue Apr 07, 2009 2:33 pm 
Offline
Grand Master
Grand Master
User avatar

Joined: Thu Apr 24, 2008 4:27 pm
Posts: 791
Børge wrote:
I use a solver, mostly JSudoku!

I figured that, ;) but the devil is in the details!

Quote:
Here the g(l)ory details:

So there's no real way to do it without actually seeing the solution in progress? Rats! I was hoping to generate a listing without "peeking". I suppose I could go as far as Step 3, but that would leave all the red herrings.


Top
 Profile  
Reply with quote  
 Post subject: Re: Børge's Corner
PostPosted: Tue Apr 07, 2009 2:54 pm 
Offline
Grand Master
Grand Master
User avatar

Joined: Mon Apr 21, 2008 10:32 am
Posts: 868
enxio27 wrote:
So there's no real way to do it without actually seeing the solution in progress? Rats! I was hoping to generate a listing without "peeking". I suppose I could go as far as Step 3, but that would leave all the red herrings.
In your case I think you are wrong. If you for instance want puzzles with only the four advanced techniques X-Wing, Swordfish, Skyscraper and Two String Kite, then place these four advanced techniques as the first four advanced techniques to be deployed by JSudoku.

If Step 3 produces a list of "Techniques used" with other advanced techniques (further down on the list), then the puzzle is not for you.
If the list contains 2 X-Wing and 1 Skyscraper, then temporarily move Skyscraper before X-Wing to see if the X-Wings are actually required.

_________________
Quis custodiet ipsos custodes?
Normal: [D  Y-m-d,  G:i]     PM->email: [D, d M Y H:i:s]


Top
 Profile  
Reply with quote  
 Post subject: Re: Børge's Corner
PostPosted: Tue Apr 07, 2009 3:07 pm 
Offline
Grand Master
Grand Master
User avatar

Joined: Thu Apr 24, 2008 4:27 pm
Posts: 791
Børge wrote:
In your case I think you are wrong. If you for instance want puzzles with only the four advanced techniques X-Wing, Swordfish, Skyscraper and Two String Kite, then place these four advanced techniques as the first four advanced techniques to be deployed by JSudoku.

So then, if I disable all of the more advanced techniques, and JSudoku then cannot solve the puzzle, I know it's harder than I want? Or would it be better to leave them enabled but put them further down the list?

Quote:
If Step 3 produces a list of "Techniques used" with other advanced techniques (further down on the list), then the puzzle is not for you.

Ok, I think I understand. I'll have to play around with this a bit.


Top
 Profile  
Reply with quote  
 Post subject: Re: Børge's Corner
PostPosted: Tue Apr 07, 2009 3:12 pm 
Offline
Grand Master
Grand Master
User avatar

Joined: Mon Apr 21, 2008 10:32 am
Posts: 868
enxio27 wrote:
So then, if I disable all of the more advanced techniques, and JSudoku then cannot solve the puzzle, I know it's harder than I want? Or would it be better to leave them enabled but put them further down the list?
Whatever you prefer. I think the latter will work best for you.
Just experiment and see what works best for you.

_________________
Quis custodiet ipsos custodes?
Normal: [D  Y-m-d,  G:i]     PM->email: [D, d M Y H:i:s]


Top
 Profile  
Reply with quote  
 Post subject: Re: Børge's Corner
PostPosted: Tue Apr 07, 2009 3:54 pm 
Offline
Grand Master
Grand Master
User avatar

Joined: Thu Apr 24, 2008 4:27 pm
Posts: 791
Børge wrote:
Here in the file PuzzleGeneration_JSudoku_Default_SolversSequence.xml you can find this sequence.

Out of curiosity, is this for the latest version of JSudoku (1.5b2)? I see that the latest sequence screenshot is for ver.1.4b2.

I'm also wondering why Full House and Last Digit are disabled.


Last edited by enxio27 on Tue Apr 07, 2009 4:01 pm, edited 1 time in total.

Top
 Profile  
Reply with quote  
 Post subject: Re: Børge's Corner
PostPosted: Tue Apr 07, 2009 3:58 pm 
Offline
Grand Master
Grand Master
User avatar

Joined: Thu Apr 24, 2008 4:27 pm
Posts: 791
Børge wrote:
I have done the following changes to my rating table:
  • Moved Finned Fish from Extra Hard to Super Hard.
  • Moved Uniqueness Test 1 from Super Hard to Extra Hard.

Does this change their positions in the JSudoku Solver Sequence?


Top
 Profile  
Reply with quote  
 Post subject: Re: Børge's Corner
PostPosted: Tue Apr 07, 2009 4:10 pm 
Offline
Grand Master
Grand Master
User avatar

Joined: Thu Apr 24, 2008 4:27 pm
Posts: 791
I don't know what is meant by "recursively solve". From the description in the help file, it sounds like a guessing technique. Is there a way to disable it?


Top
 Profile  
Reply with quote  
 Post subject: Re: Børge's Corner
PostPosted: Tue Apr 07, 2009 4:29 pm 
Offline
Grand Master
Grand Master
User avatar

Joined: Mon Apr 21, 2008 10:32 am
Posts: 868
enxio27 wrote:
Børge wrote:
Here in the file PuzzleGeneration_JSudoku_Default_SolversSequence.xml you can find this sequence.

Out of curiosity, is this for the latest version of JSudoku (1.5b2)? I see that the latest sequence screenshot is for ver.1.4b2.
AFAIK the solvers were not changed or new ones were added since ver.1.4b2.
Otherwise importing the 1.4b2 Solvers' Sequence XML file into 1.5b2 would probably not work correctly.
When generating puzzles, I since September 2008 use 1.5b2.

enxio27 wrote:
I'm also wondering why Full House and Last Digit are disabled.
To me Full House is a completely uninteresting sub-technique of Naked Single, see JSudoku user guide.
Same goes for Last Digit, which is a sub-technique of Hidden Single.
IMHO both solvers/techniques just causes extra work when generating puzzles and offer no benefits what so ever.

_________________
Quis custodiet ipsos custodes?
Normal: [D  Y-m-d,  G:i]     PM->email: [D, d M Y H:i:s]


Top
 Profile  
Reply with quote  
 Post subject: Re: Børge's Corner
PostPosted: Tue Apr 07, 2009 4:33 pm 
Offline
Grand Master
Grand Master
User avatar

Joined: Thu Apr 24, 2008 4:27 pm
Posts: 791
Børge wrote:
To me Full House is a completely uninteresting sub-technique of Naked Single, see JSudoku user guide.
Same goes for Last Digit, which is a sub-technique of Hidden Single.

So Naked Single and Hidden Single actually catch Full House and Last Digit in JSudoku? If that's the case, I wonder why Jean-Christophe included them as separate solvers.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 57 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 5 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group