evolutionary algorithm
An evolutionary algorithm (EA) is an algorithm that uses mechanisms inspired by nature and solves problems through processes that emulate the behaviors of living organisms. EA is a component of both evolutionary computing and bio-inspired computing.
EAs are inspired by the concepts in Darwinian Evolution. In EAs, the solutions play the role of individual organisms in a population. The mix of potential solutions to a problem is populated randomly first. Then the population is tested for fitness -- how well and how quickly it solves a problem. Next, the fittest individuals are selected for reproduction. The cycle begins again as the fitness of the population is evaluated and the least fit individuals are eliminated.
As the mechanisms by which EAs work are inspired by evolution and living organisms, functions might include selection, reproduction, mutation
EAs are excellent at optimizing solutions. It is important to note though that while EAs optimize effectively, they don’t necessarily find the optimal solution. Instead, EAs constantly find working solutions and measure performance against one another, which may or may not find the absolute best possible solution. EAs’ relatively high computational requirements, which may also be a consideration, are largely due to the complexity of fitness determination. This complexity can be reduced through fitness approximation.