Harmony: Heuristics and Search
September 14, 2011
Need help with that Sudoku puzzle? “Neat Algorithms – Harmony Search” discusses an unconventional path to a solution.
I don’t hear “heuristics” tossed around much in normal conversation, though we’ve been participating in heuristic optimization our entire lives. In fact, it is one key component to unlocking artificial intelligence. A basic description would be an iterative process of arriving at the best solution based on selecting the ideal combination of variables. It is tantamount to the human decision making process, evaluating multi-variable situations based on knowledge of quality and previous experience (which can be too grey an area for computers). The definition of quality is continually built upon for refinement and thus increased success.
This blog post provides an excellent example of heuristic optimization in action: the music produced by jazz ensembles. Creating good music requires knowledge of what notes mesh well, what notes your band mates may select, pitch etc. There is a reason why more often than naught it is seasoned professionals that play the best. Practice does make perfect.
Rightfully so, the algorithm investigated in this piece is dubbed Harmony Search (HS) and has numerous end users. For reference, there are examples of code for developing harmonies included in the linked post. Of particular interest to me is the ability to apply this method to applications like heat exchanger designs or planning construction site layouts.
Now, I mentioned that this algorithm could be employed to get to the bottom of those pesky Sudokus. This is true. The post does include a thorough explanation of fitting the Sudoku model into the HS framework, referencing the work of HS’s creator. The interesting conclusion is this:
“Sudoku however isn’t really a good test bed for these algorithms because its easy enough to write a solving algorithm, and you have to write most of that algorithm to apply HS to sudoku anyways.”
Considering this statement earlier in the post:
“For problems where it is hard to decipher why changing an input changes the quality (and thus the optimal solution isn’t very obvious), these algorithms are extremely useful.”
To me, while a puzzle like Sudoku can be adjusted to the HS requirements of quality measurement, this is not a true fit. There is no “better” solution to Sudoku. It is correct or it isn’t, hence the author’s suggestion that a simpler algorithm can save you a lot of processing trouble. HS is an amazing tool, but not even the best tool works for every job.
The moral of this story? If you are that confounded over a Sudoku puzzle, perhaps you should stick with the Word Search? When search becomes a puzzle, there will be more than human instinct operating.
Sarah Rogers, September 14, 2011
Sponsored by Pandia.com, publishers of The New Landscape of Enterprise Search