0% found this document useful (0 votes)
370 views

Genetic Algorithm

The document summarizes canonical genetic algorithms. It discusses gene representation using binary encoding, fitness evaluation based on an objective function, selection using fitness proportional selection, single-point crossover, and gene-wise mutation. It then provides an example of applying these concepts to maximize the function f(x)=x^2 from 0 to 31 using a genetic algorithm with a population size of 4 individuals.

Uploaded by

ssmaths069996
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
370 views

Genetic Algorithm

The document summarizes canonical genetic algorithms. It discusses gene representation using binary encoding, fitness evaluation based on an objective function, selection using fitness proportional selection, single-point crossover, and gene-wise mutation. It then provides an example of applying these concepts to maximize the function f(x)=x^2 from 0 to 31 using a genetic algorithm with a population size of 4 individuals.

Uploaded by

ssmaths069996
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 32

Lecture 2:

Canonical Genetic
Algorithms

Suggested reading: D. E. Goldberg, Genetic Algorithm in Search, Optimization, and


Machine Learning, Addison Wesley Publishing Company, January 1989
What Are Genetic Algorithms?
„ Genetic algorithms are optimization algorithm
inspired from natural selection and genetics
„ A candidate solution is referred to as an individual
„ Process
… Parent individuals generate offspring individuals
… The resultant offspring are evaluated for their
fitness
… The fittest offspring individuals survive and
become parents
… The process is repeated

2
History of Genetic Algorithms
„ In 1960’s
… Rechenberg: “evolution strategies”
„ Optimization method for real-valued parameters
… Fogel, Owens, and Walsh: “evolutionary programming”
„ Real-valued parameters evolve using random mutation

„ In 1970’s
… John Holland and his colleagues at University of Michigan
developed “genetic algorithms (GA)”
… Holland’s1975 book “Adaptation in Natural and Artificial
Systems” is the beginning of the GA
… Holland introduced “schemas,” the framework of most
theoretical analysis of GAs. 3
„ In 1990’s
… John Koza: “genetic programming” used genetic
algorithms to evolve programs for solving certain tasks

„ It is generally accepted to call these techniques as evolutionary


computation

„ Strong interaction among the different evolutionary


computation methods makes it hard to make strict distinction
among GAs, evolution strategies, evolutionary programming
and other evolutionary techniques

4
Differences Between GAs and
Traditional Methods
„ GAs operate on encodings of the parameters values,
not necessarily the actual parameter values
„ GAs operate on a population of solutions, not a
single solution
„ GAs only use the fitness values based on the
objective functions
„ GAs use probabilistic computations, not
deterministic computations
„ GAs are efficient in handling problems with a
discrete or mixed search spaces
5
The Canonical GA
Canonical GA
„ The canonical genetic algorithm refers to the GA
proposed by John Holland in 1965
START

Initialization

Fitness evaluation

Selection
Crossover

Mutation

STOP?

END
7
Gene Representation
„ Parameter values are encoded into binary strings of
fixed and finite length
… Gene: each bit of the binary string
… Chromosome: a binary string
… Individual: a set of one or multiple chromosomes, a
prospective solution to the given problem
… Population: a group of individuals
„ Longer string lengths
… Improve resolution
… Requires more computation time
8
Binary Representation
„ Suppose we wish to maximize f (x)

„ Where [
x ∈ Ω; Ω = xmin, xmax ]
„ Binary representation xbinary ∈ [bl bl −1 L b2 b1 ]

„ [
We map xmin, xmax ] to [0 , 2 l
−1 ]
x max − x min l
i −1
„ Thus x = x min + ∑ i
b 2
2l − 1 i =1

9
Example
„ Let l = 5, Ω = [-5, 20]
„ Then
xbinary = [ 0 0 0 0 0 ] ⇒ x = −5
xbinary = [ 1 1 1 1 1 ] ⇒ x = 20
20 − (−5)
xbinary = [ 1 0 0 1 1 ] ⇒ x = −5 + (2 4 + 21 + 2 0 ) = 10.3226
2 −1
5

10
Fitness Evaluation
„ Each individual x is assigned with a fitness value
f(x) as the measure of performance
„ It is assumed that the fitness value is positive and
the better the individual as a solution, the fitness
value is more positive
„ The objective function can be the fitness function
itself if it is properly defined

11
Example 1
„ Consider the problem

max g(x) = -x2 + 4x, x ∈ [1, 5]

„ A fitness function
f(x) =-g(x)+100= -x2 + 4x + 100

12
Example 2
„ Consider the problem
min g(x) = x2, x ∈ [-10, 10]

„ A fitness function
f(x) = 1/(g(x) + 0.1) = 1/(x2 + 0.1)

