|
|
|
|
|
|
HomeSudoku BooksProgramming Sudoku (Technology in Action) |
|
|  |
| Customer Reviews: | | Average Customer Review: Write an online review and share your thoughts with other customers.
1 of 1 found the following review helpful:
Superficial Sep 02, 2008 This book might be an interesting case study for a novice Visual Basic programmer -- it devotes a lot of ink to UI programming -- but for someone interested in algorithms for solving and generating sudoku puzzles, there's not much value here. Only the most elementary human-style solving techniques are discussed. The reduction to exact cover and the dancing links algorithm aren't discussed at all. The author's puzzle generation algorithm is not guaranteed to produce a valid sudoku puzzle (one with a unique solution) except for the easiest levels of difficulty. You'll learn more by surfing the web for a few hours (including visiting the Sudoku Programmers Forum) than you will by reading this book.
4 of 4 found the following review helpful:
Good, but could have had more math Sep 05, 2006 This book does a good job of helping a person with
even minimal VisualBasic knowledge write what ends up
being an powerful Sudoku generator and solver. I was
able to get through the example program and understand
the source code with a minimal amount of exposure to
VB.
On the downside, a lot of the source in the book seems
to be redundant. Some of the later
examples--particularly the advanced parts of the
solver--seem as though they could have been better
modularized, making the code-writing less time
consuming. The math geek in me was also hoping for a
more in depth analysis of the different solving
algorithms and their various efficiencies.
If you enjoy Sudoku and want to build your own
solving/generation program, but really aren't
concerned with an in depth analysis of algorithms,
this is a good book.
4 of 4 found the following review helpful:
Programming Sudoku - a good book Jul 28, 2006 Programming Sudoku (Technology in Action) (Paperback) by Wei-Meng Lee
This book teaches more than Sudoku, it covers the process of developing game logic development and intelligence.
There are two games covered, Sudoku and Kakuro. Only Sudoku is covered as a step by step process on developing a game generator and solver. Kakuro, has enough information that a standard programmer should be able to build a generator and solver.
The book is both informative and entertaining to read. When I was finished, I was very motivated to build my own variants.
There is quite a bit of resistance to games built with .Net, specially VB.Net. This book does a great job in showing the power of VB.Net as a competitive platform outside of game development.
The discussion on puzzle solving can be applied to any development language.
Where this book has a short coming is that it does not cover other forms of logical puzzle solving. There are plenty of other methods not covered. An appendix of those, what they are, and what the benefits of them are, would have been a nice bonus.
Over all, I liked this book.
6 of 6 found the following review helpful:
Better than a Starter Kit May 09, 2006 Microsoft has hung it's hat on 'starter kits' for Visual Basic .Net Express (2005) both as a learning tool and as a starting point for developers. However those who have tried to use them have found the examples to date to be buggy, hard to understand, excessively complicated and almost impossible for beginners to get to work. Sudoku would seem to be an ideal subject as one of these starter kits. However this book, with the downloadable code, is a much better option. The code works right off, and most of the basics are there. It will generate and solve puzzles. The solver uses 4 basic methods, and, if those fail, it goes to brute force.
This is not "Simple Sudoku" [...] That is a very sophisticated creator and solver with many additional functions built in. The program in this book is a junior version of that. However with the clear explanations of the code in this book and growing skills in VB .Net you can easily add extra functionality and solving methods as needed. Use "Simple Sudoku" to learn how to play Sudoku. Use this book and code to learn to program Sudoku.
This book would make an excellent introduction to Visual Basic .Net Express. It covers a number of useful techniques for a beginner. As a teacher, I am always looking for projects which are the right size and which are of interest to students. Not everything is covered in this book, however by adding one or two more projects, say an RSS reader with persistence, you have the basics of a good introductory course.
I recommend this book.
6 of 17 found the following review helpful:
ok, but limited Apr 27, 2006 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.
|
|  | |
|
|
|
|
|