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.
- Initially several such parameter lists or chromosomesgenerated randomly,form an initial poolpossible solutions. Thiscalledfirst generation pool.
- All ofchromosomesevaluated byfitness function,effectivelypoolsortedthose having better fitness attop, representing better solutions toproblem. Notice that betterthis contextrelative, as initial solutionslikelybe rather poor.
- The first step inconstruction ofnext generation isselectpairchromosomescrossover. Selectionbiased towards elements ofinitial generation which have better fitness, though itusually not so biased that poorer elements have no chanceparticipate. Thereseveral well-defined selection methods; roulette wheel selectiontournament selectionpopular methods.
- Following selection,crossover (or recombination) operationperformed uponselected chromosomes. In general, two parent chromosomeschosenreproducetheir crossover resultstwo new child chromosomes, whichadded tosecond generation pool. Thisrepeated until therean appropriate numbercandidate solutions insecond generation pool.
- The next step ismutatenewly developed pool, again byprocessselection, this timeindividual chromosomes, followed by application ofmutation genetic operator.
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.
- GAs may havetendencyconverge towards local solutions rather than global solutions toproblembe solved
- as time goes on each generation will tendhave multiple copiessuccessful parameter lists, which require evaluation,this can slow downprocessing
- most important genetic operatorsselectioncrossover. Mutationonly necessaryensure that potential solutionsnot lost.
- GAsnot good at finding optimal solutions but can rapidly locate good solutions, evendifficult search spaces.
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
- Goldberg, David E (1989), Genetic AlgorithmsSearch, OptimizationMachine Learning
- Mitchell, Melanie, (1996), An IntroductionGenetic Algorithms, MIT Press, Cambridge, MA Addison-Wesley
External links
- Golem Project - Automatic DesignManufactureRobotic Lifeforms
- IntroductionGenetic Algorithms Using RPL2
