MarketEvolutionary computation
Company Profile

Evolutionary computation

Evolutionary computation from computer science is a family of algorithms for global optimization inspired by biological evolution, and a subfield of computational intelligence and soft computing studying these algorithms. In technical terms, they are a family of population-based trial and error problem solvers with a metaheuristic or stochastic optimization character.

History
The concept of mimicking evolutionary processes to solve problems originates before the advent of computers, such as when Alan Turing proposed a method of genetic search in 1948 . Turing's B-type u-machines resemble primitive neural networks, and connections between neurons were learnt via a sort of genetic algorithm. His P-type u-machines resemble a method for reinforcement learning, where pleasure and pain signals direct the machine to learn certain behaviors. However, Turing's paper went unpublished until 1968, and he died in 1954, so this early work had little to no effect on the field of evolutionary computation that was to develop. Evolutionary computing as a field began in earnest in the 1950s and 1960s. In 1962, Lawrence J. Fogel initiated the research of Evolutionary Programming in the United States, which was considered an artificial intelligence endeavor. In this system, finite state machines are used to solve a prediction problem: these machines would be mutated (adding or deleting states, or changing the state transition rules), and the best of these mutated machines would be evolved further in future generations. The final finite state machine may be used to generate predictions when needed. The evolutionary programming method was successfully applied to prediction problems, system identification, and automatic control. It was eventually extended to handle time series data and to model the evolution of gaming strategies. Initially, this optimization technique was performed without computers, instead relying on dice to determine random mutations. By 1965, the calculations were performed wholly by machine. While the other approaches were focused on solving problems, Holland primarily aimed to use genetic algorithms to study adaptation and determine how it may be simulated. Populations of chromosomes, represented as bit strings, were transformed by an artificial selection process, selecting for specific 'allele' bits in the bit string. Among other mutation methods, interactions between chromosomes were used to simulate the recombination of DNA between different organisms. While previous methods only tracked a single optimal organism at a time (having children compete with parents), Holland's genetic algorithms tracked large populations (having many organisms compete each generation). By the 1990s, a new approach to evolutionary computation that came to be called genetic programming emerged, advocated for by John Koza among others. Another pioneer in the 1950s was Alex Fraser, who published a series of papers on simulation of artificial selection. As academic interest grew, dramatic increases in the power of computers allowed practical applications, including the automatic evolution of computer programs. Evolutionary algorithms are now used to solve multi-dimensional problems more efficiently than software produced by human designers, and also to optimize the design of systems. == Techniques ==
Techniques
Evolutionary computing techniques mostly involve metaheuristic optimization algorithms. Broadly speaking, the field includes: • Agent-based modelingAnt colony optimizationParticle swarm optimizationSwarm intelligenceArtificial immune systems • Artificial lifeDigital organismCultural algorithms • Differential evolutionDual-phase evolutionEstimation of distribution algorithmEvolutionary algorithmGenetic algorithmEvolutionary programmingGenetic programmingGene expression programmingGrammatical evolutionEvolution strategyLearnable evolution modelLearning classifier systemMemetic algorithmsNeuroevolutionSelf-organization such as self-organizing maps, competitive learning Over recent years many dubious algorithms have been proposed, that are often just copies of existing algorithms (frequently Particle Swarm Optimization), where only the metaphor changed, but the algorithm itself is not new at all. A thorough catalogue with many of these dubious algorithms has been published in the Evolutionary Computation Bestiary. It is also important to note that many of these dubiously 'novel' algorithms have poor experimental validation. == Evolutionary algorithms ==
Evolutionary algorithms
Evolutionary algorithms form a subset of evolutionary computation in that they generally only involve techniques implementing mechanisms inspired by biological evolution such as reproduction, mutation, recombination and natural selection. Candidate solutions to the optimization problem play the role of individuals in a population, and the cost function determines the environment within which the solutions "live" (see also fitness function). Evolution of the population then takes place after the repeated application of the above operators. In this process, there are two main forces that form the basis of evolutionary systems: Recombination (e.g. crossover) and mutation create the necessary diversity and thereby facilitate novelty, while selection acts as a force increasing quality. Many aspects of such an evolutionary process are stochastic. Changed pieces of information due to recombination and mutation are randomly chosen. On the other hand, selection operators can be either deterministic, or stochastic. In the latter case, individuals with a higher fitness have a higher chance to be selected than individuals with a lower fitness, but typically even the weak individuals have a chance to become a parent or to survive. Evolutionary algorithms and biology Genetic algorithms deliver methods to model biological systems and systems biology that are linked to the theory of dynamical systems, since they are used to predict the future states of the system. This is just a vivid (but perhaps misleading) way of drawing attention to the orderly, well-controlled and highly structured character of development in biology. However, the use of algorithms and informatics, in particular of computational theory, beyond the analogy to dynamical systems, is also relevant to understand evolution itself. This view has the merit of recognizing that there is no central control of development; organisms develop as a result of local interactions within and between cells. The most promising ideas about program-development parallels seem to us to be ones that point to an apparently close analogy between processes within cells, and the low-level operation of modern computers. Thus, biological systems are like computational machines that process input information to compute next states, such that biological systems are closer to a computation than classical dynamical system. Furthermore, following concepts from computational theory, micro processes in biological organisms are fundamentally incomplete and undecidable (completeness (logic)), implying that “there is more than a crude metaphor behind the analogy between cells and computers. The analogy to computation extends also to the relationship between inheritance systems and biological structure, which is often thought to reveal one of the most pressing problems in explaining the origins of life. Evolutionary automata, a generalization of Evolutionary Turing machines, have been introduced in order to investigate more precisely properties of biological and evolutionary computation. In particular, they allow to obtain new results on expressiveness of evolutionary computation. This confirms the initial result about undecidability of natural evolution and evolutionary algorithms and processes. Evolutionary finite automata, the simplest subclass of Evolutionary automata working in terminal mode can accept arbitrary languages over a given alphabet, including non-recursively enumerable (e.g., diagonalization language) and recursively enumerable but not recursive languages (e.g., language of the universal Turing machine). == Notable practitioners ==
Notable practitioners
The list of active researchers is naturally dynamic and non-exhaustive. A network analysis of the community was published in 2007. • Kalyanmoy DebKenneth A De JongPeter J. FlemingDavid B. FogelStephanie ForrestDavid E. GoldbergJohn Henry HollandTheo JansenJohn KozaZbigniew MichalewiczMelanie MitchellPeter NordinRiccardo PoliIngo RechenbergHans-Paul Schwefel ==Publications==
Publications
Journals While articles on or using evolutionary computation permeate the literature, several journals are dedicated to evolutionary computation: • Evolutionary Computation (journal) (founded 1993, MIT Press) • Artificial Life (journal) (founded 1993, MIT Press) • IEEE Transactions on Evolutionary Computation (founded 1997, IEEE) • Genetic Programming and Evolvable Machines (founded 2000, Springer Nature) • Swarm Intelligence (founded 2007, Springer Nature) • Evolutionary Intelligence (founded 2008, Springer Nature) • Journal of Artificial Evolution and Applications (2008–2010, Hindawi) • Memetic Computing (founded 2009, Springer Nature) • International Journal of Applied Evolutionary Computation (founded 2010, :fr:IGI Global) • Swarm and Evolutionary Computation (founded 2011, Elsevier) • International Journal of Swarm Intelligence and Evolutionary Computation (founded 2012, Walsh Medical Media) Conferences The main conferences in the evolutionary computation area include • ACM Genetic and Evolutionary Computation Conference (GECCO), • IEEE Congress on Evolutionary Computation (CEC), • EvoStar, which comprises four conferences: EuroGP, EvoApplications, EvoCOP and EvoMUSART, • Parallel Problem Solving from Nature (PPSN). == See also ==
tickerdossier.comtickerdossier.substack.com