Is SudoKu puzzle a good educational tool?

Computers can solve the Tower of Hanoi quite easily. Humans attempting it need to exercise different skills.

SuDoku is useful for developing thinking skills, but not mathematics in general. Logic, yes.

Actually, there's an iterative solution to the Towers of Hanoi that is quite simple for humans.
 
The program to solve a 3x3 Sudoku is relatively simple - but the most straightforward way of writing it relies on recursion.

If you are using a traditional programming language, then yes, implementing it with recursion is likely to be the simplest way.

But if you don't limit yourself for traditional programming languages, then the most straightforward way is to use some form of declarative constraint programming.

For example, using the Smodels language sudoku looks like this (% is the comment symbol):
Code:
% Define the grid and possible values
row(0..8). 
col(0..8).  
val(1..9).
% Each cell has to have a unique number:
1 { has_num(A,X,Y) : val(A) } 1 :- row(X), col(Y). 
% Each number occurs exactly once in each column.
1 { has_num(A,X,Y) : row(X) } 1 :- val(A), col(Y). 
% Each number occurs exactly once in every row
1 { has_num(A,X,Y) : col(Y) } 1 :- row(X), val(A). 
% Each number occurs exactly once in each of the 3x3 blocks                                                                                
1 { has_num(A,X,Y) : row(X) : col(Y)
        : eq(div(X,3),R) : eq(div(Y,3),C) } 1 :-         
        rowbl(R), colbl(C), val(A).
% Defining the 3x3 blocks:
rowbl(0..2).
colbl(0..2).
This program can be used to both solve sudoku puzzles and to generate new ones.
 
Sudoku (BTW, isn't he a Sith lord or something?)

No. Sue Doku (to use the correct spelling) was the inevitable schoolgirl character in the last Japanese 2D beat-'em-up. You know, the one with the ultra-fast moves but zero power.
 
Actually, there's an iterative solution to the Towers of Hanoi that is quite simple for humans.
My point is that computers have no problems executing long, complex strings of commands. There's a simple rule for the Tower, yes, but it's quite a challenge for a human being to keep that rule straight as the Tower gets taller. Even ignoring the obvious problems, I doubt a human could manage the N=64 Tower without making a mistake.
 
Sudoku puzzles are masssive wastes of my precious lifespan.

Q: the blurb says that each Sudoku puzzle has a unique solution. Has anyone proved this?
 
Q: the blurb says that each Sudoku puzzle has a unique solution. Has anyone proved this?

I think it's meant to be inherent in the definition of "Sudoku puzzle". Any grid of numbers which didn't have a unique solution under the rules of Sudoku wouldn't be a Sudoku.

David
 
My point is that computers have no problems executing long, complex strings of commands. There's a simple rule for the Tower, yes, but it's quite a challenge for a human being to keep that rule straight as the Tower gets taller. Even ignoring the obvious problems, I doubt a human could manage the N=64 Tower without making a mistake.

Actually, no.

There is a simple iterative solution that humans can follow as long as their boredom threshhold holds out. Imagine the three pegs arranged in a circle. Every other move, move the smallest disc the appropriate direction (wolog, clockwise), and in between, make the only other legal move.

So the iterative solution is as follows:

Step 1 : move the smallest disk clockwise
Step 2 : make the other legal move
Step 3 : return to step 1 until the solution is complete
 
Over the steps necessary to complete the n=64 Tower, a human would probably screw up that procedure at least once. (Note: the number of steps necessary to solve a Tower of Hanoi puzzle is equal to -1 +2^N.
 
Over the steps necessary to complete the n=64 Tower, a human would probably screw up that procedure at least once. (Note: the number of steps necessary to solve a Tower of Hanoi puzzle is equal to -1 +2^N.

The difference is immaterial since neither the human nor the computer would actually solve the puzzle since 2^64 is far too great number. The running time for the computer program would be measured in centuries, at least.
 

Back
Top Bottom