I am reading some papers about Genetic Algorithms and often they mention Evolutionary Algorithms in a very similar way. According to Wikipedia, GAs are subset of EAs. However, if we look closer, we can notice that both are metaheuristic optimization algorithms based on natural selection (crossover, selection, mutation) and both don't have a fixed representation (it depends on the problem to solve, even we traditionaly use binary representations for GAs). They are very similar. So, my question is can we consider every evolutionary algorithm a genetic algorithm ? and what are the real differences between them ? Thank you
It sort of depends on who you ask. For the first few decades that such things existed, everyone considered there to be distinct categories (usually listed as "genetic algorithms", "genetic programming", "evolution strategies", and "evolutionary programming". There were, to be sure, significant differences between the subfields, so the distinction did make some degree of sense.
At some point (around the late 90s or thereabouts), there was a bigger push for unification, as people began to see them as instances of a more general class of algorithms. The major GA conference (ICGA) morphed into GECCO, and the unifying term became "evolutionary computation", encompassing all of the above, and occasionally a few others (you can view things like particle swarm optimization as evolutionary algorithms as well if you're a bit liberal with the definitions).
So currently, we would generally say "evolutionary computation" (or "evolutionary algorithms") as the catch-all umbrella term. Genetic programming maintains its own identity as evolving code strings directly, and evolution strategies also keep a separate identity as dealing with real-values and often including some sort of self-modification (e.g., covariance matrix adaptation learning search directions at runtime). Evolutionary programming still exists, but only as a much smaller niche. The term "genetic algorithms" has broaded quite a bit. Originally, people thought of them as operating on binary strings operating with generational selection, etc. Over time, one by one, the strictness has fallen away. At this point, you can almost use "genetic algorithm" as a synonym for "evolutionary computation". You shouldn't, because there is an understood subtlety in the terminology that you'd be losing, but in general, if you aren't doing code generation directly, and you aren't evolving real numbers in a very particularly defined way that corresponds with what people think of as evolution strategies, then you're reasonably safe in calling it a "genetic algorithm".
To complete deong's great answer, here is a quote from the excellent book Introduction to Evolutionary Computing written by A. E. Eiben and J. E. Smith.
Surprisingly enough, this idea of applying Darwinian principles to automated problem solving dates back to the forties, long before the breakthrough of computers [146]. As early as 1948, Turing proposed "genetical or evolutionary search", and by 1962 Breinermami had actually executed computer experiments on 'optimization through evolution and recombination". During the 1960s three different implementations of the basic idea were developed in different places. In the USA, Fogel, Owens, and Walsh introduced evolutionary programming [155, 156], while Holland called his method a genetic algorithm [98, 202, 204]. Meanwhile, in Germany, Rechenberg and Schwefel invented evolution strategies [317, 342]. For about 15 years these areas developed separately; but since the early 1990s they have been viewed as different representatives ("dialects") of one technology that has come to be known as evolutionary computing [22, 27, 28, 120, 271]. In the early 1990s a fourth stream following the general ideas emerged, genetic programming, championed by Koza [38, 229, 230]. The contemporary terminology denotes the whole field by evolutionary computing, the algorithms involved are termed evolutionary algorithms, and it considers evolutionary programming, evolution strategies, genetic algorithms, and genetic programming as subareas belonging to the corresponding algorithm variants.
The development of scientific forums devoted to EC gives an indication of the field's past and present. The first international conference specialising in the subject was the International Conference on Genetic Algorithms (ICGA), first held in 1985 [180] and repeated every second year until 1997 [182, 333, 43, 158, 137, 241 In 1999 it merged with the Annual Conference on Genetic Programming [235, 234, 232] to become the annual Genetic and Evolutionary Computation Conference (GECCO) [37. 416. 381. 2421. At the same time the Annual Conference on Evolutionary Programming. held since 1992. [150. 151. 344. 268. 154. 12. 3071 merged with the IEEE Conference on Evolutionary Computation, held since 1994, [210. 211. 212. 213. 2141 to form the Congress on Evolutionary Computation (CEC) which has been held annually ever since [71. 72. 73. 741.
The first European event (explicitly set up to embrace all streams) was the Parallel Problem Solving from Nature (PPSN) in 1990 [3431. which has became a biannual conference [259. 90. 410. 116. 337. 1871. It was in a panel discussion (luring the first PPSN t hat the name evolutionary computing was offered as an umbrella term for all existing "dialects". Evolutionary Computation (MIT Press). The first scientific journal devoted to this field. was launched in 1993. In 1997 the European Commission decided to fund a European research network in EC called EvoNet, whose funds are guaranteed until 2003. At the time of writing (2003), there are three major EC conferences (CEO, GECCO. and PPSN) and many smaller ones, including one dedicated exclusively to theoretical analysis and development, Foundations of Genetic Algorithms (FOGA) held biannually since 1990 [316, 420. 425. 44. 39. 261. 3081. By now there are three core scientific EC journals (Evolutionary Computation, IEEE Transactions on Evolutionary Computation, and Genetic Programming and Evolvable Machines) and many with a closely related profile. e.g., on natural computing. soft computing, or computational intelligence. We estimate the number of EC publications in 2003 at somewhere over 1500 many of them in journals and proceedings of specific application areas.
© 2022 - 2024 — McMap. All rights reserved.