introduction to genetic algorithms yonatan shichel
Post on 20-Dec-2015
228 views
TRANSCRIPT
Genetic AlgorithmsGenetic Algorithms
Bio-InspiredBio-Inspired artificial intelligence
class of probabilistic optimization
algorithms
Well-suited for nonlinear/hard problems
with a large search space
Developed by John Holland
Influenced by Darwin’s Origin of species
What are Genetic Algorithms?What are Genetic Algorithms?
EvolutionEvolution
VarietyVariety of species individuals
within the population
CompetitionCompetition for limited resources
OverproductionOverproduction of offspring
generation
Survival of the fittestSurvival of the fittestOrigin of Species, 1859
Darwin’s principlesDarwin’s principles
EvolutionEvolution
Initial population• Variety of shapes, colors, behaviors
• Each individual fits differently to the
environment
HHow does it work?ow does it work?
EvolutionEvolution
Initial population
Reproduction• Offspring combines both parents properties
• Siblings may differ
in properties
• Mutations may occur
HHow does it work?ow does it work?
EvolutionEvolution
Initial population
Reproduction
Limited environmental resources• Only a portion of the
individuals survive
• Survival chances –
according to fitness
measure...
• ... usually.
HHow does it work?ow does it work?
EvolutionEvolution
ObservationsObservations
Changes in the population content• “good” properties are kept, “bad” are distinct
• evolutionary pressure
Genetic AlgorithmsGenetic Algorithms
The computational modelThe computational modelproduce an initial population of individuals
while (termination condition not met) do
evaluate the fitness of all individuals
select fitter individuals for reproduction
recombine between individuals
mutate individuals
Genetic AlgorithmsGenetic Algorithms
The computational modelThe computational modelproduce an initial populationinitial population of individuals
while (termination conditiontermination condition not met) do
evaluateevaluate the fitness of all individuals
selectselect fitter individuals for reproduction
recombinerecombine between individuals
mutatemutate individuals
Genetic AlgorithmsGenetic Algorithms
The computational modelThe computational model
GGnn
55
44
12
31
95
32
87
12
0
65
53
2
91
73
+
GGn+n+
11
=
crossover
mutation
fitness
GA in actionGA in action
The Knapsack problem (NP)The Knapsack problem (NP)
There are N items:
• Each item i has a weight wi
• Each item i has a value vi
The knapsack has a limited capacity of
W units.
The problem description:• Maximize
• While
i
iv
Wwi
i
GA in actionGA in action
The Knapsack problem (NP)The Knapsack problem (NP)
For example:
Knapsack capacity = 100
A B C D E F G H I J14 26 19 45 5 25 34 18 30 12
20 24 18 70 14 23 50 17 41 21
GA in actionGA in action
Before we begin…Before we begin…
1. Define the genome encodinggenome encoding
2. Define the fitness functionfitness function
GA in actionGA in action
Genome EncodingGenome Encoding
Bit array:
0 = don’t take the item
1 = take the item
(items taken: A, B, E)
1 1 0 0 1 0 0 0 0 0
A B - - E - - - - -
GA in actionGA in action
Genome EncodingGenome Encoding
Bit array:
0 = don’t take the item
1 = take the item
(items taken: A, B, C, D, E, F, G, I)
1 1 1 1 1 1 1 0 1 0
A B C D E F G - I -
GA in actionGA in action
Fitness FunctionFitness Function
otherwisewW
WwvFitness
itemsi
itemsi
itemsi
:
:
A B C D E F G H I J
14 26 19 45 5 25 34 18 30 12
20 24 18 70 14 23 50 17 41 21
58
10045
EBA
EBA
vvvFitness
www
GA in actionGA in action
Fitness FunctionFitness Function
otherwisewW
WwvFitness
itemsi
itemsi
itemsi
:
:
A B C D E F G H I J
14 26 19 45 5 25 34 18 30 12
20 24 18 70 14 23 50 17 41 21
98
100198
IGFEDCBA
IGFEDCBA
wwwwwwwwWFitness
wwwwwwww
Genetic AlgorithmsGenetic Algorithms
Fitness EvaluationFitness Evaluation
produce an initial population of individuals
while (termination condition not met) do
evaluateevaluate the fitness of all individuals
select fitter individuals for reproduction
recombine between individuals
mutate individuals
Genetic AlgorithmsGenetic Algorithms
Fitness EvaluationFitness Evaluation
For each individual, calculate the fitness value:
Genetic AlgorithmsGenetic Algorithms
SelectionSelectionproduce an initial population of individuals
while (termination condition not met) do
evaluate the fitness of all individuals
selectselect fitter individuals for reproduction
recombine between individuals
mutate individuals
Genetic AlgorithmsGenetic Algorithms
SelectionSelection
Fitness-proportionate (roulette wheel)
Rank Selection (scaling)
Tournament Selection
…
Genetic AlgorithmsGenetic Algorithms
CrossoverCrossover
produce an initial population of individuals
while (termination condition not met) do
evaluate the fitness of all individuals
select fitter individuals for reproduction
recombinerecombine between individuals
mutate individuals
Genetic AlgorithmsGenetic Algorithms
CrossoverCrossover
Using a crossover probability PC per individual:
Single point crossover
Two/multi points crossover
Uniform / weighted crossover
…
Genetic AlgorithmsGenetic Algorithms
MutationMutation
produce an initial population of individuals
while (termination condition not met) do
evaluate the fitness of all individuals
select fitter individuals for reproduction
recombine between individuals
mutatemutate individuals
Genetic AlgorithmsGenetic Algorithms
MutationMutation
Using a crossover probability PM per bit:
Bit flip mutation
Bit switch mutation
…
Genetic AlgorithmsGenetic Algorithms
Initial PopulationInitial Populationproduce an initial populationinitial population of individuals
while (termination condition not met) do
evaluate the fitness of all individuals
select fitter individuals for reproduction
recombine between individuals
mutate individuals
Genetic AlgorithmsGenetic Algorithms
Initial PopulationInitial Population
Create a fixed size population using:
Random generated individuals
Individuals resulted from previous
evolutionary runs
Genetic AlgorithmsGenetic Algorithms
Termination ConditionTermination Condition
produce an initial population of individuals
while (termination conditiontermination condition not met) do
evaluate the fitness of all individuals
select fitter individuals for reproduction
recombine between individuals
mutate individuals
Genetic AlgorithmsGenetic Algorithms
Termination ConditionTermination Condition
When an optimal solution is found
When the results converge to constant value
After a predetermined number of generations
Genetic AlgorithmsGenetic Algorithms
Sample Evolutionary RunSample Evolutionary Run
Population size: 100 individuals
Crossover: Single pt., PC=0.9
Mutation: Bit flip, PM=0.01
Selection: tournament, groups of 2
Termination condition: after 100
generations
Genetic AlgorithmsGenetic Algorithms
ConclusionsConclusions
GA is nondeterministic – two runs may
end with different results
There’s no indication whether best
individual is optimal
Fitness tends to converge during time