Evolutionary Algorithms


Evolutionary algorithms are optimization techniques inspired by Darwin’s theory of biological evolution, described in his famous book On the Origin of Species, 1859. They are used to find solutions to complex problems through an iterative, population-based approach. In these algorithms, a population of potential solutions (chromosomes) evolves over multiple generations. Each generation involves processes like selection, crossover (recombination), and mutation, which mimic the principles of biological evolution. The algorithms aim to improve the quality of solutions over time, making them particularly useful in optimization, machine learning, and artificial intelligence applications.

Currently, the most widely used types of evolutionary algorithms include Genetic Programming, Genetic Algorithms, and Evolutionary Strategies. Evolutionary algorithms have been applied to solve problems and challenges in numerous domains and proved to be successful in many cases. These algorithms have a lot in common, but the use of one over another is determined by the nature of the problem.

Genetic Programming (GP) is used as a data-fitting method in some applications, like other machine learning methods. GP has an advantage over other machine learning methods because it can also return an equation to describe the mathematical relationship between the independent and dependent variables.

Genetic algorithm (GA) is a search-based optimization technique based on the principles of biological evolution. This concept is being used by evolutionary algorithms for the optimization of solutions to difficult problems.

We have applied evolutionary algorithms (genetic programming, genetic algorithms, and differential evolution) in various domains such as mass spectrometry, climate, medicine, and seismology. The algorithms are run with the help of the EASEA platform and the UFAZ PARSEC (PARallel System for Evolutionary Computing) machines.