Evolutionary computation, also referred to as evolutionary AI, is a term that applies to a set of nature-inspired artificial intelligence (AI) algorithms, as well as the computer science field which studies these algorithms. Evolutionary algorithms attempt to solve optimization problems through an iterative process of trial and error. In comparison with neural networks, which are designed to mimic the way a human brain works, evolutionary AI follows a specific pattern to determine the “fittest” elements that will lead to an optimal solution. There are many different techniques that can be used as part of evolutionary computation, such as particle swarm optimization algorithms or genetic programming.
Particle swarm optimization approaches problem solving by having multiple solutions (known as particles), and then moving the particles around a search-space. The particles are guided toward what are believed to be the best available position on each iteration, which moves the entire swarm of particles towards the best solutions. This type of evolutionary optimization is most often used for cost optimization. Genetic algorithms use a population-based system to perform crossover and mutation analysis and arrive at optimized solutions. Just like in biological evolution strategies, genetic algorithms find the most fitting of the iterative “offspring” to reproduce in future generations. These algorithms are the most frequently used type of evolutionary programming, with a series of 19 books published by MIT Press about their uses, which only continues to grow. A common real-world use of genetic programming would be for data and text identification. By looking at large amounts of data and text, it can learn how to classify and interpret them.
Evolutionary AI is often used when attempting to find an optimized solution, rather than a perfect one. Some machine learning techniques will continue to process information over and over until a near-perfect solution is found. These processes are often recursive and will return to past solutions and try to process them in new ways, which can be very time consuming. Evolutionary computation, on the other hand, is iterative, and will continue down its path (without returning to previous points) until an optimal solution is found. This speeds up the analytic process while still arriving at a useful conclusion.
Evolutionary computation techniques are beneficial to businesses and organizations in a number of ways, including: