Current Article  

Genetic algorithm

A genetic algorithm (GA)an algorithm usedfind approximate solutionsdifficult-to-solve problems, inspired bynamed after biological processesinheritance, mutation, natural selection, andgenetic crossover that occurs when parents mateproduce offspring. Genetic algorithms areparticular classevolutionary algorithms.

Genetic algorithmstypically implemented ascomputer simulationwhichpopulationabstract representationscandidate solutionsan optimization problemstochastically selected, recombined, mutated,then either eliminated or retained, based on their relative fitnesses.

John Holland waspioneering foundermuchtoday's workgenetic algorithms, which has moved on frompurely theoretical subject (though based on computer modelling),provide methods which can be usedsolve some difficult problems today. Problems which appearbe particularly appropriatesolution by genetic algorithms include timetablingscheduling problems,many scheduling software packagesbased on GAs.

The problembe solvedrepresented bylistparameters which can be useddrive an evaluation procedure. Possible solutions toproblem (referredas chromosomes or genomes)also representedthis parameter list form. These chromosomesevaluated, andvaluegoodness or fitnessreturned.

The next step ofalgorithm isgeneratesecond generation poolparameter lists, whichdone usinggenetic operators selection, crossover (or recombination),mutation.

These processes result insecond generation poolchromosomes thatdifferent frominitial generation, whichthen evaluated andfitness valueseach listobtained. Generallyaverage degreefitness will have increased by this procedure forsecond generation pool.

A slight variantthis methodpool generation isallow some ofbetter chromosomes fromfirst generationcarry over tosecond. This formgenetic algorithmknown as an elite selection strategy.

The process continues by generating third, fourth, fifth,... (and so on) generations, until one ofgenerations contains solutions whichgood enough.

Thereseveral general observationsmake aboutgenerationsolutions.

Italso importantnote that thereseveral different variants ofbasic GA algorithm. The simplest algorithm represents each chromosome asbit string. Typically numeric parameters can be represented by integers, though itpossibleuse floating point representations. The basic algorithm performs crossovermutation atbit level. Other variants treatparameter list as listsnumbers,crossovermutationperformed so asrespect number boundaries. For most data types specific variation operators can be designed.

Genetic algorithmsknownproduce good resultssome problems. Their major disadvantagethat theyrelatively slow, comparedother methods, such as random optimization. Recent speed improvements have focused on speciation, wherein cross-over can only occur if individualsclosely-enough related. Genetic algorithms have been successfully applied tostudyneurological evolution (see NeuroEvolution by Augmented Topologies).

Genetic programming isrelated technique developed by John Koza,which computer programs, rather than function parameters,optimised. Genetic programming often uses tree-based internal data structuresrepresentcomputer programsadaptation instead oflist, or array, structures typicalgenetic algorithms. Genetic programming algorithms typically require running time thatordersmagnitude greater than thatgenetic algorithms, butmay be suitableproblems thatintractablegenetic algorithms.

See also: artificial life, eight queens puzzle, evolutionary computation, genetic programming, fitness landscape, automatic label placement, Neuroevolution, NEAT, bio-inspired computing

References

External links


Copyright 2004. All rights reserved.