  in the computer science field of artificial intelligence, a genetic algorithm (ga) is a search heuristic that mimics the process of natural selection. this heuristic (also sometimes called a metaheuristic) is routinely used to generate useful solutions to optimization and search problems. genetic algorithms belong to the larger class of evolutionary algorithms (ea), which generate solutions to optimization problems using techniques inspired by natural evolution, such as inheritance, mutation, selection, and crossover. genetic algorithms find application in bioinformatics, phylogenetics, computational science, engineering, economics, chemistry, manufacturing, mathematics, physics, pharmacometrics and other fields. == methodology == in a genetic algorithm, a population of candidate solutions (called individuals, creatures, or phenotypes) to an optimization problem is evolved toward better solutions. each candidate solution has a set of properties (its chromosomes or genotype) which can be mutated and altered; traditionally, solutions are represented in binary as strings of 0s and 1s, but other encodings are also possible. the evolution usually starts from a population of randomly generated individuals, and is an iterative process, with the population in each iteration called a generation. in each generation, the fitness of every individual in the population is evaluated; the fitness is usually the value of the objective function in the optimization problem being solved. the more fit individuals are stochastically selected from the current population, and each individual's genome is modified (recombined and possibly randomly mutated) to form a new generation. the new generation of candidate solutions is then used in the next iteration of the algorithm. commonly, the algorithm terminates when either a maximum number of generations has been produced, or a satisfactory fitness level has been reached for the population. a typical genetic algorithm requires: # a genetic representation of the solution domain, # a fitness function to evaluate the solution domain. a standard representation of each candidate solution is as an array of bits. arrays of other types and structures can be used in essentially the same way. the mai
Cybernetics Digital_organisms Genetic_algorithms Mathematical_optimization Optimization_algorithms_and_methods Search_algorithms