SudokuSolver Forum

A forum for Sudoku enthusiasts to share puzzles, techniques and software
It is currently Thu Mar 28, 2024 10:31 am

All times are UTC




Post new topic Reply to topic  [ 16 posts ]  Go to page 1, 2  Next
Author Message
PostPosted: Sat May 24, 2008 12:44 am 
Offline
Expert
Expert

Joined: Tue Apr 22, 2008 2:07 am
Posts: 107
All,
First of all, thanks to everyone who is working on creating great software for us to use.

I know Borge is working on a genrator that will create puzzles and then start eliminating candidates. The player then runs the resultant puzzle through a solver to determine what techniques are used.

This will be a nice tool for all of us.

One of the things that I like about SudoCue and Sadman's Sudoku is the ability to select techniques to be considered for a puzzle. Just because you select X-Wing or Empty Rectangle doesn't mean a particular puzzle will have that technique, but it could. It sure as heck won't have skyscrapers, kites, stuvwxyz-wings or whatever.

I guess the generation of Samurai puzzles within a set of possible techniques must be more difficult than I am capable of understanding. However, I hope that this is ultimate goal of any generator program.

Obviously many more puzzles will get discarded than those that will meet the criteria. But does one really need a Cray to do this within a reasonable period of time?

In using JSudoku, I notice that Samurais generally fall into two categories: 1) naked and hidden singles or 2) every technique know to mankind. For me, I am looking for puzzles (Samurai and other overlapping) up through X-Wing and ER. Hence the ability to pick techniques that could be used is important to me (but maybe not to others, I realize). I guess I am willing to wait while the program generates and throws away grids that don't meet the criteria (as long as something on the screen says that Grid number xxx is now being tested and a way to cancel out the generation process. This is what SudoCue does. I had a lot of discussions with Ruud to convince him of this wisdom which he eventually incorporated into SC a couple of years ago.

Please undertand that I am not being the least bit critical of the effort here and that progress comes slowly in something as complicated as meeting everyone's desires. I just wanted to throw my opinion into the mix. I envy those of you with the technical skill and dedication to work on the various sudoku software programs. A big thank you from me.

Regards,
George


Last edited by nj3h on Mon May 26, 2008 6:16 pm, edited 1 time in total.

Top
 Profile  
Reply with quote  
PostPosted: Sat May 24, 2008 1:57 am 
Offline
Grand Master
Grand Master
User avatar

Joined: Thu Apr 24, 2008 4:27 pm
Posts: 791
nj3h wrote:
First of all, thanks to everyone who is working on creating great software for us to use.

HEAR, HEAR!!! :thumbs: ;clapclap; :salute: (I wish there were a way to reverse that smiley so the guy is saluting with the proper hand!)

nj3h wrote:
Please undertand that I am not being the least bit critical of the effort here and that progress comes slowly in something as complicated as meeting everyone's desires.

Absolutely! I use Sudocue and Sadman Sudoku and SudokuSolver, all for different reasons. JSudoku, not so much, mainly because it seems more geared toward Killer Sudoku, which I don't much care for. Still, his efforts are much appreciated, all the same. I'm also looking forward to Boerge's offering, as well. :ok:


Top
 Profile  
Reply with quote  
PostPosted: Sun May 25, 2008 5:25 pm 
Offline
Expert
Expert

Joined: Tue Apr 22, 2008 2:07 am
Posts: 107
I should have said for the subject of this thread: Current and Upcoming Software..."

It is obvious the JC, RB, and Borge are doing a tremendous amout of work for the Sudoku community.

I was hoping my initial message might have caused them to comment.

Regards,
George


Top
 Profile  
Reply with quote  
PostPosted: Sun May 25, 2008 10:56 pm 
Offline
Expert
Expert

Joined: Tue Apr 22, 2008 2:07 am
Posts: 107
I know I am going nuts. I lost my cell phone 2 days ago and have torn up the house and car looking for it. Now I have lost Borge's post from an hour ago. I read it quickly before supper with the plan to study it after dinner, only to discover it too is lost.

