Whatisageneticalgorithm?MethodsofrepresentationMethodsofselectionMethodsofchangeOtherproblem-solvingtechniquesConciselystated,ageneticalgorithm(orGAforshort)isaprogrammingtechniquethatmimicsbiologicalevolutionasaproblem-solvingstrategy.Givenaspecificproblemtosolve,theinputtotheGAisasetofpotentialsolutionstothatproblem,encodedinsomefashion,andametriccalledafitnessfunctionthatallowseachcandidatetobequantitativelyevaluated.Thesecandidatesmaybesolutionsalreadyknowntowork,withtheaimoftheGAbeingtoimprovethem,butmoreoftentheyaregeneratedatrandom.TheGAthenevaluateseachcandidateaccordingtothefitnessfunction.Inapoolofrandomlygeneratedcandidates,ofcourse,mostwillnotworkatall,andthesewillbedeleted.However,purelybychance,afewmayholdpromise-theymayshowactivity,evenifonlyweakandimperfectactivity,towardsolvingtheproblem.Thesepromisingcandidatesarekeptandallowedtoreproduce.Multiplecopiesaremadeofthem,butthecopiesarenotperfect;randomchangesareintroducedduringthecopyingprocess.Thesedigitaloffspringthengoontothenextgeneration,forminganewpoolofcandidatesolutions,andaresubjectedtoasecondroundoffitnessevaluation.Thosecandidatesolutionswhichwereworsened,ormadenobetter,bythechangestotheircodeareagaindeleted;butagain,purelybychance,therandomvariationsintroducedintothepopulationmayhaveimprovedsomeindividuals,makingthemintobetter,morecompleteormoreefficientsolutionstotheproblemathand.Againthesewinningindividualsareselectedandcopiedoverintothenextgenerationwithrandomchanges,andtheprocessrepeats.Theexpectationisthattheaveragefitnessofthepopulationwillincreaseeachround,andsobyrepeatingthisprocessforhundredsorthousandsofrounds,verygoodsolutionstotheproblemcanbediscovered.Asastonishingandcounterintuitiveasitmayseemtosome,geneticalgorithmshaveproventobeanenormouslypowerfulandsuccessfulproblem-solvingstrategy,dramaticallydemonstratingthepowerofevolutionaryprinciples.Geneticalgorithmshavebeenusedinawidevarietyoffieldstoevolvesolutionstoproblemsasdifficultasormoredifficultthanthosefacedbyhumandesigners.Moreover,thesolutionstheycomeupwithareoftenmoreefficient,moreelegant,ormorecomplexthananythingcomparableahumanengineerwouldproduce.Insomecases,geneticalgorithmshavecomeupwithsolutionsthatbaffletheprogrammerswhowrotethealgorithmsinthefirstplace!MethodsofrepresentationBeforeageneticalgorithmcanbeputtoworkonanyproblem,amethodisneededtoencodepotentialsolutionstothatprobleminaformthatacomputercanprocess.Onecommonapproachistoencodesolutionsasbinarystrings:sequencesof1'sand0's,wherethedigitateachpositionrepresentsthevalueofsomeaspectofthesolution.Another,similarapproachistoencodesolutionsasarraysofintegersordecimalnumbers,witheachpositionagainrepresentingsomeparticularaspectofthesolution.Thisapproachallowsforgreaterprecisionandcomplexitythanthecomparativelyrestrictedmethodofusingbinarynumbersonlyandoften"isintuitivelyclosertotheproblemspace"(FlemingandPurshouse2002,p.1228).Thistechniquewasused,forexample,intheworkofSteffenSchulze-Kremer,whowroteageneticalgorithmtopredictthethree-dimensionalstructureofaproteinbasedonthesequenceofaminoacidsthatgointoit(Mitchell1996,p.62).Schulze-Kremer'sGAusedreal-valuednumberstorepresenttheso-called"torsionangles"betweenthepeptidebondsthatconnectaminoacids.(Aproteinismadeupofasequenceofbasicbuildingblockscalledaminoacids,whicharejoinedtogetherlikethelinksinachain.Oncealltheaminoacid...