13
Selection
„ Chooses individuals from the current population to
constitute a mating pool for reproduction
„ Fitness proportional selection methods
… Each individual x is selected and copied in the
mating pool with the probability proportional to
fitness (f(x) / Σf(x))

14
Roulette Wheel Selection

Individuals with
fitness values Mating pool

19
76
Winner
44
27 Assign a piece
8 proportional to the
53 fitness value
31
76

15
Crossover
„ Single-point crossover is assumed
„ Two parent individuals are selected from mating pool
„ Crossover operation is executed with the probability pc
„ Crossover point is randomly chosen and the strings are
swapped with respect the crossover point between the
two parents

16
Single Point Crossover

Crossover point

Parent 1 1 0 1 0 0 1 1 0 Child 1 1 0 1 0 1 0 1 1

Parent 2 1 1 0 0 1 0 1 1 Child 2 1 1 0 0 0 1 1 0

17
Mutation
„ Mutation operator is applied gene-wise, that is, each
gene undergoes mutation with the probability pm
„ When the mutation operation occurs to a gene, its
gene value is flipped

1 0
0 1
Mutation points

1 1 0 0 1 0 1 1 1 0 0 0 1 1 1 1

18
Overview of Canonical GA
Initial
population Fitness
Evaluation
19
76
44
f (x) 27
8
53
31
76

Selection

Mutation Crossover Mating pool


19
Summary of Canonical GA
„ Binary representation
„ Fixed string length
„ Fitness proportional selection operator
„ Single-point crossover operator
„ Gene-wise mutation operator

20
A Manual Example
Using Canonical GAs
Problem Description
„ Consider the following maximization problem
max f(x) = x2
where x is an integer between 0 and 31
1000

900

800

700

600
f(x)

500

400

300

200

100

0
0 5 10 15 20 25 30
x

f(x) = x2 has its maximum value 961 at x = 31 22


Gene Representation
„ Before applying GA, a representation method must be
defined
„ Use unsigned binary integer of length 5

10110 1⋅24 + 0⋅23 + 1⋅22 + 1⋅21 + 0⋅20 = 22

„ A five-bit unsigned binary integer can have values


between 0(0000) and 31(11111)

23
Canonical GA Execution Flow
START

Initialization

Fitness evaluation

Selection
Crossover

Mutation

STOP?

END

24
Initialization
„ Initial populations are randomly generated
„ Suppose that the population size is 4
„ An example initial population

Individual Initial x value


No. population
1 01101 13
2 11000 24
3 01000 8
4 10011 19 25
Fitness Evaluation
„ Evaluate the fitness of initial population
„ The objective function f(x) is used as the fitness
function
„ Each individual is decoded to integer and the fitness
function value is calculated

26
Fitness Evaluation
„ Decoding

01000 Decode x=8 Evaluation f(8) = 82 = 64

„ Results
Individual No. Initial population x value f(x) fi / Σf Expected
number

1 01101 13 169 0.14 0.56


2 11000 24 576 0.49 1.96
3 01000 8 64 0.06 0.24
4 10011 19 361 0.31 1.24
27
Selection
„ Select individuals to the mating pool
„ Selection probability is proportional to the fitness
value of the individual
„ Roulette wheel selection method is used
Individual Initial population x value f(x) fi / Σf Expected
No. number
1 01101 13 169 0.14 0.56
2 11000 24 576 0.49 1.96
3 01000 8 64 0.06 0.24
4 10011 19 361 0.31 1.24
28
Selection
1

„ Roulette wheel 2
3
4

„ Outcome of Roulette wheel is 1, 2, 2, and 4


„ Resulting mating pool

No. Mating pool


1 01101
2 11000
3 11000
4 10011
29
Crossover
„ Two individuals are randomly chosen from mating pool
„ Crossover occurs with the probability of pc = 1
„ Crossover point is chosen randomly

Mating pool Crossover New x f(x)


point population
0110 1 01100 12 144
4
1100 0 11001 25 625
11 000 11011 27 729
2
10 011 10000 16 256

30
Mutation
„ Applied on a bit-by-bit basis
„ Each gene mutated with probability of pm = 0.001

Before After x f(x)


Mutation Mutation
01100 01100 12 144
11001 11001 25 625
11011 11011 27 729
10000 10010 18 324
31
Fitness Evaluation
„ Fitness values of the new population are calculated
Old x f(x) New x f(x)
population population
01101 13 169 01100 12 144
11000 24 576 11001 25 625
01000 8 64 11011 27 729
10011 19 361 10010 18 324
sum 1170 sum 1756
avg 293 avg 439
max 576 max 729
32

You might also like