What are the real differences between genetic algorithms and evolutionary algorithms?

I read some articles on genetic algorithms and often mention evolutionary algorithms in a very similar way. According to Wikipedia, GAs are subsets of experts. However, if we take a closer look, we will notice that both are metaheuristic optimization algorithms based on natural selection (crossover, selection, mutation), and both do not have a fixed representation (this depends on the problem to be solved, even we traditionally use binary representations for GA). They are very similar. So my question is: can we look at every evolutionary algorithm with a genetic algorithm? and what are the real differences between the two? Thanks you

+6
source share
2 answers

It depends on who you ask. For the first few decades, such things existed, everyone believed that different categories existed (usually they are listed as “genetic algorithms”, “genetic programming”, “evolutionary strategies” and “evolutionary programming.” Differences between subfields, so the difference did have a definite meaning.

At some point (around the end of the 90s or so) there was a big push for unification, as people began to consider them as examples of a more general class of algorithms. The main GA conference (ICGA) turned into GECCO, and the unifying term became “evolutionary computing”, covering all of the above, and sometimes several others (you can consider things like particle role optimization, evolutionary algorithms, if you're a little liberal with definitions )

Thus, currently we usually say “evolutionary computing” (or “evolutionary algorithms”) as a comprehensive umbrella term. Genetic programming preserves its own identity as evolving lines of code directly, and evolution strategies also preserve a separate identity as dealing with real values ​​and often involve some self-modification (e.g. cognitive adaptive learning search paths at runtime). Evolutionary programming still exists, but only as a much smaller niche. The term "genetic algorithms" has expanded significantly. Initially, people thought that they work on binary strings, working with generational selection, etc. Over time, one by one, the severity fell away. At the moment, you can use the "genetic algorithm" as a synonym for "evolutionary computing." You should not, because the terminology means the subtlety that you would lose, but in general, if you do not generate the code directly, and you do not change the real numbers in a very specific way, it corresponds to what people consider evolution strategies, then you are reasonable safe by calling it a "genetic algorithm."

+9
source

To complete the excellent answer, here is a quote from the excellent book Introduction to Evolutionary Computation , written by AE Eiben and JE Smith.

Surprisingly, this idea of ​​applying Darwinian principles to automatic problem solving dates back to the fortieth years long before the breakthrough of computers [146]. Back in 1948, Turing proposed a “genetic or evolutionary search,” and by 1962 the Brainermakers actually performed computer experiments to optimize evolution and recombination. ”During the 1960s, the main ideas were developed in different places. In the USA, Vogel, Owens and Walsh introduced evolutionary programming [155, 156], and Holland called its method a genetic algorithm [98, 202, 204]. Meanwhile, in Germany, Rechenberg and Schweffel invented "strong" development strategies [317, 342]. For about 15 years these areas developed by the department but, but since the early 1990s, they were treated as different agents ( "dialects") audio technology that has become known as evolutionary computation [22, 27, 28, 120, 271] In the early 1990s, a fourth stream, after general. ideas emerged, genetic programming, protected Goat [38, 229, 230]. modern terminology refers to the entire field of evolutionary computation algorithms used are called evolutionary algorithms, and he considers the evolutionary programming, evolution strategies, genetic algorithms and genetic pro rammirovaniya subareas as belonging to the respective embodiments of the algorithm.

The development of scientific forums dedicated to the EU give an indication of the past and present. The first international conference specializing 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] will become the annual Conference on Genetic and Evolutionary Computing (GECCO) [37. 416. 381. 2421. At the same time, the Annual Conference on Evolutionary Programming. which has been held since 1992. [150. 151. 344. 268. 154. 12. 3071 teamed up with the IEEE Conference on Evolutionary Computing, which has been held since 1994 [210. 211. 212. 213. 2141 to form the Congress on Evolutionary Computing (CEC), which has been held annually since then [71. 72.73.741.

The first European event (explicitly established to cover all flows) was the Parallel Problem Solving from Nature (PPSN) in 1990 [3431. which became a biennial conference [259. 90. 410. 116. 337. 1871. This was a panel discussion (luring the first PPSN t hat name evolutionary computing was proposed as an umbrella term for all existing “dialects.” Evolutionary computing (MIT Press). First scientific journal dedicated to this area was launched in 1993. In 1997, the European Commission decided to fund EvoNet, the European research network in the EU, whose funds are guaranteed until 2003. At the time of writing (2003), there are three major EC conferences (CEO, GECCO and PPSN) and many more small ones, including those dedicated to exclusively to theoretical analysis and development, the Fundamentals of Genetic Algorithms (FOGA), conducted every two years since 1990 [316, 420. 425. 44. 39. 261. 3081. Currently, there are three main EU scientific journals (Evolutionary Computation, Transactions IEEE on Evolutionary Computing and Genetic Programming and Evolvable Machines), and many of them have a related profile, e.g. in natural computing. soft computing or computational intelligence. We estimate the number of EU publications in 2003, more than 1,500 of them in journals and materials on specific fields of application.

+6
source

Source: https://habr.com/ru/post/907844/


All Articles