Too Busy For Words - the PaulWay Blog

Wed 23rd Aug, 2006

How Not To Solve A Problem

I will admit that I am somewhat addicted to Sudoku puzzles. My current program is gnome-sudoku, which is nice, scalable, and can print arbitrary quantities of puzzles for later enjoyment over lunch and so on. Before this, I used pysudoku, which, while less polished and not having a good grade of skill levels, did have the ability to give you hints of what it could find to solve next, based on the same rules that it used to construct puzzles. I hacked this to also tell you how it had deduced that, which improved my solving abilities no end.

My Nokia 6230i does not come with Gnome or Python, so rather than play mindless games of golf or car racing, I bought a sudoku game off Optus Zoo called Sudoku Garden. Written by MForma, that household name in quality software, it has taken a 'japanese garden' theme, which means that the numbers and text are in hard-to-read colours and shapes. But this is not the aspect which most infuriates me about it.

Most sudoku puzzles are generated using the following method. Start with a blank grid and add numbers in symmetrical patterns that obey the existing numbers until you have a minimum fill level. If you can solve this puzzle internally, mark it as done; if not, add another couple of numbers, again symmetrically and obeying the rules of the existing numbers, and try again. The difficulty level of the puzzle can be ascertained by looking at the 'complexity' of the rules used to solve it.

Somehow, this method was overlooked by MForma in their quest to have puzzles which were aesthetically pleasing. They start with a known fully solved grid, and remove all the numbers in a pattern, leaving only the numbers in a pleasing shape remaining for you to solve. They've chosen templates which leave little nastinesses, like entire rows or columns blank; but this is not the biggest problem. Let me demonstrate by showing you the current grid I have:

7 9 5 4 1 2 6 8 3
4     9 3 8 2 5 7
2 8 3 7 6 5 9 4 1
3     5 8 4 7   9
8 7 9 6 2 3 5 1 4
5 4   1 7 9 3   8
6 5 8 3 4 7 1 9 2
9 2 7 8 5 1 4 3 6
1 3 4 2 9 6 8 7 5
Now, unless I've missed something, or solving sudoku puzzles on tiny mobile phone screens is harder than I thought, this actually admits three solutions:

7 9 5 4 1 2 6 8 3         7 9 5 4 1 2 6 8 3         7 9 5 4 1 2 6 8 3
4 1 6 9 3 8 2 5 7         4 6 1 9 3 8 2 5 7         4 6 1 9 3 8 2 5 7
2 8 3 7 6 5 9 4 1         2 8 3 7 6 5 9 4 1         2 8 3 7 6 5 9 4 1
3 6 1 5 8 4 7 2 9         3 1 2 5 8 4 7 6 9         3 1 6 5 8 4 7 2 9
8 7 9 6 2 3 5 1 4         8 7 9 6 2 3 5 1 4         8 7 9 6 2 3 5 1 4
5 4 2 1 7 9 3 6 8         5 4 6 1 7 9 3 2 8         5 4 2 1 7 9 3 6 8
6 5 8 3 4 7 1 9 2         6 5 8 3 4 7 1 9 2         6 5 8 3 4 7 1 9 2
9 2 7 8 5 1 4 3 6         9 2 7 8 5 1 4 3 6         9 2 7 8 5 1 4 3 6
1 3 4 2 9 6 8 7 5         1 3 4 2 9 6 8 7 5         1 3 4 2 9 6 8 7 5
Now, the whole point of the puzzle of Sudoku is that there is one unique solution to the puzzle. Sudoku means 'one number' in Japanese, after all - one number for every square. Not 'one number in most positions but these four were a little confused', or 'one number in every position, but you can't determine which by anything other than guessing'. Because this is the other dastardly thing that Sudoku Garden does to you: it has a correct solution to the problem and two of those three solutions above will be marked wrong!!!.

*pant pant pant*

So if anyone has a better Java game for their mobile phone that will play a half decent game of Sudoku, let me know. I don't need fancy guess-recording mechanisms, I don't need beautiful backgrounds, and being able to enter a number directly from the keypad rather than having to use left and right to select it from a list would be nice. I'm prepared even to pay money for it. But what I must have is a correct, unique solution. Requiring guesswork in a logic puzzle is not only stupid, but encouraging the worst excesses of the modern world.

But that's another rant. I'm done here.

Last updated: | path: tech | permanent link to this entry


All posts licensed under the CC-BY-NC license. Author Paul Wayper.


Main index / tbfw/ - © 2004-2023 Paul Wayper
Valid HTML5 Valid CSS!