Borge, I hope you will repost with any additional thoughts, when you have some spare time.

Regards,
George


Top
 Profile  
Reply with quote  
PostPosted: Mon May 26, 2008 5:54 pm 
Offline
Grand Master
Grand Master
User avatar

Joined: Mon Apr 21, 2008 10:32 am
Posts: 868
George,

Please stay calm :bouncy:
My post is not lost. Due to a bug in my software one of my statements in the post were wrong, hence I deleted the original post. I am preparing a new better and corrected one.

nj3h wrote:
I should have said for the subject of this thread: Current and Upcoming Software..."
As the originator of the thread you can change the subject, just edit your first post in it.

_________________
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  
PostPosted: Mon May 26, 2008 7:41 pm 
Offline
Grand Master
Grand Master
User avatar

Joined: Mon Apr 21, 2008 10:32 am
Posts: 868
nj3h wrote:
I was hoping my initial message might have caused them to comment.
I have some upcoming comments but until then, here a sneak preview. Even I have limits to what I can mange in a certain period of time ;)

The first image is directly after initial puzzle generation (Ctrl+M in the release version). Since the part for generating valid code for all overlapping nonets is not finished, I still have to do the initial puzzle generation in several steps (a total of 7 keystrokes taking a couple of seconds). But I am not dependent on QSudoku anymore for generating Naked Singles vanilla Sudokus.

2 keystrokes for the central grid:
Alt+S (Based on the clues in the active 9x9 grid generate a Sudoku, which can be solved with Naked Singles only) & Alt+Shift+S (In the active 9x9 grid solve all overlapping cells).
Then 1 Alt+S for each of the outer grids. Finally a Ctrl+Shift+H (Calculate a reproducible set of dispensable clues (light blue cells) for each 9x9 grid). A clue made dispensable in an overlapping nonet for one grid cannot be picked by another grid. If I do not like the reproducible set of dispensable clues, I can generate a random set with Ctrl+H.

I use "many" initial clues on purpose, since this seems to yield better puzzles. My Naked Singles vanilla Sudoku generator tries to make puzzles with the same number of clues in each nonet and can generate puzzles with as little as 23 clues (26 on average). My Naked/Hidden Singles vanilla Sudokus generator can generate puzzles with as little as 22 clues (25 on average).

My experience is that 3 initial clues per nonet is the best trade off between the TIME it takes to make a puzzle and a GOOD PUZZLE.

Image



The second image shows the puzzle after setting all dispensable clues in the overlapping nonets as deleted (red) (Alt+X). In the central grid I have marked (Alt+D) all dispensable clues (dark blue), so that they are not electable for picking as discardable. This to try to get puzzles with more clues in the central grid. The first set of discardable clues (orange cells) has also been picked.

Image



The third image shows the puzzle after having sat all suitable dispensable clues in the outer grids as deleted. In the central grid I have unmarked the dispensable clues so that they now are electable for picking as discardable. This to get a harder puzzle. At this stage JSudoku says:
187 Naked Singles
81 Hidden Singles
3 Intersections

Image



The fourth image shows the finished puzzle. Now JSudoku says:
189 Naked Singles
85 Hidden Singles
24 Intersections
3 Naked Pairs
4 Naked Triplets
1 Naked Quad

Image

000127800040000000070000521030400700750000003000800090004000000002080000000069000
000002000000000179800750000000000006000106800050000003000000700000008060002500090
000000000000008000000609002060000000000970504070400000000300000000010000700090003
080070000000000000000400700003000000050260400040090060095306000001000005400001008
000000030000010600003000080000009007705000400000060000060050800020400900001020050




The fift image shows another puzzle with the same solution generated using a random set of dispensable clues.
JSudoku says:
177 Naked Singles
90 Hidden Singles
20 Intersections
5 Naked Pairs
2 Naked Triplets
1 Hidden Pair
2 X-Wing
2 Skyscraper
2 2-String Kites
1 XY-Wing

Image

