introduction to genetic algorithm - niordckarafarin.niordc.ir/uploads/94_79_ga.pdf§§genetic...
TRANSCRIPT
Introduction toIntroduction toGenetic AlgorithmGenetic Algorithm
By: J. Ivakpour
Introduction to GAIntroduction to GA§§ IntroductionIntroduction§§ OverviewOverview§§ TerminologyTerminology§§ Designing of GADesigning of GA§§ GA’s OperatorsGA’s Operators§§ ExampleExample§§ Genetic ProgrammingGenetic Programming§§ ConclusionConclusion§§ ReferencesReferences
33
locallocal
globalglobal
introduction to GA to GAintroduction to GA to GA: Hill Climbing: Hill Climbing
§§ MultiMulti--climbersclimbers
introduction to GA to GAintroduction to GA to GA: Hill Climbing: Hill Climbing
§§ Genetic algorithmGenetic algorithm
I am not at the top.I am not at the top.My high is better!My high is better!
I am at theI am at thetoptop
Height is ...Height is ...
I will continueI will continue
introduction to GA to GAintroduction to GA to GA: GA: GA
§§ Genetic algorithmGenetic algorithm -- few microseconds afterfew microseconds after
introduction to GAintroduction to GA: GA: GA
§§ A class of probabilistic optimizationA class of probabilistic optimizationalgorithmsalgorithms§§ Inspired by the biological evolution processInspired by the biological evolution process§§ Uses concepts of “Natural Selection” andUses concepts of “Natural Selection” and
“Genetic Inheritance” (Darwin“Genetic Inheritance” (Darwin 18591859))§§ Originally developed by John Holland (Originally developed by John Holland (19751975))
introduction to GAintroduction to GA: OVERVIEW: OVERVIEW
v Goal of natural evolution – to generate a population ofindividuals with increasing fitness (increasing ability to survive andreproduce in a specific environment)
v Evolutionary computation simulates the natural evolution on acomputer
v Goal of evolutionary computation - to generate a set ofsolutions (to a problem) of increasing quality
introduction to GAintroduction to GA: Evolutionary Computation: Evolutionary Computation
v Chromosome – representation of the candidate solution
encoding
v Gene – constituent entity of the chromosome
v Population – set of individuals/chromosomes
v Individual – candidate solution to a problemdecoding
v Fitness function – representation of how good a candidatesolution is
v Genetic operators – operators applied on chromosomes in orderto create genetic variation (other chromosomes)
Terminology
introduction to GAintroduction to GA: GA: GA
introduction to GAintroduction to GA: GA: GA
EVOLUTIONEVOLUTION
EnvironmentEnvironment
IndividualIndividual
FitnessFitness
PROBLEM SOLVINGPROBLEM SOLVING
ProblemProblem
Candidate SolutionCandidate Solution
QualityQuality
introduction to GAintroduction to GA: Metaphor: Metaphor
Initialize the populationInitialize the population
Select individuals for the mating poolSelect individuals for the mating pool
Perform crossoverPerform crossover
Insert offspring into the populationInsert offspring into the population
The EndThe End
Perform mutationPerform mutation
yesyes
nonoStop?Stop?
introduction to GAintroduction to GA: Flowchart: Flowchart
ll HowHow toto representrepresent genomes?genomes?ll How to define the crossover operator?How to define the crossover operator?ll How to define the mutation operator?How to define the mutation operator?ll How to define fitness function?How to define fitness function?ll How to generate next generation?How to generate next generation?ll How to define stopping criteria?How to define stopping criteria?
introduction to GAintroduction to GA: Designing GA: Designing GA
RepresentationRepresentation ExampleExample
stringstring 1 0 1 1 1 0 0 11 0 1 1 1 0 0 1
array of stringsarray of strings http avala yubc net ~apopovichttp avala yubc net ~apopovic
treetree -- genetic programminggenetic programming>>
bbxorxor
oror
cc
bbaa
introduction to GAintroduction to GA: Representing Genomes: Representing Genomes
§§ Crossover is concept from genetics.Crossover is concept from genetics.§§ Crossover combines genetic material from twoCrossover combines genetic material from two
parents,parents,in order to produce superior offspring.in order to produce superior offspring.
§§ Few types of crossover:Few types of crossover:§§ OneOne--pointpoint§§ Multiple point.Multiple point.
introduction to GAintroduction to GA: Crossover: Crossover
Parent #Parent #11 Parent #Parent #22
00
11
55
33
55
44
77
66
77
66
22
44
22
33
00
11
introduction to GAintroduction to GA: One: One--point Crossoverpoint Crossover
Offspring #Offspring #11 Offspring #Offspring #22
00
11
55
33
55
44
77
66
77
66
22
44
22
33
00
11
introduction to GAintroduction to GA: One: One--point Crossoverpoint Crossover
§§ Mutation introduces randomness into theMutation introduces randomness into thepopulation.population.§§ The idea of mutationThe idea of mutation
is to reintroduce divergenceis to reintroduce divergenceinto a converging population.into a converging population.§§ Mutation is performedMutation is performed
on small part of population,on small part of population,in order to avoid entering unstable state.in order to avoid entering unstable state.
introduction to GAintroduction to GA: Mutation: Mutation
11 11 00 11 00 1100 00
00 11 00 11 00 1100 11
11 00
00 11
ParentParent
ChildChild
introduction to GAintroduction to GA: Mutation: Mutation
Phenotype
D
Phenotype
D
Phenotype
D
SelectionSelection MutationMutation
Solution distributionSolution distribution
introduction to GAintroduction to GA: Mutation and Selection: Mutation and Selection
§§ Average probability for individual to crossoverAverage probability for individual to crossoveris, in most cases, aboutis, in most cases, about 8080%.%.
§§ Average probability for individual to mutateAverage probability for individual to mutateis aboutis about 11--22%.%.
§§ Probability of genetic operatorsProbability of genetic operatorsfollow the probability in natural systems.follow the probability in natural systems.
§§ The better solutions reproduce more often.The better solutions reproduce more often.
introduction to GAintroduction to GA: About Probabilities: About Probabilities
introduction to GAintroduction to GA: Typical Run: Typical Run
§§ Fitness function is evaluation function,Fitness function is evaluation function,that determines what solutions are better thanthat determines what solutions are better thanothers.others.§§ Fitness is computed for each individual.Fitness is computed for each individual.§§ Fitness function is application depended.Fitness function is application depended.
introduction to GAintroduction to GA: Fitness Function: Fitness Function
§§ The selection operation copies a single individual,The selection operation copies a single individual,probabilistically selected based on fitness,probabilistically selected based on fitness,into the next generation of the population.into the next generation of the population.
§§ There are few possible ways to implement selection:There are few possible ways to implement selection:§§ “Only the strongest survive”“Only the strongest survive”§§ Choose the individuals with the highest fitnessChoose the individuals with the highest fitness
for next generationfor next generation§§ “Some weak solutions survive”“Some weak solutions survive”§§ Assign a probability that a particular individualAssign a probability that a particular individual
will be selected for the next generationwill be selected for the next generation§§More diversityMore diversity§§ Some bad solutions might have good parts!Some bad solutions might have good parts!
introduction to GAintroduction to GA:: SelectionSelection
00..9393 00..5151 00..7272 00..3131 00..1212 00..6464
Previous generationPrevious generation
Next generationNext generation
00..9393 00..7272 00..6464
introduction to GAintroduction to GA: Selection: Selection -- Survival of The StrongestSurvival of The Strongest
00..9393 00..5151 00..7272 00..3131 00..1212 00..6464
Previous generationPrevious generation
Next generationNext generation
00..9393 00..7272 0.640.64 00..1212
00..1212
introduction to GAintroduction to GA: Selection: Selection -- Some Weak Solutions SurviveSome Weak Solutions Survive
©http://www.softchitech.com/ec_intro_html
introduction to GAintroduction to GA:: Roulette Wheel Selection
§§ Final problem is to decideFinal problem is to decidewhen to stop execution of algorithm.when to stop execution of algorithm.
§§ There are two possible solutionsThere are two possible solutionsto this problem:to this problem:§§ First approach:First approach:§§ Stop after productionStop after production
of definite number of generationsof definite number of generations§§ Second approach:Second approach:§§ Stop when the improvement in averageStop when the improvement in average
fitnessfitnessover two generations is below a thresholdover two generations is below a threshold
introduction to GAintroduction to GA: Stopping Criteria: Stopping Criteria
v Problem definitionv Encoding of the
candidate solutionv Fitness definitionv Runv Decoding the best fitted
chromosome = solution
introduction to GAintroduction to GA: Genetic Algorithm: Genetic Algorithm
Phases in optimizing on aPhases in optimizing on a 11--dimensional fitnessdimensional fitnesslandscapelandscape
Early phase:quasi-random population distribution
Mid-phase:population arranged around/on hills
Late phase:population concentrated on high hills
introduction to GAintroduction to GA: Working of GA: phases: Working of GA: phases
Typical run of an EA shows so-called “anytime behavior”
Bes
t fitn
ess
in p
opul
atio
n
Time (number of generations)
introduction to GAintroduction to GA: Working of GA: typical run: Working of GA: typical run
Bes
t fitn
ess
in p
opul
atio
n
Time (number of generations)
Progress in 1st half
Progress in 2nd half
introduction to GAintroduction to GA: Working of GA: long runs might not pay off: Working of GA: long runs might not pay off
Time (number of generations)
Bes
t fitn
ess
in p
opul
atio
n
T: time needed to reach level F after randominitialization
T
F: fitness after smart initializationF
introduction to GAintroduction to GA: Working of GA: smart initialization: Working of GA: smart initialization
Scale of “all” problems
Per
form
ance
of m
etho
ds o
n pr
oble
ms
Random search
Special, problem tailored method
Evolutionary algorithm
introduction to GAintroduction to GA: Performance of EAs: Performance of EAs
Per
form
ance
of m
etho
ds o
n pr
oble
ms
EA 1
EA 4
EA 3EA 2
Scale of “all” problems
P
introduction to GAintroduction to GA: Performance of EAs: Performance of EAs
§§ Simple problem: max xSimple problem: max x22 over {over {00,,11,…,,…,3131}}§§ GA approach:GA approach:§§ Representation: binary code, e.g.Representation: binary code, e.g. 0110101101 «« 1313§§ Population size:Population size: 44§§ 11--point xover, bitwise mutationpoint xover, bitwise mutation§§ Roulette wheel selectionRoulette wheel selection§§ Random initialisationRandom initialisation
§§ We show one generational cycle done by handWe show one generational cycle done by hand
introduction to GAintroduction to GA: An example: An example --Goldberg ‘Goldberg ‘8989
xx22 example: selectionexample: selection
introduction to GAintroduction to GA: An example: An example --Goldberg ‘89Goldberg ‘89
XX22 example: crossoverexample: crossover
introduction to GAintroduction to GA: An example: An example --Goldberg ‘Goldberg ‘8989
XX22 example: mutationexample: mutationintroduction to GAintroduction to GA: An example: An example --Goldberg ‘Goldberg ‘8989
introduction to GAintroduction to GA: GENETIC PROGRAMMING: GENETIC PROGRAMMING
Objective:Objective: Find a computer program with oneFind a computer program with oneinput (independent variableinput (independent variable XX) whose) whoseoutput equals the given dataoutput equals the given data
11 Terminal set:Terminal set: T = {X, RandomT = {X, Random--Constants}Constants}
22 FunctionFunction setset:: F = {+,F = {+, --, *, %}, *, %}
33 Fitness:Fitness: TheThe sumsum ofof thethe absoluteabsolute valuevalue ofof thethedifferencesdifferences betweenbetween thethe candidatecandidateprogram’sprogram’s outputoutput andand thethe givengiven datadata(computed(computed overover numerousnumerous valuesvalues ofofthethe independentindependent variablevariable xx fromfrom ––11..00toto ++11..00))
44 Parameters:Parameters: Population sizePopulation size MM = 4= 4
55 Termination:Termination: An individual emerges whose sum ofAn individual emerges whose sum ofabsolute errors is less than 0.1absolute errors is less than 0.1
introduction to GAintroduction to GA: PREPARATORY STEPS: PREPARATORY STEPS
POPULATION OFPOPULATION OF 44 RANDOMLY CREATEDRANDOMLY CREATEDINDIVIDUALS FOR GENERATIONINDIVIDUALS FOR GENERATION 00
introduction to GAintroduction to GA: SYMBOLIC REGRESSION: SYMBOLIC REGRESSION
FITNESS OF THEFITNESS OF THE 44 INDIVIDUALS IN GENINDIVIDUALS IN GEN00
x + 1 x2 + 1 2 x
0.67 1.00 1.70 2.67
introduction to GAintroduction to GA: SYMBOLIC REGRESSION: SYMBOLIC REGRESSION xx22 ++ xx ++ 11
GENERATIONGENERATION 11
Copy of (a)Mutant of(c)
picking “2”as mutationpoint
First offspringof crossover of(a) and (b)picking “+” ofparent (a) andleft-most “x” ofparent (b) ascrossoverpoints
Secondoffspring ofcrossover of (a)and (b)picking “+” ofparent (a) andleft-most “x” ofparent (b) ascrossoverpoints
introduction to GAintroduction to GA:: SYMBOLIC REGRESSIONSYMBOLIC REGRESSION xx22 ++ xx ++ 11
ØØ AdvantagesAdvantagesoo No presumptions w.r.t. problem spaceNo presumptions w.r.t. problem spaceoo Widely applicableWidely applicableoo Low development & application costsLow development & application costsoo Easy to incorporate other methodsEasy to incorporate other methodsoo Solutions are interpretable (unlike NN)Solutions are interpretable (unlike NN)oo Can be run interactively, accommodate user proposed solutionsCan be run interactively, accommodate user proposed solutionsoo Provides many alternative solutionsProvides many alternative solutionsoo Intrinsic parallelismIntrinsic parallelism
ØØ DisadvantagesDisadvantagesoo No guarantee for optimal solution within finite timeNo guarantee for optimal solution within finite timeoo Weak theoretical basisWeak theoretical basisoo May need parameter tuningMay need parameter tuningoo Often computationally expensive, i.e. slowOften computationally expensive, i.e. slow
introduction to GAintroduction to GA:: Conclusion: advantages and disadvantagesConclusion: advantages and disadvantages
introduction to GAintroduction to GA: References: References
www.cs.vu.nl/~jabekker/ec0607/
web.umr.edu/~ercal/387/
www.genetic-programming.com
David E. Goldberg (1989), Genetic Algorithms in Search, Optimization, andMachine Learning.