Full description not available
P**G
Logical Approach To Solving A Complex Project
The methodology of breaking down the overall problem of programming a Sudoku solving program is what I liked the most about this book. Wei-Meng Lee takes you from the bare bones user interface into getting started and further into solving puzzles and then making your own puzzles. This is an easy follow book that will help the novice VB programmer on how to solve more complex projects. I enjoyed the authors approach to solving Sudoku puzzles as well.A couple of things I didn't like, that kept me from giving this book a 5, is that after solving for triplets, the only other approach to solving is brute force; in my opinion, it just guessing, when a Sudoku puzzle should be solved strictly by logical means. So, I was also disappointed, like others, that more advanced techniques were not discussed.But all in all, I thought this was an excellent beginning into programming a solution to solving Sudoku puzzles programmatically.
A**1
Great intro book!
Programming Sudoku is a great intro for those looking to get into developing, particularly with Visual Basic. Though the book is dated at this point - 2011, it is still a nice introduction to programming concepts that aren't found in other books, while only focusing on Sudoku. No, it is not a math-laden or algorithm heavy book, but rather a great starting point for more advanced concepts.
M**R
Sudokus cannot have multiple solutions
A sudoku program is worthless unless the author understands that an acceptable puzzle *must* have a unique solution.The "Extremely Difficult" puzzle on page 169, for example, has 1441 solutions (there are others as well).
D**H
A decent start, but does not deal with advanced strategies
This is a short, straight-forward book that shows the reader how to create a simple sudoku program for Windows. I read this book cover to cover in about 2 hours. It is a very practical introduction to programming a sudoku application in Visual Basic 2005 (I'm not sure what book the previous reviewer is referring to, as this one contains no C or Java code. Any competent C programmer could convert this code easily). The book walks through the creation of an interface, code to enforce the rules of the game (preventing illegal moves), a (limited) set of solving strategies, and an algorithm for creating new puzzles.The biggest strength of the book is that it is very practical -- you can type in (or download) all the source code and you'll have a running application. Using Visual Basic makes it ideal for the beginner/intermediate programmer (of course you need VB 2005 -- previous versions won't work).The biggest limitation is that the solver/puzzle generator only uses four basic strategies: Single Candidate (aka Naked Single), Hidden Singles, Matched Pairs (Twins), and Triplets. It also includes a brute force algorithm. The author presents the four strategies as if they represented all of the known solving algorithms. In reality, there are a variety of other, more complex strategies that are incorporated into good sudoku puzzles (a good place to start would be the Sudoku Programmer's Forum - [...] When the aformentioned strategies fail, the program tries to find a brute force solution. While that may be fine for solving puzzles, it causes trouble when you want to create new puzzles. The puzzles created by the application's "Extremely Difficult" setting are not guaranteed to be unique. That is, puzzles at the other difficulty levels ("easy" through "difficult") each have a unique solution that can be discovered using up to only 4 solving strategies. Puzzles that are "Extremely Difficult" can be solved mostly by the existing (pretty simple) strategies combined with a number of squares that may be solvable by more advanced strategies or just by blind guessing, and they are likely not "True" sudoku puzzles because there is a good chance that they have multiple solutions.I also have some minor quibbles with the overuse of strings to store game states, but the author does a good job of using them in an efficient fashion. There's also a chapter thrown in at the end describing the rules and some basic strategies for playing kakuro, the newer number puzzle that publishers are hoping will be as popular as sudoku. The chapter has no real relevance in the book, as it does not discuss computer implementions, and contains no particularly useful information.In all, this is a good start for a moderately experienced VB hobbyist interested in creating a program that generates and solves (and lets users play) sudoku puzzles. The generated puzzles will either be easy to moderate, or will be a mixed bag.My recommendation to someone who has a moderate level of VB programming experience, but perhaps doesn't know how to go about writing a sudoku program would be to use this book to create the basic program, then go to the Sudoku Programmer's Forum to learn about other strategies that they could implement in the program. If you have a decent understanding of VB and just want to mess with the code, you can download it for free from the publisher's web site at [...]
J**G
ok, but limited
The main problem I see with this book is that the techniques presented are hard to transfer to non-game situations. The main reason is that VB.NET is not a suitable choice of language for this problem. When I first opened the book, I expected a book on resolution-based logic programming or finite domain logic constraint programming in VB.NET, using soduku as a concrete example, but instead found the programs to be too specific to use except with soduku and other similar games. The programs in this book solve the problem the way a human would solve the problem. This approach doesn't take advantage of the computer's ability to perform simple calculations extremely fast. Taking advantage of this often requires a different approach to the problem, and this book doesnt discuss it. The section on using brute force doesnt really come close to the finite domain constraint programming that is extermely well suited for this problem.Part of the problem here is that VB.NET is entirely inappropriate for this type of problem. Prolog is far better suited for this problem than any imperative or object-oriented language. The choice of language is often the critical descision in programming. Make the wrong decision and a couple of pages of Prolog code suddenly becomes a book full of VB.NET code.If you want to learn how to solve soduku problems better (either with a computer program or with pencil and paper), then this book does just that. If you want to use what you learn from this book to apply to other domains, then it probably wont help too much. Buy an introductory book on Prolog instead.
N**N
This book is quite helpful. It turns out the ...
This book is quite helpful. It turns out the code is in VB but I was able to port it to Java without too much trouble.
Trustpilot
2 weeks ago
1 month ago