Evolutionary Algorithms
Alejandro Garcia
Introduction
In a world driven by technology, computational decision making has increased in significance. Forms of artificial intelligence are used in many different fields to aid solve optimization and decision making problems. First conceptualized in the 1960s, evolutionary algorithms aimed at increasing efficiency for a given task using quantitative ranking of a set of given characteristics. Similar to Charles Darwin’s research into evolution and Gene Selection Theory, evolutionary algorithms operate on the same basic principles of reproduction, mutation,
recombination, and selection whereby the performance of an individual is shaped by the performance of each collective previous generation. Combined, these metaheuristic algorithms aim to train future generations and produce an optimal solution for a given task. Such genetic algorithms have proved especially useful in unconventional applications such as finance where a mechanism can evolve more rapidly than conventional approaches to produce an efficient solution to a problem. Across the board, evolutionary algorithms are demonstrating significant capabilities in generating optimal algorithmic solutions to traditionally complex problems by applying concepts of Gene Selection Theory and survival of the fittest.
History
The history of evolutionary algorithms is recent. There are key names and things that they have produced that have added greatly to this history. It starts about as recently as the 1950s in which Hans-Joachin Bremermann and Richard Friedberg did research regarding evolution and computer science. 3They published a series of papers that adopted a population of solutions to optimization problems undergoing recombination, mutation, and selection; however, no one understood the scope of their research until nearly two decades later. This is due to poor implementation of their research and inadequate computer technology. Later in the 1960s, it was realized that there was a single evolutionary algorithm being created, opening the doors into research for genetic algorithms and evolutionary programming. 4John Henry Holland became known as the founder of genetic algorithms which translates roughly into creating code that mimics sexually reproducing organisms. He was the one to think about using computers to analyze complex adaptive systems that would continually evolve through the spontaneous interaction and develop multiple organizational levels (think: the human brain, ant colonies, etc.). In essence, John Henry Holland was the one who taught computers how to have sex. His research offered valuable insight into complex systems like our own. His research helped evolutionary biology and hence, the genetic algorithm. The genetic algorithm is best described as a method for solving optimization problems that are rooted in the Darwinian idea of natural selection. This ended up showing how a population will, over the course of several generations, slowly move towards an optimal solution.
Following Holland, in the mid 1960s, Lawrence J. Fogel left General Dynamics to shape another organization, Natural Selection Inc, explicitly for uses of developmental programming. While at Natural Selection, Fogel's research intended to help in care of advancement issues, as hereditary calculations. To begin, an introductory populace of potential arrangements is picked indiscriminately, that is to say the quantity of which decides how rapidly streamlining can happen. These arrangements are then reproduced into another populace, which has its hereditary qualities changed (Each depending on the parent). Each time posterity is delivered, a decision is made about the dependence on its wellness rating (Where solutions are discarded or kept). The procedure proceeds until advancement is completely figured out. Developmental programming puts more noteworthiness on the connections between the practices of the parent and the posterity, as opposed to simply attempting to get the best qualities to carry on over generations.5 As scholarly intrigue developed, sensational increments in the intensity of computers permitted down to earth applications, including the programmed advancement of computer software programs. Evolutionary calculations are currently used to take care of multi-dimensional issues more productively than programming delivered by human planners, and furthermore to streamline the structure of frameworks.6 Buzz words in the computer science realm such as reinforcement learning, neural networks, and computer vision all branch from mathematical models represented through evolutionary algorithms (Mathematical models included dynamic optimization problems, observational data sets, and convolutional neural networks). Interesting enough, all the above techniques of taking care of enhancement issues were created autonomously. Creating an all new world of technologies, that individuals utilize on a day to day basis.
Model Derivation
Evolutionary algorithms are derived from principles of Gene Selection Theory and utilize population based natural evolution. Internally as an algorithm evolves over time, a population each with a different set of characteristics is exposed to a simulation of the environment in which they are expected to perform an optimized task.1 Each individual’s fitness is then ranked according to its performance the task during the simulation and the gene selection process takes over. During the selection process, individuals may reproduce, mutate, or recombine, then selection creates the next generation of individuals.
The selection and breeding process aims at creating a genetically diverse set of algorithms whereby only the genetic traits of the “fittest” algorithms survive. Additional genetic variation is also introduced through recombination and mutation which can prevent the algorithm from settling on a local solution.2 This natural evolutionary process is what evolutionary algorithms are derived from. As each generation passes on its traits, a new set of genetic variants are produced. However, each new genetic variant is not guaranteed to produce a more optimal solution. Instead the superior variants are selected and used to pass on their genetic material to future generations, therefore removing unfavorable genetic combinations.2 As the cyclical evolution process occurs, each new generation will contain the most favorable genetic material from its parent generations.
References
and Current State. IEEE Transactions on Evolutionary Computation.
https://ieeexplore.ieee.org/document/585888
Evolutionary Programming, Genetic Algorithms. New York: Oxford University Press.
https://searchworks.stanford.edu/view/3101771