I've been thinking about applying some of the algorithms to procedural content generation for a toy game that I've been working on. Specifically tweaking knobs and evaluating quality.
I've been thinking about applying some of the algorithms to procedural content generation for a toy game that I've been working on. Specifically tweaking knobs and evaluating quality.
Hmm... not sure. "Solving seemingly unsolvable problems" might be overselling these algorithms a tad.
Metaheuristics are a collection of algorithms for solving various types of optimization/constraint-satisfaction problems via a process of educated trial-and-error (which is essentially what heuristics are). Typically they are not mathematically sophisticated but they get you answers that are good enough for most practical purposes.
However, it's hard to say one metaheuristic algorithm is better than another. There's a huge element of luck involved.
p.s. Ironically, they can succeed where sophisticated optimization algorithms fail, but there's no guarantee. They are definitely very practical though.
The analogy in my head is this: I think of a sophisticated algorithm as one MIT-trained engineer trying to solve a problem (where the goals are clear) in a methodical way, whereas metaheuristics as maybe 1000 Joe Blows meandering around the problem in some sort of orchestrated way. The chances are good that one of them Joe Blows gets lucky.