Hacker News new | ask | show | jobs
by aothman 5622 days ago
Cool demo, but from a practical perspective there's absolutely no reason to use GAs to solve a non-linear optimization problem. I know people like them because they have a really pleasing and intuitive backstory, but as a grad student in AI I can tell you that they suck at actually solving anything. Mostly this is due to the fact that GAs take what is already a difficult, non-linear problem (the problem you're trying to solve) and immediately, explosively, complicate it (what's your mutation rate? what are the chromosomes? how are crossovers handled? how are you deciding the answers to these questions?)
4 comments

I think the real problem with most uses of GAs (including this one) is that to the extent that they work at all, they're merely performing a random walk search driven by mutation, and the "crossover" operation is, for all intents and purposes, just functioning as a random-restart of the search, a jump to a new spot in parameter space rather than a useful shuffling of units of functionality.

Sometimes a random local search is exactly what the doctor ordered, of course, it's almost entirely trivial to code and especially if you tune the variance over time you can get pretty good results, though I'd agree that in general you can usually get better results in less computer time with a more typical algorithm (though you've still got to choose the algorithm, implement/integrate it, test it, etc., so you lose a lot of programming time unless it's already part of your framework).

Genetic algorithms should really shine when it's not clear how to cast the problem as a finite dimensional optimization problem, for instance if you're trying to evolve some constructive procedure to solve a problem rather than tweak variables to improve performance. You're absolutely right, aothman, most problems, even most problems specifically constructed to show off GAs, don't fit into this category, so there's no real point except that the algorithm sounds cool...

Solution: Use a GA to evolve the GA parameters. I'd better go and patent this brilliant idea ...
Well, to be fair the parameter problem is common for all kinds of local search and is an interesting research topic. That being said, I agree that GAs are seldom the most efficient, other kinds of local search are typically better.

For problems where there is a natural way to express chromosomes, mutations, and crossover that captures interesting and relevant information GAs can be useful as an additional meta-heuristic.

Didn't I read relatively recently about a patent filed on something discovered using a GA? Maybe for lens design?
I believe Koza has several patents for things he has discovered using Genetic Programming / Algorithm techniques.