005127800040000000000000521030400700050010003000800090004000000002080000000069000
900002000000000079800050000700900006000106800056000003000400700000008060000000008
000000000000008000000659000460100000000000504070400000000307000000000000000090000
380070000000009000000400000003007009050200400040090060095306001001000005400000008
000004030000010600000090080600009507705000400000060000000750800020400900001020050






And finally an image of a Clueless Explosion and a Clueless Special.

Image

JSudoku says:
387 Naked Singles
175 Hidden Singles
10 Intersections
2 Naked Pairs
1 Naked Triplet
1 Naked Quad
2 X-Wing
1 Skyscraper

000000000000006000000010468009400080000000000006000204002070100000000000058041002
000005000001006008000040000000008100000000004100030000240000007000000302076001000
000000000000300100900010400036000000000200008000800000020005071000000000305001080
008090007000000008000008009090000070000001600002005000000200000200000400005870003
007000620000000001001070000000024000000000000174500003000008000002001000000000530
000700000000000006075902010000000400000600000820000005000067850000009003080000002
000000000203000006005030000800000010000000800006002070000001640100400000040008001
000000002000000900500410006000002030006900000800300051050006000008000000000001020
000000000000004800002100790003000100000000000090006050000000000000700006540003200






Image

JSudoku says:
370 Naked Singles
163 Hidden Singles
27 Intersections
2 Naked Pairs
1 Naked Triplet
1 XY-Wing

070010803006000000100034050097000000000000042300000000010800009900040005008901070
000800301800004000060500070000000000080000000500000703604007500008009040000000090
000000000060580900500000082007000030030000010000000490000070004006000000900410800
500100000000020000002004387000000900090000010006000500000000890100000000603008070
000200100000070083045800000000000040400000000501000902000103600007000005032000009
002010000830000500090003602000000000700000029900000000080006301029030007000040200
007000080600087259000095000501000390080000005000000000802000630000040500030002000
050700000009020100400100609007000800900000050100000090000900004720008000000000706
000000700240006300000305001004000008000000070007000009010000400003908050060000900

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


Last edited by Børge on Mon May 26, 2008 7:44 pm, edited 1 time in total.

Top
 Profile  
Reply with quote  
PostPosted: Mon May 26, 2008 7:43 pm 
Offline
Expert
Expert

Joined: Sun Apr 27, 2008 10:44 am
Posts: 102
Location: Belgium
nj3h wrote:
One of the things that I like about SudoCue and Sadman's Sudoku is the ability to select techniques to be considered for a puzzle. Just because you select X-Wing or Empty Rectangle doesn't mean a particular puzzle will have that technique, but it could. It sure as heck won't have skyscrapers, kites, stuvwxyz-wings or whatever.

I guess the generation of Samurai puzzles within a set of possible techniques must be more difficult than I am capable of understanding. However, I hope that this is ultimate goal of any generator program.

Obviously many more puzzles will get discarded than those that will meet the criteria. But does one really need a Cray to do this within a reasonable period of time?

In using JSudoku, I notice that Samurais generally fall into two categories: 1) naked and hidden singles or 2) every technique know to mankind. For me, I am looking for puzzles (Samurai and other overlapping) up through X-Wing and ER. Hence the ability to pick techniques that could be used is important to me (but maybe not to others, I realize). I guess I am willing to wait while the program generates and throws away grids that don't meet the criteria (as long as something on the screen says that Grid number xxx is now being tested and a way to cancel out the generation process. This is what SudoCue does. I had a lot of discussions with Ruud to convince him of this wisdom which he eventually incorporated into SC a couple of years ago.

Good observation. Ruud also noticed here that randomly generated puzzles fall mostly into the very easy or very hard categories.

You already have some control of the difficulty in JSudoku, playing with the "Number of guesses" setting. You may set the minimum around 2 to get rid of the very easy ones. You may set the maximum somewhere between 5 & 10 to get rid of most very hard ones. Although this does not ensure the puzzle can be solved using a limited set of techniques, it should produce more "interseting" puzzles.

