Evolutionary Computation: Putting Nature to Work

Evolutionary Algorithms indicate a subset of evolutionary computation, which is a part of artificial intelligence . It is a generic term used to indicate any population-based metaheuristic optimisation algorithm that uses mechanisms inspired by biological evolution, such as reproduction, mutation, recombination, natural selection and survival of the fittest .


A Genetic programmer

If we strip evolution down to its essence, we see that it's a never-ending two-step process of random variation and natural selection. Genetic changes that arise from mutations and recombination portend new behaviours, which are then tested in light of current environmental demands. Selection eliminates individuals that do not meet those demands, and the process iterates.


The basic steps of evolution provide a prescription for writing an algorithm that follows a similar procedure, that is, an "evolutionary algorithm". Problem solving using Evolutionary Algorithms follows a method as illustrated in the diagram below:


© www.genetic-programming.com
Flowchart
© www.genetic-programming.com

A genetic algorithm (GA) is a search technique used in computer science to find approximate solutions to optimization and search problems. Genetic algorithms are a particular class of evolutionary algorithms that use techniques inspired by evolutionary biology.

Genetic algorithms are typically implemented as a computer simulation in which a population of abstract representations (called chromosomes) of candidate solutions (called individuals) to an optimization problem evolves toward better solutions. Traditionally, solutions are represented in binary as strings of 0s and 1s, but different encodings are also possible. The evolution starts from a population of completely random individuals and happens in generations. In each generation, the fitness of the whole population is evaluated, multiple individuals are stochastically selected from the current population (based on their fitness), modified (mutated or recombined) to form a new population, which becomes current in the next iteration of the algorithm.

Genetic Algorithms combined with its chief application, Genetic Programming has provided numerous accurate results to abstract problems in fields as diverse as engineering, art, biology, economics, genetics, operations research, robotics, social sciences, physics, chemistry and others.



Browsing The Website

This website provides a detailed account of Genetic Algorithms and Genetic Programming. These core areas have been sub-divided into 3 main categories: