Post on 01-Apr-2015
transcript
Genetic Algorithms
2
Introduction To Genetic Algorithms
(GAs)
3
What Are Genetic Algorithms (GAs)?
Genetic Algorithms are search and optimization techniques based on Darwin’s Principle of Natural Selection.
Characteristics of GA Parallel-search procedures that can be
implemented on parallel processing machines for speeding operations
Applies to both continuous and discrete optimization problems
Stochastic in nature and less likely to get caught in local minima
Facilitates both structure and parameter identification
5
Darwin’s Principle Of Natural Selection I
IF there are organisms that reproduce, and IF offsprings inherit traits from their parents, and IF there is variability of traits, and IF the environment cannot support all members of a growing
population, THEN those members of the population with less-adaptive
traits (determined by the environment) will die out, and THEN those members with more-adaptive traits (determined
by the environment) will thrive
The result is the evolution of species.
Working of GA
GA encodes each point in a parameter space into a binary bit called chromosome
Each point is associated with a fitness function
Gene pool is a population of all such points In each generation GA constructs a new
population using genetic operators Crossover Mutation
Components of GA
Encoding schemes Crossover operators Mutation operators
Encoding schemes Transforms points in parameter space into
string representations Eg (11,6,9) is represented as 101101101011 Encoding schemes provide a way of translating
problem-specific knowledge directly into GA framework
After this the fitness function is evaluated Next selection is based on the fittest survivor
Fitness evaluation
How is it different from other optimization and search procedures?
1. Works with a coding of the parameter set, not the parameters themselves
2. Search for a population of point and not a single point
3. Use objective function information and not derivatives or other auxiliary knowledge
How GA is used and different from other optimization techniques?
The first step in GA is to code the parameter x as a finite length string
Example 1 can be code as string of 5 bits with an output f=f(s) , where s=string of bits
Successive populations are generated using the GA
For effective check GA requires only objective functions associated with individual strings
Simple genetic algorithm
Reproduction:- individual strings are copied according to their objective fn: values f(FITNESS FUNCTION)
Crossover:- Members of the newly reproduced strings are mated at random. Each pair of strings undergoes crossing overs.
Mutation:-supplements reproduction and crossover and acts as an insurance policy against premature loss of important notions
13
Basic Idea Of Principle Of Natural Selection
“Select The Best, Discard The Rest”
Example 1Maximize f(x) =x2 on the integer scale from 0-31
0 31x
f(x)
1000
Example 1
No:
String Fitness % of total
1 01101
169 14.2
2 11000
576 49.2
3 01000
64 5.5
4 10011
361 30.9
Total 1170 100
Roulette wheel with slots sized according to fitness
1234
Crossover
A1=0 1 1 0 1A2=1 1 0 0 0
A1’=0 1 1 0 0A2’=1 1 0 0 1
Simple GA by Hand(Reproduction)
No: String x f(x)x2
pselectfi/Ʃf
Expected countn.pselect
Actual count(Roulette Wheel0
1 01101 13 169 .14 .58 1
2 11000 24 576 .49 1.97 2
3 01000 08 64 .06 0.24 0
4 10011 19 361 0.31 1.24 1
Sum 1170 1.00 4 4.0
Average 293 0.25 1.00 1.0
Maximum 576 .49 1.97 2
CrossoverMating Pool after Reproduction(Cross Site shown)
Mate Crossover
New population
x F(x)
0110|12 4 0 1 1 0 0 12 144
1100|01 4 1 1 0 0 1 25 625
11|0004 2 1 1 0 1 1 27 729
10|0113 2 1 0 0 0 0 16 256
Sum 1754
Average 439
Maximum 729
Probability of mutation in this test is 0.001. With 20 transferred bit positions we should expect 20*0.001=0.02
Grist for the search mill
How does the directed search guide help improvement? Seeking similarities among strings in
population Causal relationships between
similarities and high fitness
SCHEMATA
21
Evolution in the real world Each cell of a living thing contains chromosomes -
strings of DNA Each chromosome contains a set of genes - blocks of DNA Each gene determines some aspect of the organism (like
eye colour) A collection of genes is sometimes called a genotype A collection of aspects (like eye colour) is sometimes
called a phenotype Reproduction involves recombination of genes from
parents and then small amounts of mutation (errors) in copying
The fitness of an organism is how much it can reproduce before it dies
Evolution based on “survival of the fittest”
Basic Idea Of Principle Of Natural Selection
“Select The Best, Discard The Rest”
AlgorithmGenerate Initial Populationdo Calculate the Fitness of each member do { Select Parents from current population Perform Crossover add offspring to the new population Merge new population into the current population Mutate current population till result
is obtained }
Population
Chromosomes could be:
Bit strings (0101 ... 1100)
Real numbers (43.2 -33.1 ... 0.0 89.2)
Permutations of element (E11 E3 E7 ... E1 E15) Lists of rules (R1 R2 R3 ... R22 R23) ... any data structure ...
population
AlgorithmGenerate Initial Populationdo Calculate the Fitness of each member do { Select Parents from current population Perform Crossover add offspring to the new population Merge new population into the current population Mutate current population till result
is obtained }
AlgorithmGenerate Initial Populationdo Calculate the Fitness of each member do { Select Parents from current population Perform Crossover add offspring to the new population Merge new population into the current population Mutate current population till result
is obtained }
Fitness Function
A fitness function quantifies the optimality of a solution so that that particular solution may be ranked against all the other solutions.
A fitness value is assigned to each solution depending on how close it actually is to solving the problem.
Ideal fitness function correlates closely to goal + quickly computable.
AlgorithmGenerate Initial Populationdo Calculate the Fitness of each member do { Select Parents from current population Perform Crossover add offspring to the new population Merge new population into the current population Mutate current population till result
is obtained }
AlgorithmGenerate Initial Populationdo Calculate the Fitness of each member do { Select Parents from current population Perform Crossover add offspring to the new population Merge new population into the current population Mutate current population till result
is obtained }
Crossover
Mimics biological recombination
Some portion of genetic material is swapped between chromosomes
Typically the swapping produces an offspring
CROSSOVER
(1 2 9 3 0 7 ) (1 2 9 7 9 5)
(4 6 1 7 9 5 )
(1 2 9 3 0 7 )( 4 6 1 7 9 5)
(4 6 1 7 9 5 )
AlgorithmGenerate Initial Populationdo Calculate the Fitness of each member do { Select Parents from current population Perform Crossover add offspring to the new population Merge new population into the current population Mutate current population till result
is obtained }
AlgorithmGenerate Initial Populationdo Calculate the Fitness of each member do { Select Parents from current population Perform Crossover add offspring to the new population Merge new population into the current population Mutate current population till result
is obtained }
Mutation
Selects a random locus – gene location – with some probability and alters the allele at that locus
The intuitive mechanism for the preservation of variety in the population
Mutation: Local Modification
Before: (1 0 1 1 0 1 1 0)After: (0 1 1 0 0 1 1 0)
Before: (1.38 -69.4 326.44 0.1)After: (1.38 -67.5 326.44 0.1)
The ProblemThe Traveling Salesman Problem is defined as: Given: 1) A set of cities 2) Symmetric distance matrix that indicates the cost of
travel from each city to every other city.
Goal: 1) Find the shortest circular tour, visiting every city
exactly once. 2) Minimize the total travel cost, which includes the
cost of traveling from the last city back to the first city’.
Traveling Salesperson Problem
38
Encoding
Represent every city with an integer .
Consider 6 Indian cities – Mumbai, Nagpur , Calcutta, Delhi, Bangalore
and Pune assign a number to each.
Mumbai 1Nagpur 2Calcutta 3Delhi 4Bangalore 5Pune 6
39
Encoding
Thus a path would be represented as a sequence of integers from 1 to 6.
The path [1 2 3 4 5 6] represents a path from
Mumbai to Nagpur - Nagpur to Calcutta - Calcutta to Delhi - Delhi to Bangalore - Bangalore to Pune and pune to Mumbai.
Fitness Function
The fitness function will be the total cost of the tour represented by each chromosome.
This can be calculated as the sum of the distances traversed in each travel segment.
The Lesser The Sum, The Fitter The Solution Represented By That Chromosome.
1 2 3 4 5 6
1 0 863 1987 1407 998 163
2 863 0 1124 1012 1049 620
3 1987 1124 0 1461 1881 1844
4 1407 1012 1461 0 2061 1437
5 998 1049 1881 2061 0 841
6 163 620 1844 1437 841 0
Distance/Cost Matrix For TSP
Fitness Function (contd.)
So, for a chromosome [4 1 3 2 5 6 ], the total cost of travel or fitness will be calculated as shown below
Fitness = 1407 + 1987 + 1124 + 1049 + 841 = 6408 kms.
Since our objective is to Minimize the distance, the lesser the total distance, the fitter the solution.
Initial Population for TSP
(5,3,4,6,2) (2,4,6,3,5) (4,3,6,5,2)
(2,3,4,6,5) (4,3,6,2,5) (3,4,5,2,6)
(3,5,4,6,2) (4,5,3,6,2) (5,4,2,3,6)
(4,6,3,2,5) (3,4,2,6,5) (3,6,5,1,4)
Select Parents
(5,3,4,6,2) (2,4,6,3,5) (4,3,6,5,2)
(2,3,4,6,5) (4,3,6,2,5) (3,4,5,2,6)
(3,5,4,6,2) (4,5,3,6,2) (5,4,2,3,6)
(4,6,3,2,5) (3,4,2,6,5) (3,6,5,1,4)
Try to pick the better ones.
Create Off-Spring – 1 point
(5,3,4,6,2) (2,4,6,3,5) (4,3,6,5,2)
(2,3,4,6,5) (4,3,6,2,5) (3,4,5,2,6)
(3,5,4,6,2) (4,5,3,6,2) (5,4,2,3,6)
(4,6,3,2,5) (3,4,2,6,5) (3,6,5,1,4)
(3,4,5,6,2)
(3,4,5,6,2)
Create More Offspring
(5,3,4,6,2) (2,4,6,3,5) (4,3,6,5,2)
(2,3,4,6,5) (4,3,6,2,5) (3,4,5,2,6)
(3,5,4,6,2) (4,5,3,6,2) (5,4,2,3,6)
(4,6,3,2,5) (3,4,2,6,5) (3,6,5,1,4)
(5,4,2,6,3)
(3,4,5,6,2) (5,4,2,6,3)
Mutate
(5,3,4,6,2) (2,4,6,3,5) (4,3,6,5,2)
(2,3,4,6,5) (4,3,6,2,5) (3,4,5,2,6)
(3,5,4,6,2) (4,5,3,6,2) (5,4,2,3,6)
(4,6,3,2,5) (3,4,2,6,5) (3,6,5,1,4)
Mutate
(5,3,4,6,2) (2,4,6,3,5) (4,3,6,5,2)
(2,3,4,6,5) (2,3,6,4,5) (3,4,5,2,6)
(3,5,4,6,2) (4,5,3,6,2) (5,4,2,3,6)
(4,6,3,2,5) (3,4,2,6,5) (3,6,5,1,4)
(3,4,5,6,2) (5,4,2,6,3)
Eliminate
(5,3,4,6,2) (2,4,6,3,5) (4,3,6,5,2)
(2,3,4,6,5) (2,3,6,4,5) (3,4,5,2,6)
(3,5,4,6,2) (4,5,3,6,2) (5,4,2,3,6)
(4,6,3,2,5) (3,4,2,6,5) (3,6,5,1,4)
Tend to kill off the worst ones.
(3,4,5,6,2) (5,4,2,6,3)
Integrate
(5,3,4,6,2) (2,4,6,3,5)
(2,3,6,4,5) (3,4,5,2,6)
(3,5,4,6,2) (4,5,3,6,2) (5,4,2,3,6)
(4,6,3,2,5) (3,4,2,6,5) (3,6,5,1,4)
(3,4,5,6,2)
(5,4,2,6,3)
Restart
(5,3,4,6,2) (2,4,6,3,5)
(2,3,6,4,5) (3,4,5,2,6)
(3,5,4,6,2) (4,5,3,6,2) (5,4,2,3,6)
(4,6,3,2,5) (3,4,2,6,5) (3,6,5,1,4)
(3,4,5,6,2)
(5,4,2,6,3)
When to Use a GA Alternate solutions are too slow or overly
complicated Need an exploratory tool to examine new
approaches Problem is similar to one that has already
been successfully solved by using a GA Want to hybridize with an existing solution Benefits of the GA technology meet key
problem requirements
53
SUMMARY
Genetic Algorithms (GAs) implement optimization strategies based on simulation of the natural law of evolution of a species by natural selection
The basic GA Operators are:EncodingRecombinationCrossoverMutation
GAs have been applied to a variety of function optimization problems, and have been shown to be highly effective in searching a large, poorly defined search space
THANK YOU