additional slides

advertisement
Genetic Algorithms
Lecture 5
Addendum to the slides of Jason Noble
NN
II
N
I
NI
NI
N
I
N
I
NN
NI
NI
II
Evolutionary Algorithms
Binary Genetic Algorithms
 Variable Encoding and Decoding
 Generating a Population
 Generating Offspring:



Crossover
Mutation
Selection
 Real chromosomes diploid
 GA almost always (haploid) exception will be
explicitly mentioned
Evolutionary Algorithms
Example
(Haupt & Haupt, 2004)
 Suppose we have a digital map of a mountain
range
 We want to find the highest peak on the map
 Automatically!
 Difficult problem for conventional optimization
techniques
Evolutionary Algorithms
Evolutionary Algorithms
Variable Encoding
Variable
Value
Decimal
Binary
Latitude
(min)
Latitude
(max)
Longitude
(min)
40o,15’
1
0000000
40o,16’
128
1111111
105036’
1
0000000
Longitude
(max)
105037’30’’ 128
1111111
Chromosome =[11000110011001]
Evolutionary Algorithms
X
y
Generate an Initial Population
Assign each chromosome a fitness
(in this case simply the height of the point)
00101111000110
11100101100100
12359
11872
00110010001100
13477
00101111001000
12363
11001111111011
11631
01000101111011
12097
11101100000001
12588
01001101110011
Evolutionary Algorithms
11860
Selection
(at 50% selection rate)
00101111000110
12359
00110010001100
13477
00101111001000
12363
11101100000001
12588
Selection:
•Choose a selection rate
•Choose a threshold (all above survive)
Evolutionary Algorithms
Assume random mating
00101111000110
12359
00110010001100
13477
00101111001000
12363
11101100000001
12588
Selection:
•Choose a selection rate
•Choose a threshold (all above survive)
Evolutionary Algorithms
Assume random mating
00101111000110
12359
00110010001100
13477
00101111001000
12363
11101100000001
12588
Selection:
•Choose a selection rate
•Choose a threshold (all above survive)
Evolutionary Algorithms
Crossover
00101111000110
00110010001100
00101111001000
11101100000001
Evolutionary Algorithms
Crossover
00101111000110
00110010001100
00101111001000
11101100000001
Crossover point
Evolutionary Algorithms
Crossover
00101111000110
00110010001100
00101111001000
11101100000001
Crossover point
Evolutionary Algorithms
Crossover
00101111000110
00110010001100
00101111001000
11101100000001
Crossover point
Evolutionary Algorithms
Crossover
00101111000110
00101100000001
00110010001100
00101111001000
11101100000001
11101111000110
Crossover point
Evolutionary Algorithms
Crossover
00101111000110
00101100000001
00110010001100
00101111001000
11101100000001
11101111000110
Crossover point
Evolutionary Algorithms
Crossover
00101111000110
00101100000001
00110010001100
00110111001000
00101111001000
00101010001100
11101100000001
11101111000110
Crossover point
Evolutionary Algorithms
New generation (almost)
00101111000110
00101100000001
00110010001100
00110111001000
00101111001000
00101010001100
11101100000001
11101111000110
Crossover point
Evolutionary Algorithms
Mutation
00101111000110
00101100000001
00110010101100
00110111001000
00101111001000
00101010101100
11101100000001
11101111000110
Evolutionary Algorithms
Over the generations ….
Evolutionary Algorithms
Summary: Canonical Genetic
Algorithm
 S1: Set t= 0
 S2: Initialize chromosome population P(t)
Usually by random init.
 S3: Evaluate P(t) by a fitness measure
 S4: while (termination not satisfied) do:
begin
1
 S4.1 Select for recombination chromosomes from P(t). Let P
be the set of selected chromosomes. Choose individuals from
P1 to enter the mating pool (MP)
2
 S4.2 Recombine the chromosomes in MP forming P . Mutate
chromosomes in P2 forming P3
3
 S4.3 Select for replacement from P and P(t) forming P(t+1)
 t = t + 1
end
Evolutionary Algorithms
Generating offspring
 Weighted random pairing
(roulette wheel weighting)
 Rank
weighting
 Cost weighting
 Equivalently allow a number of copies
to mate (weighted)
Evolutionary Algorithms
Generating offspring
 Roulette

wheel selection
How many copies take part in mating?
 Rank
weighting
 Cost weighting

http://www.edc.ncl.ac.uk/highlight/rhjanuary2007g02.php/
Evolutionary Algorithms
Roulette wheel weighting (1)
Rank weighting: assign distributions by rank,
make sure that total probability is 1.0
pn
Σpn
00110010001100
13477
0.4
0.4
11101100000001
12588
0.3
0.7
00101111000110
12359
0.2
0.9
00101111001000
12363
0.1
1.0
Evolutionary Algorithms
Roulette wheel weighting (2)
Fitness based weighting: assign distributions by fitness,
make sure that total probability is 1.0
Σpn
pn
00110010001100
13477
0.265
0.265
11101100000001
12588
0.248
0.513
00101111001000
12363
0.243
0.756
00101111000110
12359
0.243
1.0
Evolutionary Algorithms
Roulette wheel weighting (3)
Cost based weighting: assign distributions by cost,
make sure that total probability is 1.0
pn
Σpn
00110010001100
13477-12097
= 1380
0.575
0.575
11101100000001
12588-12097
= 491
0.205
0.780
00101111001000
12363-12097
= 266
12359-12097
= 262
0.111
0.891
0.109
1.0
00101111000110
Evolutionary Algorithms
Pairing offspring
 Randomly
 Rank based (1-2) (3-4)
 Prevents overly quick convergence
 Tournament:
 Pick two chromosomes
 Set parameter k
 Generate random nr r
 If (r < k) pick fitter (eg. k = 0.75)
 Elitism: always pick (a couple of) the best
Evolutionary Algorithms
Real valued chromosomes
 In case of example:

(x, y), where x and y are the spatial
coordinates
 Crossover



Discrete recombination
Intermediate recombination
Line recombination
Evolutionary Algorithms
Real valued chromosomes
Crossover
Line recombination
 (122, 45, 77) and (3,4,3)
 Generate random positions:

(1,2,2) and (1,1,2)
 Results in:

(122, 4, 3) and (122, 45, 3)
Evolutionary Algorithms
Real valued chromosomes
 Intermediate recombination



Offspring = parent 1 + α(parent 2 – parent 1)
Allow area to be slightly larger than hypercube
defined by parents
Generate α for each position
 Line recombination

Use a single value for α
Evolutionary Algorithms
Genetic Programming
(Koza, 1992,1994,…)
 Example (Mitchell, 1998): Kepler’s law
 P2 = cA3, P orbital Period, A average distance
from sun
 Programme for Mars:
Program Orb
// Mars
A = 1.52;
P = SQRT(A*A*A);
PRINT P
END
Evolutionary Algorithms
Genetic Programming
 Lisp version
(defun orbital_period ()
; Mars;
(setf A 1.52)
(sqrt (A A (* A A))))
Evolutionary Algorithms
Parse tree for LISP expression
SQRT
*
*
A
A
Evolutionary Algorithms
A
Koza’s algorithm
 Trees consist of functions and terminals
 Choose a set of functions and terminals, e.g
{ +, -, *, /, √}; {A}
 Generate random programmes (trees) which
are syntactically correct
 Evaluate fitness
 Apply crossover (mutation)
Evolutionary Algorithms
Crossover
/
*
A
√
*
A
X
A
A
/
/
A
A
/
A
A
A
/
A
*
A
*
/
/
A
√
A
Evolutionary Algorithms
A
A
/
A
A
A
Download