| FAQ | ||||||||||||||||||||||||||
| "So what is it?" | It's a Sudoku Solver. It solves Sudoku puzzles. | |||||||||||||||||||||||||
| "What is a Sudoku?" | Well the definition of sudoku given by wikipedia is the
following: "Sudoku sometimes spelled Su Doku, is a logic-based placement puzzle, also known as Number Place in the United States. The aim of the canonical puzzle is to enter a numerical digit from 1 through 9 in each cell of a 9x9 grid made up of 3x3 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. Completing the puzzle requires patience and logical ability. Its grid layout is reminiscent of other newspaper puzzles like crosswords and chess problems or griddlers. Although first published in 1979, Sudoku initially caught on in Japan in 1986 and attained international popularity in 2005." |
|||||||||||||||||||||||||
| "Aren't there a ton of these all over the net?" | Yeah. | |||||||||||||||||||||||||
| "So what's good about this one?" | I made it. | |||||||||||||||||||||||||
| "Anything else?" | Sure, unlike most other sudoku solvers mine does not solve sudokus by brute force. | |||||||||||||||||||||||||
| "Brute force sounds good, why not?" | Well, if this sudoku solver used brute force to solve sudoku puzzles it would be neglecting the fact that humans use human logic to solve sudokus. | |||||||||||||||||||||||||
| "Human logic?" | Yes, normaly sudokus are solved by logicaly reasoning about which cells or fields in the sudoku must be filled by some value. This logical reasoning can be done by elimination. That is discovering which cells cannot for some reason contain the value. If at some point only one square is availible in a row, column or region then that value must be the appropriate choice for the cell in question. | |||||||||||||||||||||||||
| "So it thinks like humans, what's so great about that?" | It's good because it can then provide meaningfull information to human users, helping them understand how the solution could be found by a succession of logical steps. This is in stark contrast to simply providing a final answer through exhaustive search by brute force. | |||||||||||||||||||||||||
| "Meaningfull information?" | By steping through a puzzle either manualy or using
the automated play functionality the sudoku solver will display a
possible next step towards the solution. It displays this by:
|
|||||||||||||||||||||||||
| "Ok, but how do I use the sudoku solver? What if I want it to solve some other sudoku?" | The sudoku solver is primarialy controlled via. the
graphical user interface in addition to some features also being
supported by keyboard imput. Graphical User Interface:
|
|||||||||||||||||||||||||
| "This is all great, but how am i supposed to understand how it eliminates cells?" | At any point one can utilize the 'highligh' button
located under the 'appearance' tab to display infomation about the
current state of eliminated fields on the board. It will display
relevant information by using three symbols in three variations of
colors to mark a field eliminated for the value selected in the radio
buttons on the right hand side of the sudoku solver. The Symbols used are:
The Colors used are:
This is exactly same amount of information which the algorithm has at its disposal. It is also simple to discover which cells can at some step in a puzzle be filled by a certain value. Simply look for single empty cells in a row, column or region. That is all other fields must be eliminated by one of the above symbols and a single field remains. | |||||||||||||||||||||||||
| "Isn't it possible that a cell can be eliminated by multiple of the above logical deductions at the same time?" | This is true. It is entirerly possible that a cell can
be both eliminated by elementary, implicit and exclusive deduction at
the same point in the solution of the puzzle. However it is also
completely legal in the sence that this does not violate the sudoku
invariants. In such a case the 'highlight' ability of the sudoku
solver will prioritize the logical deductions (just as it does in the
course of the algorithm) as follows:
| |||||||||||||||||||||||||
| "Aren't there any drawbacks to using logical deduction instead of exhaustive search by brute force?" | Yes. The most severe drawback is the fact that any
sudoku solver based on logical deduction will not be able to
solve all sudoku puzzles. This is unfortunately true because it is
possible to construct a legal sudoku that at some point requires an
entirerly random guess in order to move forward. It has actualy been
proven that sudoku puzzles are NP-complete since
they can be reduced to the graph coloring
problem. This means that it is extreemely unlikely that there exists a
polynomial time algorithm in the size of the sudoku puzzle which can
solve it. Thus a brute force algorithm is superior in the sence that it will find a solution to any legal sudoku puzzle since it essentialy guesses its way to a solution. However such sudoku puzzles are in a practical sence irrelevant because they are too difficult to be solved by a human since humans do not use exhaustive search by brute force. |
|||||||||||||||||||||||||