Wednesday, May 31, 2006
Posted by Jon Westfall in "SOFTWARE" @ 08:00 AM
A Bit More On SuDoku
According to Wikipedia:
"Sudoku...is a logic-based placement puzzle. The aim of the puzzle is to enter a numerical digit from 1 through 9 in each cell of a 9×9 grid made up of 3×3 subgrids (called "regions"), starting with various digits given in some cells (the "givens"); each row, column, and region must contain only one instance of each numeral."
Which sounds a lot harder than it actually is! I admit it - I stayed away from SuDoku for a long time even after my friends started playing because it simply looked too annoying. I've got a grid with a bunch of numbers and I'm supposed to figure out what goes in each blank? Looks like I'll be guessing and poking around forever! Then I found out why the game isn't frustrating in the least - in all but the hardest SuDokus, guessing isn't even involved!
A Sample SuDoku
To allow non-SuDoku players to appreciate this review, and to help those new to the game, I decided to write up a quick walk through of a simple SuDoku. I'll take you through the first few moves, and then you can finish the sample on your own. (Answer provided at the end ;) ).
Here is our beginning board, with a nice simple SuDoku:
Figure 1: A Simple SuDoku. Notice the timer and points values below the puzzle. The points count down as you take longer to work the solution out, with a higher starting point value for harder puzzles. You can hide them from view with the blue arrow to the right - it helps relieve some pressure as you build up your score and climb the ranks!
Now, the first thing to remember is that we don't have to guess - this puzzle can be simply solved by process of elimination. Take the region in the middle for example. In it, we have a 7, 8, 2, & 9. This means that we're missing a 1, 3, 4, 5, & 6. If you look in the regions to the left and right of it, you'll notice that both of them have 3s, and those 3s are in the second and third rows of the region. Perfect - this means our 3 has to be in the top row of the middle region. Why? Well if it's in any other row in that region, the entire row (spanning from left to right) will have a duplicate 3 - a SuDoku no-no. So the 3 has to be on the left or right of the 9. One of the cool features of Mastersoft SuDoku is the candidates entry - a small "scratch-pad" for your thoughts as you're solving. I'm going to enter into candidate mode (notice the small numbers) and enter in a 3 for both of those spots - as I know one of them has to be the 3!
Figure 2: Notice that the entry window can be moved, and even stuck in one corner of the board if you choose.
But wait - there's a 3 in the third column in the region below (the region with 1, 4, 7, & 3). If we put a 3 on the right side of our 9 in the middle region, there would be two 3s in that column. So our 3 has to go to the left of the 9. I'll switch back to regular entry mode (by hitting the little grid icon in the lower right of the entry window) and put a 3 in the only spot it can be, and clear out my false 3 candidate.
Figure 3: The entry screen can also enter values in different colors, in case you want to color code your entries for easy reference. Some SuDoku programs utilize an always-on-screen entry panel, which I believe would be an excellent option for those who might not like the pop-up panel.
There are a couple more in our puzzle just like that - easy eliminations. For example, in the middle region at the top (the region with 6, 8, 5, & 4 in it), we know we're missing a 1. The 1 can't go in the top row (as there is a 1 in the region to the right) and it can't go along the first column (as there is a 1 in the bottom region), so it must go above the 9:
Figure 4: A very cool feature of Mastersoft's version is the yarn ball (look below the 19 in the timer to see the icon). It allows you to roll-back the puzzle to an earlier time if you see a mistake. You can also place flags along your path so you can roll back to known good points.
I'll go ahead and fill in some more values for you to get you started - see if you can figure out the solution!
Figure 5: A good head-start - can you complete this one?
When you're done, check out the solution to this SuDoku here