In the field of artificial intelligence, the evolutionary algorithm (EA) is a subset of the calculations of the total population based on metaheuristic optimization. EA uses mechanisms inspired by biological development, such as reproduction, mutation, recombination, and selection. The candidate solution in the problem of evolutionary optimization algorithms plays the role of individuals in the population. Also, the fitness function determines the quality of the responses.
Evolutionary algorithms often approximate well solutions to all types of problems. Because ideally they don’t make any assumptions about the basic fitness landscape. The methods used for evolutionary modeling and genetic algorithms are usually limited to studies of microevolutionary processes and planning models based on cell stages. In most real-life expert advisor applications, the complexity of the calculations is a prohibition factor.
In fact, this problem is associated with the assessment of fitness function. Fitness approximation is one solution to overcome this difficulty. However, a seemingly simple EA can solve often complex problems. Therefore, there can be no direct connection between sequence complexity and problem. More details can be found in the books “Evolutionary Algorithms”.
Implementation
Step One is to create an initial population of individuals in random order.
The second step is the assessment of the suitability of each individual in this group (time limit, sufficient preparedness, etc.).
Step Three - Repeat the following regeneration points until completion:
- Choose the most suitable people for breeding (parents).
- Bring out new individuals that have passed the evolutionary algorithm using crossover and mutation to get offspring.
- Assess the individual suitability of new people.
- Replace the least fit population with them.
Types
A genetic algorithm is an evolutionary sequence, the most popular type of advisor. We seek a solution to the problem in the form of strings of numbers (traditionally binary, although the best representations are usually those that reflect more in the problem to be solved) by applying operators such as recombination and mutation (sometimes one, in some cases both). This type of advisor is often used in optimization tasks. Another name for this is fetura (from Latin "birth"):
- Genetic programming. It presents solutions in the form of computer codes, and their suitability is determined by their ability to perform computational tasks.
- Evolutionary programming. Similar to the evolutionary genetic algorithm, but the structure is fixed and its numerical parameters can change.
- Programming gene expression. Develops computer applications, but explores the genotype-phenotype system, where projects of different sizes are encoded in linear chromosomes of a fixed length.
- Strategy. Works with real vectors as representations of solutions. Usually uses self-adaptive evolutionary mutation rate algorithms.
- Differential development. Created on the basis of vector differences and, therefore, is primarily suitable for problems of numerical optimization.
- Neuroevolution. Similar to evolutionary programming and genetic algorithms. But the latter are artificial neural networks, describing the structure and weight of the compounds. Genome encoding can be direct or indirect.
Comparison with biological processes
A possible limitation of many evolutionary algorithms is the lack of a clear distinction between genotype and phenotype. In nature, a fertilized egg undergoes a complex process known as embryogenesis to mature. It is believed that this indirect coding makes genetic search more reliable (that is, reduces the likelihood of fatal mutations), and can also improve the body's ability to develop. Such indirect (in other words, generating or developing) encodings also allow evolution to exploit regularity in the environment.
Recent work in the field of artificial embryogenesis or development systems seeks to solve these problems. When programming gene expression, the region of the genotype-phenotype is successfully studied, where the first consists of linear multigene chromosomes of a fixed length, and the second consists of many expression trees or computer programs of various sizes and shapes.
Related Techniques
Algorithms include:
- Optimize colony of ants. It is based on the idea of finding food by insects using a connection with pheromones to form pathways. It is primarily suitable for combinatorial optimization and graph problems.
- The root runner algorithm. The creator was inspired by the function of plant roots in nature.
- Algorithm of artificial bee families. Based on the behavior of honey bees. It is primarily proposed for numerical optimization and expanded to solve combinatorial, limited and multi-purpose problems. The bees algorithm is based on the foraging behavior of insects. It has been applied in many applications, such as routing and scheduling.
- Optimization of a swarm of particles - based on the ideas of behavior of a herd of animals. And also primarily suitable for the tasks of the numerical process.
Other population metaheuristic methods
- Hunting search. A method based on group fishing by certain animals, such as, for example, wolves, which distribute their duties to surround prey. Each of the members of the evolutionary algorithm refers to the others in some way. This is especially true for the leader. This is a continuous optimization method adapted as a method of combinatorial process.
- Search by measurements. Unlike metaheuristic methods based on nature, the algorithm for adaptive processes does not use a metaphor as a basic principle. Rather, he uses a simple performance-oriented method based on updating the search dimension relationship parameter at each iteration. The Firefly algorithm is inspired by the behavior of fireflies attracting each other with a blinking light. This is especially useful for multimodal optimization.
- Search for harmony. Based on the ideas of the behavior of musicians. In this case, evolutionary algorithms are a method that is suitable for combinatorial optimization.
- Gaussian adaptation. Based on information theory. Used to maximize productivity and medium suitability. An example of evolutionary algorithms in this situation: entropy in thermodynamics and information theory.
Memetic
A hybrid method based on Richard Dawkins's idea of a meme. It usually takes the form of an aggregate-based algorithm in combination with individual training procedures capable of performing local refinements. It emphasizes the use of problem-specific knowledge and tries to organize a refined and global search in a synergistic way.
Evolutionary algorithms represent a heuristic approach to problems that cannot be easily solved in polynomial time, such as classically NP-complex problems and everything else that takes too much for exhaustive processing. When used independently, they are usually used for combinatorial tasks. However, genetic algorithms are often used in tandem with other methods, acting as a quick way to find a few optimal starting places for work.
The premise of an evolutionary algorithm (known as an adviser) is quite simple, given that you are familiar with the natural selection process. It contains four main steps:
- initialization;
- choice;
- genetic operators;
- completion.
Each of these steps approximately corresponds to a certain aspect of natural selection and provides simple methods for modular implementation of this category of algorithms. Simply put, in EA, more fit members will survive and multiply, while unsuitable members will die and not contribute to the gene pool of subsequent generations.
Initialization
To start the algorithm, you must first create a set of solutions. The population will contain an arbitrary number of possible solutions to the problem, often called participants. They are often created randomly (within the limits of the problem) or, if some prior knowledge is known, tentatively concentrated around the one that is considered ideal. It is important that the population covers a wide range of solutions, because it essentially represents the gene pool. Therefore, if you need to explore many different possibilities within the framework of the algorithm, you need to strive to have many different genes.
The choice
Once a population has been created, its members should now be evaluated according to the suitability function. The fitness function takes on the characteristics of a member and gives a numerical idea of how viable it is. Creating them can often be very difficult. It is important to find a good system that accurately represents the data. This is very problem specific. Now you need to calculate the suitability of all participants and select some of the best members.
Multiple Target Functions
Advisers can also be expanded to use these systems. This complicates the process somewhat, because, instead of identifying one optimal point, a set is obtained when using them. The set of solutions is called the Pareto boundary and contains elements that are equally suitable in the sense that none of them dominates any other.
Genetic Operators
This step includes two sub-steps: crossover and mutation. After choosing the best members (usually the top 2, but this number can vary), they are now used to create the next generation in the algorithm. Applying the characteristics of the selected parents, new children are created, which are a mixture of qualities. This can often be difficult depending on the type of data, but usually in combinatorial problems it is quite realistic to mix and output real combinations.
Now you need to introduce new genetic material into the generation. If you do not take this important step, then the scientist will get stuck at local extremes very quickly and will not get optimal results. This step is a mutation, and it is done quite simply, changing a small part of the children so that they do not predominantly reflect the subsets of the genes of the parents. Mutation usually occurs probabilistically, since the possibility that the child will receive it, as well as its severity, is determined by the distribution.
Termination
In the end, the algorithm should end. Usually this happens in two cases: either it reached a certain maximum runtime, or the performance threshold. At this point, the final decision is selected and returned.
Evolutionary Algorithm Example
Now, to illustrate the result of this process, you need to look at the adviser in action. For this, we can recall how several generations of dinosaurs learned to walk (gradually mastering the land), optimizing the structure of their body and applying muscle strength. Despite the fact that the reptiles of the early generation could not walk, the adviser was able to evolve them over time through mutation and crossover into a form that can walk.
These algorithms are becoming increasingly relevant in the modern world, since solutions based on them are being increasingly used in industries such as digital marketing, finance and healthcare.
Where are EA used?
In a broader sense, evolutionary algorithms are used in a wide variety of applications, such as image processing, vehicle routing, mobile optimization, software development, and even artificial neural network training. These tools are at the core of many apps and websites that people use every day, including Google Maps and even games like The Sims. In addition, the medical field uses EA to help make clinical decisions about cancer treatment. In fact, evolutionary algorithms are so reliable that they can be used to solve almost any optimization problem.
Moore's Law
The growing prevalence of EO is due to two main factors: available computing power and the accumulation of large data sets. The first can be described by Moore’s Law, which essentially states that the amount of computing power of a computer doubles approximately every two years. This forecast holds for decades. A second factor is the growing reliance on technology, which allows institutions to collect an incredibly large amount of data, allowing them to analyze trends and optimize products.
How evolutionary algorithms can help marketers?
Market conditions are rapidly changing and very competitive. This made marketing managers compete for better decision making. The increase in available computing power has led workers to use EA for problem solving.
Conversion Optimization
One of the main goals is to increase the rate of visitors to the site. This problem comes down to optimizing the number of users who do what the marketer wants. For example, if a company sells laptops, ideally it is necessary to increase the number of website visitors who ultimately buy the product. This is the essence of the conversion rate optimization.
One of the surprisingly important aspects is the choice of user interface. If web design is not very user-friendly, there are those who end up not buying the product for one reason or another. Then the goal is to reduce the number of users who ultimately are not converted, which increases the overall profit.