-
Notifications
You must be signed in to change notification settings - Fork 143
Description
Am I missing something here?
A proper Sudoku puzzle only has one solution. If it has more, the player will reach a point where there are more than one possibility and is forced to make a choice/guess. This is basic stuff being done wrong here.
In fact, this basically renders this generator completely useless.
- Easy and Medium are way too easy (62 and 53 is WAY too many clues), and yet often there are 2 or 3 solutions.
- Hard and above have WAY too many solutions. More solutions means even less of the board is solvable without guessing. There are so many solutions that these difficulties are basically useless.
So sudoku.js offers:
- Ridiculously easy puzzles that are completely boring to anyone but struggling young children. And yet still manage to have multiple solutions.
- Puzzles that are supposed to be hard but the player quickly realizes that they are forced make a guess.
It is alarming that people just accept this library without questioning it. I'm not even sure this would be accepted as a homework assignment. I can't even determine the true difficulty of any of these puzzles because of how many solutions there are.
Here is an example puzzle generated with the "Insane" preset of sudoku.js. It happens to have over 600 possible solutions; likely significantly more. I will take just 3 solutions (which are unique to 3 different solvers, that is to say, each solver comes up with a different solution). All of the solutions are fully valid.
Original Puzzle:
74..1.2.8.......4.39........7.945.1.9.3.....45.4.38972657........................
Solutions:
745316298186592743392874651278945316963721584514638972657183429829467135431259867
745316298126589347398274156872945613913627584564138972657892431439761825281453769
745316298162589347398427156276945813983271564514638972657893421829164735431752689
Now lets overlay them and compare:
- Light blue background: Our givens/clues.
- Dark blue background: Common solved grids in all 3 solutions.
- Dark red background: Differences between solutions, indicating solver had to choose a branching path.
Self-explanatory really.