Choosing a set of "prohibited" and "required" techniques is already on my todo list, but adapting my code for this isn't as easy as it look. I still have to think about it...

_________________
Jean-Christophe
"When you have eliminated the impossible, whatever remains, however improbable, must be the truth." Sherlock Holmes.


Top
 Profile  
Reply with quote  
PostPosted: Mon May 26, 2008 8:04 pm 
Offline
Grand Master
Grand Master
User avatar

Joined: Mon Apr 21, 2008 10:32 am
Posts: 868
Jean-Christophe wrote:
Choosing a set of "prohibited" and "required" techniques is already on my todo list, but adapting my code for this isn't as easy as it look. I still have to think about it...
You might want to wait until my program and code becomes freely available. Since it is written in VB6 (Excel) it may be easier for Richard to adopt it ... I believe that SS is written in Visual Basic

I always generate and start with a VERY EASY puzzle and then make it successively harder. With Excel the initial generation takes less than 1 second and calculating the set of dispensable clues using brute force takes about 0.5 seconds per grid. Using Java and a DLX brute force solver the initial generation and calculation of the set of dispensable clues should not take more than one second. Then for every elimination the Logical Solver must be used, but as long as not very complicated techniques are selected, this should be very fast and generating a suitable puzzle should not take more than 10-20 seconds. If it is not possible to generate a suitable puzzle, JSudoku could start over with a complete new one or try the current one a couple of times selecting a random set of dispensable clues.

If a PC is left running over the night JSudoko should be able to produce a nice quantity of puzzles within the specified parameters.

_________________
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  
PostPosted: Mon May 26, 2008 8:44 pm 
Offline
Grand Master
Grand Master
User avatar

Joined: Mon Apr 21, 2008 10:32 am
Posts: 868
Jean-Christophe wrote:
Choosing a set of "prohibited" and "required" techniques is already on my todo list, but adapting my code for this isn't as easy as it look. I still have to think about it...
Another comment on this topic:
I think it would be adviceable to be able to select the approx. maximum number of Intersections. My experience is that the more Intersections a puzzle has the harder it is felt. Mainly because it takes longer to solve a puzzle with 50 Intersections than one with 25 and when solving a puzzle with many Intersections you may per round of visiting all 9x9 grids only be able to find a single Intersection. I think the average solver finds this somewhat frustrating. The feedback to my earliest puzzles were that they were harder than a "Ruud Tough" although the required solving techniques were only basic ones. I then figured out the my earliest puzzles had a very high number (40-70) of Intersections and that Ruud's puzzles had a much lower number.

For my Apprentice puzzles the approximate limits I use are:
Clueless Explosion:  20
Clueless Special: 25
Samurai: 25

What I mean by approximate is that if I can get a "better" puzzle with for instance an X-Wing and 27 Intersections instead of one without the X-Wing and 23 Intersections, I choose 27 Intersections and the X-Wing.

_________________
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  
PostPosted: Tue May 27, 2008 1:22 am 
Offline
Expert
Expert

Joined: Tue Apr 22, 2008 2:07 am
Posts: 107
Borge and JC,

Thank you for the great information. It is obvious that the two of you and Richard are extremely knowledgeable in defining the problem(s) and developing the software combinations that will yield puzzles until there are no more days left for us.

I like the fact that JC is planning to look at a required and prohibited list of techniques. I would think it would be more difficult to make a specific technique required as opposed to permissible, but not necessarily required.

I like the way Borge’s program is able to whittle down the givens in such a way to yield a puzzle that is about at my level of enjoyment. I think all of us are going to enjoy using his program, in combination with JC’s and Richard’s program to get us puzzles we are comfortable with.

I hope that eventually Borge’s program will function for the different types of overlapping puzzles in JSudoku. I enjoy the overlapping puzzles very much.

I noticed one thing using JSudoku. When the program is solving the entire grid, if I hit the stop button, it sometimes takes a minute for the program to actually stop.

I will sit back and wait for the assembled team out there to do their thing.

Thank all of you for your work.

George


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 16 posts ]  Go to page 1, 2  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