A genetic algorithm is a special type of computational optimization process modeled on genetics that specifically employs a highly distributed and iterative procedure called ‘natural selection’ across a large population of genes. Genetic algorithms computationally demonstrate the powerful advantages of encoding Intelligence in a distributed variable population, in the same way genetic processes encode Intelligence in biological genes [7].
Genetic algorithms work by evolving a population of candidate genetic solutions to a problem over multiple generations, using a fitness function to evaluate the quality of each candidate genetic solution.
By way of example for Humans, each candidate genetic solution is a genetically programmed and grown living Human, within the current world population of 8 billion. Each Human is able to learn, solve problems in order to survive and prosper, and preferentially sexually reproduce to create part of a new generation of Humans that contain combined parts of genetic programs from the original sexually paired Humans.
Computationally, a genetic algorithm begins by generating an initial population of candidate solutions, where each candidate solution starts with a randomized set of parameters that represent various traits of each candidate solution in the population.
A fitness function is defined by the operator of the genetic algorithm, which is based on solving some specific computational and measurable problem.
For each generation of candidate solutions within the population, the fitness function is then used to evaluate the quality of every candidate solution, assigning a numeric fitness score to each candidate based on how well each candidate performs on the problem being solved.
The best-performing candidate solutions with the highest fitness scores are then preferentially selected for a process called reproduction crossover. This is where the parameters contained in pair of candidate solutions (ie. pair of genetically encoded programs), each with high fitness values, are randomly split, crossed over, and recombined to generate a new population of candidate solutions.
A very small subset of the entire population of new candidate solutions will have minute parts of its parameters randomly modified in order to intentionally create a tiny random genetic mutation within the entire population. This is done deliberately in order to randomly broaden the ability to find new and better solutions.
This process of candidate mutation, fitness selection, reproduction crossover, and recombination, is repeated for multiple successive generations of populations, which can be billions of times, with the objective goal being that the overall population of candidate solutions will converge towards an optimal solution to the problem that is being solved.
Reference: [112] Genetic Algorithms Explained by Example - Kie Codes - Published: 14 Jul 2020
A genetic algorithm computationally performs the core essence of ‘natural selection’ or ‘survival of the fittest’.
One very important advantage of genetic algorithms is their ability to leverage a property called ‘implicit parallelism’ that is functionally contained within their procedural approach to finding optimized solutions. The fitness function can computationally evaluate all candidate solutions in parallel across an entire population, potentially using billions of candidate solutions. Due to the fact that so many candidate solutions can be generated and evaluated in each successive generation, genetic algorithms can be functionally designed to explore extremely large solution spaces very quickly and efficiently.
Genetic algorithms are a powerful and flexible approach to finding solutions to extremely large and complex optimization problems, and critically, with each new generation of candidate solutions, the genetics will statistically carry increasingly greater parametric encoded Intelligence from one generation to the next. The generations can become more Intelligent for survival and growth with every new generation. Genetic algorithms have applications in a wide range of fields, including engineering, computer science, finance, and most dangerously, AI.
The direct application of genetic algorithms to the development of successive generations of improved AI on the most extreme High Performance Computers available today may be the most dangerous action that Humans ever undertake. Because, it may be the last.