- Hardcover: 554 pages
- Publisher: Springer; Enlarged 2nd edition (December 8, 2004)
- Language: English
- ISBN-10: 3540224947
- ISBN-13: 978-3540224945
- Product Dimensions: 9.2 x 1.2 x 6.1 inches
- Shipping Weight: 2 pounds (View shipping rates and policies)
- Average Customer Review: 24 customer reviews
- Amazon Best Sellers Rank: #1,010,044 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
How to Solve It: Modern Heuristics Enlarged 2nd Edition
Use the Amazon App to scan ISBNs and compare prices.
Fulfillment by Amazon (FBA) is a service we offer sellers that lets them store their products in Amazon's fulfillment centers, and we directly pack, ship, and provide customer service for these products. Something we hope you'll especially enjoy: FBA items qualify for FREE Shipping and Amazon Prime.
If you're a seller, Fulfillment by Amazon can help you increase your sales. We invite you to learn more about Fulfillment by Amazon .
See the Best Books of 2018 So Far
Looking for something great to read? Browse our editors' picks for the best books of the year so far in fiction, nonfiction, mysteries, children's books, and much more.
Frequently bought together
Customers who viewed this item also viewed
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
The book is a good complement to various standard algorithm texts, like those by Sedgewick, Aho and Knuth. You can consider this book as standing a level above those. [Though Knuth's books also do an excellent job of suggesting when to use or modify algorithms. ]
The level of discussion here is not of a strict, heavy mathematical approach. It can be read as informal guidelines, that discuss the gist of such ideas as simulated annealing and evolutionary methods. There is a wide range of example problems, to motivate you in understanding what might be used to solve them.
Anyway, the core agenda, which is not heuristics, does poke out at various points. On page 190 there is a revealing passage bout the elusive 'Holy Grail' of 'a perfect evolutionary algorithm for the TSP [Travelling Salesman Problem]'. Now, the world in general would be fascinated by a polynomial solution to the TSP, but the world in general - sorry to say - doesn't actually give a toss if that solution is evolutionary.*
As I said, I was unhappy about the complete lack of real theoretical background which would put any of the discussed methods in perspective/context. The discussion of simulated annealing, for instance, is absent any of the underlying (and powerful) intuitions from statistical physics which, if nothing else, makes the technique much richer, and not conceptually comparable to, tabu search, with which it is discussed in parallel. As far as I can see, the latter is an isolated hack - empirically it may be effective in some applications, but it is not part of a larger conceptual framework. At least if it is not an isolated hack, then the authors provide no evidence - I note that it gets all of three lines in Russell and Norvig.
More seriously, there isn't even any well-founded discussion of mathematical models of evolution. All that I could find was essentially a citation - not even a discussion - of the 'no free lunch' theorems. No Maynard-Smith, no Kondrashov, not even Hopfield's '78 paper - though other later stuff by Hopfield is cited. And without this - and without a lot of other formal theory stuff as well, if I were being honest - there is no hope of a methodological framework. After all, computers are, unavoidably, formal machines. In the end, the evolutionary models that are discussed are not a lot more than a bunch of gadgets, and the authors are reduced to saying that for your own problems, you are going to have to think up your own gadgets. This, to be blunt, is why evolutionary computing remains a niche research area.
A separate problem is the lack of any perspective w.r.t. other, today more commonly used, technologies that address similar problems. The discussion of neural networks and pattern classification does not mention, e.g., that the benchmark classifier technology today is vector support machines, which substantially outperform neural networks. Or that the standard technology for exploring complex function spaces is Monte-Carlo analysis (strictly, a lot of the techniques that are discussed in the book _are_ actually Monte-carlo methods of one sort or another). This does not mean that the methods discussed are _not_ interesting, just that without a perspective, it is difficult to say whether they are appropriate tools for a job.
In the end it was not clear to me who this book is really aimed at. It is certainly not aimed at me. Senior undergraduates in something like operations research might be a target, but I personally would not use it for a CS or applied math class. And I cannot, honestly, forsee it being a lot of use to me outside the classroom.
*Which anyway, a priori, seems unlikely, since idealised recombinatory evolutionary strategies show rapid information gain (N^1/2) in the size of the genome in suboptimal situations, but near the optimum, parthenogenesis with mutation is a better strategy.
The first half of the book is on search heuristics, covering methods such as traditional searches (exhaustive search, greedy algorithms, divide and conquer, dynamic programming, A*, etc), methods to escape local optima (simulated annealing, tabu search), and, perhaps most interesting of all, evolutionary algorithms. I later found out that these topics are typically taught in undergraduate artificial intelligence courses, an elective I never took. The second half of the book covers even more advanced areas, such as contraint-handling, neural networks, and fuzzy systems.
The authors use three recurring example applications to demonstrate each search technique: the boolean satisfiability problem (SAT), travelling salesman (TSP), and a nonlinear programming problem (NLP). I really liked the consistent use of these three examples, as they give a sense of continuity throughout the book that helps the reader compare search techniques clearly. I had of course studied the TSP problem in my undergraduate algorithms class but never in the context of such interesting approximation algorithms. In my heuristics class we had assignments to implement the TSP search problem using the Lin-Kernighan method, dynamic programming, and an evolutionary algorithm.
The written English in this book is simply outstanding and crystal-clear, which was something of a shock since I was unable to even pronounce the first author's name. The writing is in a very friendly tone with elements of humour dispersed throughout. Interestingly, in the summary chapter, there is an anecdote on the 1980s TV show Magnum PI (I even remember the mentioned scene myself), further revealing the friendly, plain-English tone of the book. Perhaps the best part of the book is that the numerical mathematical discourse is kept at a minimum (used largely for the NLP problems), so people who haven't taken calculus in ages (like me) can easily enjoy the book.
As an added bonus(!), between each chapter is a brain-teaser problem like those found in those legendary Microsoft interview questions.
My only complaint is that there is no simple analysis of the running time complexity of each algorithm, which even in its simplest form would have been a great thing to read about.
In summary, this book is an excellent read if you enjoy the topics covered. Highly recommended.
Most recent customer reviews
But why should I buy a brand new book to get it packaged in too small cardboard panels ?Read more
not have bought it.