Genetic Algorithms: The Next Generation 

HOME  SOURCE CODE  SOFTWARE INFO  SUPPORT  CONTACT US 

A genetic algorithm (or GA) is a search technique used in computing to find true or approximate
solutions to optimization and search problems. Genetic algorithms are categorized as global
search heuristics. Genetic algorithms are a particular class of evolutionary algorithms that use
techniques inspired by evolutionary biology such as inheritance, mutation, selection, and crossover
(also called recombination).
Genetic algorithms are implemented as a computer simulation in which a population of abstract representations (called chromosomes or the genotype or the genome) of candidate solutions (called individuals, creatures, or phenotypes) to an optimization problem evolves toward better solutions. 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 happens in generations. In each generation, the fitness of every individual in the population is evaluated, multiple individuals are stochastically selected from the current population (based on their fitness), and modified (recombined and possibly mutated) to form a new population. The new population 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. If the algorithm has terminated due to a maximum number of generations, a satisfactory solution may or may not have been reached. The idea behind GA's is to extract optimization strategies nature uses successfully  known as Darwinian Evolution  and transform them for application in mathematical optimization theory to find the global optimum in a defined phase space. One could imagine a population of individual "explorers" sent into the optimization phasespace. Each explorer is defined by its genes, what means, its position inside the phasespace is coded in his genes. Every explorer has the duty to find a value of the quality of his position in the phase space. (Consider the phasespace being a number of variables in some technological process, the value of quality of any position in the phase space  in other words: any set of the variables  can be expressed by the yield of the desired chemical product.) Then the struggle of "life" begins. The three fundamental principles are:
Only explorers (= genes) sitting on the best places will reproduce and create a new population. This is performed in the second step (Mating/Crossover). The "hope" behind this part of the algorithm is, that "good" sections of two parents will be recombined to yet better fitting children. In fact, many of the created children will not be successful (as in biological evolution), but a few children will indeed fulfill this hope. These "good" sections are named in some publications as building blocks. Now there appears a problem. Repeating these steps, no new area would be explored. The two former steps would only exploit the already known regions in the phase space, which could lead to premature convergence of the algorithm with the consequence of missing the global optimum by exploiting some local optimumy. The third step  the Mutation ensures the necessary accidental effects. One can imagine the new population being mixed up a little bit to bring some new information into this set of genes. Genetic algorithms find application in biogenetics, computer science, engineering, economics, chemistry, manufacturing, mathematics, physics and other fields. 
Genetic Algorithms . It Luigi Rosa mobile +39 3207214179 luigi.rosa@tiscali.it http://www.advancedsourcecode.com 