While discussing some intro level topics today, including the use of genetic algorithms; I was told that research has really slowed in this field. The reason given was that most people are focusing on machine learning and data mining.
Update: Is this accurate? And if so, what advantages does ML/DM have when compared with GA?
-
2$\begingroup$ Please reformulate the question so it asks for less opinion but more facts (e.g. disadvantages of GA/EA that have become more apparent over time). $\endgroup$– Raphael ♦Mar 21, 2012 at 13:54
-
1$\begingroup$ As far as I know, if many algorithm are given that can solve a specific problem, GA won't be the best one in most cases. $\endgroup$– StrinApr 7, 2012 at 2:21
5 Answers
Well, machine learning in the sense of statistical pattern recognition and data mining are definitely hotter areas, but I wouldn't say research in evolutionary algorithms has particularly slowed. The two areas aren't generally applied to the same types of problems. It's not immediately clear how a data driven approach helps you, for instance, figure out how to best schedule worker shifts or route packages more efficiently.
Evolutionary methods are most often used on hard optimization problems rather than pattern recognition. The most direct competitors are operations research approaches, basically mathematical programming, and other forms of heuristic search like tabu search, simulated annealing, and dozens of other algorithms collectively known as "metaheuristics". There are two very large annual conferences on evolutionary computation (GECCO and CEC), a slew of smaller conferences like PPSN, EMO, FOGA, and Evostar, and at least two major high-quality journals (IEEE Transactions on Evolutionary Computation and the MIT Press journal Evolution Computation) as well as a number of smaller ones that include EC part of their broader focus.
All that said, there are several advantages the field more generally thought of as "machine learning" has in any comparison of "hotness". One, it tends to be on much firmer theoretical ground, which the mathematicians always like. Two, we're in something of a golden age for data, and lots of the cutting edge machine learning methods really only start to shine when given tons of data and tons of compute power, and in both respects, the time is in a sense "right".
-
$\begingroup$ Can you please clarify/highlight what your answer to the question is? $\endgroup$– Raphael ♦Mar 21, 2012 at 23:17
-
1$\begingroup$ I'm not sure what specifically you'd like me to elaborate on. $\endgroup$– deongMar 22, 2012 at 0:18
-
$\begingroup$ Just anser the OP's question clearly: What are (hard) advantages of ML over GA/EA? Or are you proposing something orthogonal? $\endgroup$– Raphael ♦Mar 22, 2012 at 6:44
-
3$\begingroup$ I'm saying they don't (mostly) don't apply to the same problems. The advantage of ML is that it works really well for pattern recognition and classification; the advantage of GAs is they work on hard optimization problems. Beyond that, it's like asking for advantages of cars versus houses. Many ML algorithms involve solving an optimization problem as a training step, and there are GA-based learning approaches (learning classifier systems), but mostly, they're just different areas completely. $\endgroup$– deongMar 22, 2012 at 9:40
Some decades ago, people thought that genetic and evolutionary algorithms were swiss-army-knives, fueled by spectacular early results. Statements like the building block hypothesis were made in an effort to prove that they were in general good strategies.
However, rigorous results were slow in coming and often sobering, most prominently the No Free Lunch Theorem. It became evident that genetic/evolutionary algorithms are often decent heuristics but never optimal in any sense.
Today we know that the more we know about a problem respectively its structure, the less sense it makes to employ genetic/evolutionary algorithms as other methods that use this knowledge outperform them by magnitudes. In cases where little is known about the problem at hand, however, they still remain a viable alternative because they work at all.
-
9$\begingroup$ I feel it should be emphasized that the NFLT sets "limitations" on not only GAs, but on all heuristic search algorithms. None of them is great on every instance, and so in your sense, none of them is optimal in any sense. $\endgroup$– JuhoMar 21, 2012 at 22:12
-
1$\begingroup$ I remember using genetic algorithms to solve an aerodynamic problem, and after weeks and weeks of calculations, the result was infinitely worse than the result provided by the most rough aerodynamics theory. I have the impression that artificial intelligence and similars are absolutely no replacement for domain knowledge $\endgroup$ Jan 2, 2018 at 12:34
-
1$\begingroup$ @user9589 The two are not mutually exclusive. Domain knowledge can help you choose and tune heuristic methods. $\endgroup$– Raphael ♦Jan 2, 2018 at 15:47
-
1$\begingroup$ @Raphael I would say that artificial intelligence helps you to tune domain knowledge. $\endgroup$ Aug 8, 2018 at 11:35
A critical part of the story, as I see it, is missing from the other answers so far:
Genetic algorithms are mostly useful for brute force search problems.
In many contexts, simpler optimization strategies or inference models (what you would broadly call machine learning) can perform very well, and do so far more efficiently than brute force search.
Genetic algorithms, like simulated annealing, are most effective as a strategy for dealing as-well-as-we-know-how with hard (e.g. NP complete) search problems. These domains tend to be so limited by the intrinsic hardness of the problems that tweaking and iterating on modest factors in the solution strategy, by incrementally improving genetic algorithms, is often not very much use, and so not terribly exciting.
To some extent, machine learning is becoming more mathematical and with algorithms able to be 'proven' to work. In some ways, GAs are very "wth happened in there" and you can't perfectly answer the question "so what did your program do?" (well in some people's eyes, anyway).
I personally advocate combining neural nets and GA = GANNs. In my honours thesis, I produced a drug prediction algorithm first using NNs, then a GA, and finally a GANN which took the best of both worlds and outperformed both other sets. YMMV, however.
-
2$\begingroup$ Please give a simple example where the advantages of "ML" become apparent in order to provide some evidence of your claim(s). Also, please give a proper reference/link to your thesis. $\endgroup$– Raphael ♦Mar 21, 2012 at 23:19
-
Machine learning unveils a large portion of mathematical apparatus to be developed and applied. Genetics algorithms mostly done by heuristics.
-
2$\begingroup$ You can prove things about GA/EA. It is hard, though. While ML has rigorous foundations, those who apply ML techniques often do so in an ad-hoc manner. So does your argument only exist on paper, or is there a difference in practice? $\endgroup$– Raphael ♦Mar 22, 2012 at 6:45