Evolutionary algorithm

In computational intelligence (CI), an evolutionary algorithm (EA) is a subset of evolutionary computation,[1] a generic population-based metaheuristic optimization algorithm. An EA uses mechanisms inspired by biological evolution, such as reproduction, mutation, recombination, and selection. Candidate solutions to the optimization problem play the role of individuals in a population, and the fitness function determines the quality of the solutions (see also loss function). Evolution of the population then takes place after the repeated application of the above operators.

Evolutionary algorithms often perform well approximating solutions to all types of problems because they ideally do not make any assumption about the underlying fitness landscape. Techniques from evolutionary algorithms applied to the modeling of biological evolution are generally limited to explorations of microevolutionary processes and planning models based upon cellular processes. In most real applications of EAs, computational complexity is a prohibiting factor.[2] In fact, this computational complexity is due to fitness function evaluation. Fitness approximation is one of the solutions to overcome this difficulty. However, seemingly simple EA can solve often complex problems;[3][4][5] therefore, there may be no direct link between algorithm complexity and problem complexity.

Evolutionary algorithms can be seen as a kind of Monte-Carlo method.[6]

  1. ^ Vikhar, P. A. (2016). "Evolutionary algorithms: A critical review and its future prospects". 2016 International Conference on Global Trends in Signal Processing, Information Computing and Communication (ICGTSPICC). Jalgaon. pp. 261–265. doi:10.1109/ICGTSPICC.2016.7955308. ISBN 978-1-5090-0467-6. S2CID 22100336.{{cite book}}: CS1 maint: location missing publisher (link)
  2. ^ Cohoon, J. P.; Karro, J.; Lienig, J. (2003). "Evolutionary Algorithms for the Physical Design of VLSI Circuits" in Advances in Evolutionary Computing: Theory and Applications (PDF). London: Springer Verlag. pp. 683–712. ISBN 978-3-540-43330-9.
  3. ^ Slowik, Adam; Kwasnicka, Halina (2020). "Evolutionary algorithms and their applications to engineering problems". Neural Computing and Applications. 32 (16): 12363–12379. doi:10.1007/s00521-020-04832-8. ISSN 0941-0643. S2CID 212732659.
  4. ^ Mika, Marek; Waligóra, Grzegorz; Węglarz, Jan (2011). "Modelling and solving grid resource allocation problem with network resources for workflow applications". Journal of Scheduling. 14 (3): 291–306. doi:10.1007/s10951-009-0158-0. ISSN 1094-6136. S2CID 31859338.
  5. ^ "International Conference on the Applications of Evolutionary Computation". The conference is part of the Evo* series. The conference proceedings are published by Springer. Retrieved 2022-12-23.
  6. ^ Ashlock, D. (2006). Evolutionary Computation for Modeling and Optimization. Deutschland: Springer New York. Page 491, https://books.google.de/books?id=kz0rofjQrwYC&pg=PA491