14
Jan 08
Sudoku is not a game
I don't know how you define a game. If it's just a word that defines everything that can be done to entertain and spend some time on then of course Sudoku is a game, but my definition of game is a bit different.

For me a game, above all, is something challenging, but not a dumb challenge, is some that requires Human's best quality to solve: intelligence. Does Sudoku require intelligence to solve? Or does it just turns us in some fancy ZX Spectrum computing all the way till the solution of the puzzle?

I've done recently a computer program that solves Sudokus, as it was the semester project of some subject of mine at college. And one thing that comes out at the very first analysis is that no really intelligently challenging game would have been easily solved by a computer program done by people that may have start coding 3 months ago.  There's really no artificial intelligence algorithms needed nor some other fancy techniques. You've just to dumbly generate all possibilities according to the rules and the numbers you may already have in the puzzle and test to see if a valid solution comes up.

So my thesis here is that what an human does to solve Sudokus is one of the most unchallenging things, simply turning an intelligent person in some Pentium, involuntarily generating all the possibilities for each square and for all the possible consequences of the move.
Difficulty of a Sudoku is made by putting less numbers in the puzzle and if possible not on the same row/column/block. All this just makes the human compute even more possibilities, making him go back and forth some times like a Depth First Search algorithm does to solve this kind of problems.

Of course there are lots of games that can be solved or played by a Computer, Chess is one of the most popular ones. But Chess is unpredictable, and no computer could easily generate all possibilities of game based on a move because there would be so many that it couldn't be able to process it, so it's required a bit of AI's help. Artificial Intelligence... as our logic can predict, if some of AI techniques are present in a program that solves a game, it seems that the computer really needs some of our best quality to solve it. If a computer needs it, we surely use it when playing. And that's the game we should play.

P.S.: for all the LEICianos in the place, solve Global's Cross-Words instead. :P

Go to Blog

Comments

Pedro 16 of January of 2008
Draughts was already solve too and not by fancy AI techniques chess can also be solved without AI techniques. The fact is that for both games we can simply generate a set of possibilities to make up for all possible perfect plays. Which leads to another problem, what is intelligence?
Datwo 17 of January of 2008
I never liked Sudoku, and since the day i knew i had to code a program to solve a Sudoku puzzle i started to hate Sudoku even more. To your post, i'd only add that soduku doesn't make you dumper, just faster in pattern recognition.

Yeah, i'm a crosswords guy ><
nicolagiacobbe 26 of May of 2008
Well.. I think we are mixing two very different domains here. For what you said, your sudoku solver was a trial and error backtracking algorithm. This being the case I suggest you to try to solve a sudoku puzzle by hand and observe yourself solving it. In no way an human could solve a sudoky by backtracking, the most our brain allows to recurse is 4 or 5 levels and that's it. An intelligent being not willing to use a brute force approach would exploit the rules and cleverly make inferences from the actual situation so as to extend his knowledge of the board. That is the actual meaning of intelligence even if applied in a very narrow field: to extend our knowledge by using all data and rules available.
Intelligence isn't limited to that, of course, but solving a sudoku puzzle does requires to make assumptions and deduce consequences so, to use your metaphor, we do not become ZX spectrum when playing but use our mind and intelligence in a very special, sectorial way.
By the way, it could be very pedagogic to try (I am not sure you could succeed) to write a program to solve sudoku in an 'intelligent' way, i.e. using rules and deductions without resorting to bruce-force approaches. (hint, try using CLIPS)

Add your thoughts about it!