What is evolutionary algorithm?
An evolutionary algorithm is considered to be a component of evolutionary computation in artificial intelligence. An evolutionary algorithm works through the selection process in which the least matched members of the population set are eliminated while the matched members can survive and continue until better solutions are determined.
In other words, evolutionary algorithms are computer applications that mimick biological processes to solve complex problems. Over time, the successful members evolve to present the optimized solution to the problem.
Evolutionary algorithms use concepts in biology such as selection, reproduction, and mutation. There are three basic types of evolutionary algorithms, namely:
- Genetic algorithms
- Evolutionary programming
- Evolutionary strategies
In contrast to conventional optimization techniques, evolutionary algorithms rely on random samples. An evolutionary algorithm has a population of candidate solutions, as opposed to classical methods that try to maintain a single best solution. There are two requirements for evolutionary algorithms:
- The candidate solutions must be coded for the problem.
- A fitness function must return a value between 1 and 100 so that evolutionary algorithms can be better applied to the problems.
There are many advantagesassociated with evolutionary algorithms. One of the greatest advantages is the gain in flexibility, since most evolutionary algorithm concepts are also suitable for complex problems. Most evolutionary algorithms are capable of accomplishing the goal. Better optimization is possible with evolutionary algorithms, as the solution population prevents the algorithm from being locked in a particular solution.
There are a few disadvantageassociated with evolutionary algorithms. For one thing, the solution provided by an evolutionary algorithm is only better compared to other known solutions. Thus, the algorithm cannot prove that one solution is completely optimal, only that it is optimal compared to the other results.