.in
rs
de
ea
yr
ab
or
ty
,w
.m
ha
kr
www.myreaders.info
algorithms,
topics
Introduction,
search
optimization
value
encoding,
permutation
encoding,
and
tree
solved
fo
.in
rs
de
ea
yr
.m
,w
ha
kr
ab
or
ty
Artificial Intelligence
Topics
(Lectures 39, 40
2 hours)
1. Introduction
Slides
03-15
16-21
22-35
36-41
42
fo
.in
rs
de
ea
yr
.m
w
w
ha
kr
ab
or
ty
,w
fo
.in
rs
de
ea
GA - Introduction
or
ty
,w
.m
yr
problems
mean
looking
for
solutions,
which
is
best
among
ha
kr
ab
others.
possible solutions. The set of possible solutions defines the search space
(also called state space) for a given problem. Solutions or partial solutions
are viewed as points in the search space.
In
fo
.in
rs
de
ea
SC GA - Introduction
ab
or
ty
,w
.m
yr
ha
kr
- Unlike older AI systems, the GA's do not break easily even if the
performing
search
in
large
state-space,
or
multi-modal
like
linear
programming,
heuristic,
depth-first,
breath-first.
"Genetic Algorithms are good at taking large, potentially huge search
spaces and navigating them, looking for optimal combinations of things,
the solutions one might not otherwise find in a lifetime.
(Salvatore Mangano Computer Design, May 1995)
05
fo
.in
rs
de
ea
SC GA - Introduction
or
ty
,w
.m
yr
1.1 Optimization
Optimization is a process that finds a best, or optimal, solution for a
ha
kr
ab
to
be non-negative.
In the panel design, we want to limit the weight and put
constrain on its shape.
An optimization problem is defined as :
that
minimize
the constraints.
06
or
maximize
the
objective
function
while
satisfying
fo
.in
rs
de
ea
SC GA Introduction
ab
or
ty
,w
.m
yr
ha
kr
Search
Optimization
Calculus
Based
Techniques
Indirect
method
Direct
method
Newton
Tabu
Search
Enumerative
Techniques
Uninformed
Search
Finonacci
Hill
Climbing
Simulated
Annealing
Evolutionary
Algorithms
Genetic
Programming
Genetic
Algorithms
Informed
Search
and
and
fo
.in
rs
de
ea
SC GA - Introduction
or
ty
,w
.m
yr
ha
kr
ab
Evolutionary
Computation
(EC)
is
general
term
for
several
refers to
Evolutionary Computational
EAs
Evolutionary
Computation.
- GAs simulate natural evolution, mimicking processes the nature uses :
EC
08
GP
ES
EP
GA
Evolutionary
Computing
Genetic
Programming
Evolution
Strategies
Evolutionary
Programming
Genetic
Algorithms
Rechenberg
1960
Koza
1992
Rechenberg
1965
Fogel
1962
Holland
1970
fo
.in
rs
de
ea
SC GA - Introduction
or
ty
,w
.m
yr
algorithms
kr
ab
computing.
(GAs)
are
the
main
paradigm
of
evolutionary
ha
are
problems.
GAs, although randomized, exploit historical information to direct the
search into the region of better performance within the search space.
The biological background (basic genetics), the scheme of evolutionary
processes, the working principles and the steps involved in GAs are
illustrated in next few slides.
09
fo
.in
rs
ea
de
ty
,w
.m
yr
SC GA - Introduction
ha
kr
ab
or
Chromosomes are
offspring may end up having half the genes from one parent and half
from the other. This process is called recombination (cross over) .
The new created offspring can then be mutated. Mutation means,
that the elements of DNA are a bit changed. This changes are mainly
caused by errors in copying genes from parents.
The fitness of an organism is measured by success of the organism
fo
.in
rs
de
ea
yr
.m
w
w
,w
ty
SC GA - Introduction
Below shown,
the
ha
kr
ab
or
Parents
Initialization
Parents
Recombination
Population
Mutation
Termination
Offspring
Survivor
each candidate;
1. SELECT parents;
2. RECOMBINE pairs of parents;
3. MUTATE the resulting offspring;
4. SELECT individuals or the next generation;
END.
11
in genetic
fo
.in
rs
de
ea
SC GA - Introduction
or
ty
,w
.m
yr
Search Space
In solving problems, some solution will be the best among others.
kr
ab
The space of all feasible solutions (among which the desired solution
ha
by
the problem.
The GA looks for the best solution among a number of possible
fo
.in
rs
de
ea
SC GA - Introduction
ab
or
ty
,w
.m
yr
Working Principles
ha
kr
form of genes.
Gene :
chromosome.
Population:
of
number
individuals
present
with
same
length
of
chromosome.
Fitness :
based
on how far or
close a individual is from the solution; greater the fitness value better
the solution it contains.
Fitness function : a function that assigns fitness value to the individual.
It is problem specific.
Breeding : taking two fit individuals and then intermingling there
Working principles :
Genetic algorithm begins with a set of solutions (represented by
chromosomes) called the population.
Solutions from one population are taken and used to form a new
fo
.in
rs
de
ea
SC GA - Introduction
1.
ty
,w
.m
yr
kr
ab
or
ha
2.
population.
3.
5.
[Test] If the end condition is satisfied, stop, and return the best
solution in current population
6.
[Loop] Go to step 2
operators called crossover and mutation. These two operators are the
most important parts of GA.
14
fo
.in
rs
de
ea
SC GA Introduction
,w
.m
yr
ha
kr
ab
or
ty
Start
Seed Population
Generate N individuals Genesis
Scoring : assign fitness
to each individual
Natural
Selection
No
Reproduction
Recombination
Crossover
Crossover
Finished?
Yes
Survival of Fittest
Apply replacement
operator to incorporate
new individual into
population
Yes
No
Natural
Selection
Mutation
No
Terminate?
Yes
Mutation
Finished?
Scoring : assign
fitness to off- spring
Finish
fo
.in
rs
de
ea
SC GA Encoding
ty
,w
.m
yr
2. Encoding
Before a genetic algorithm can be put to work on any problem, a method is
ab
or
ha
kr
the
value of
A Gene represents some data (eye color, hair color, sight, etc.).
A chromosome is an array of genes. In binary form
a Gene looks like :
(11100010)
Gene2
Gene3
Gene4
fo
.in
rs
de
ea
SC GA - Encoding
or
ty
,w
.m
yr
Binary Encoding
Binary encoding is the most common to represent information contained.
ha
kr
ab
Chromosome 1:
101100101100101011100101
Chromosome 2:
111111100000110000011111
say
0 to 15
17
Numeric
value
4bit
string
Numeric
value
4bit
string
Numeric
value
4bit
string
0000
0110
12
1100
0001
0111
13
1101
0010
1000
14
1110
0011
1001
15
1111
0100
10
1010
0101
11
1011
fo
.in
rs
de
ea
yr
.m
w
w
,w
ty
or
ab
SC GA Encoding
Example 2 :
ha
kr
as
0110) .
(1011
Xi
Xi
X2
and
( X1
, X2
respectively.
10
Remainder
Equivalent integer
1
0x 2
1x 2
0x 2
1x 2
0
1
2
3
= 0
binary substring Si is as
= 2
K=ni - 1
= 0
2k
= 8
10
Sk
k=0
where Si can be 0 or 1 and the
string S is represented as
Sn-1 . . . . S3 S2 S1 S0
Knowing X i
22 x 1 + 2 1 x 1
and X iU
+ 20 x 1 = 7
Xi
L
=X i
(X i
Xi
)
+ --------------( 2ni 1 )
L
= 2 , and X i
4-bit string Xi = (1010) would represent. First get decoded value for
Si = 1010 = 23 x 1 + 22 x 0 + 21 x 1 + 20 x 0 = 10
then
(17 -2)
Xi = 2 + ----------- x 10 = 12
(24 - 1)
fo
.in
rs
de
ea
SC GA Encoding
or
ty
,w
.m
yr
Value Encoding
The Value encoding can be used in problems where values such as real
kr
ab
numbers
are
ha
would be difficult.
1. In value encoding, every chromosome is a sequence of some values.
2. The Values can be anything connected to the problem, such as :
Chromosome B
ABDJEIFJDHDIERJFDLDFLFEGT
Chromosome C
fo
.in
rs
de
ea
SC GA Encoding
or
ty
,w
.m
yr
Permutation Encoding
Permutation encoding can be used in ordering problems, such as traveling
kr
ab
ha
1 5 3 2 6 4 7 9 8
Chromosome B
8 5 6 7 2 3 1 4 9
that
no
two queens
attack
each
other.
Here, encoding
fo
.in
rs
de
ea
SC GA - Encoding
or
ty
,w
.m
yr
Tree Encoding
Tree encoding is used mainly for evolving programs or expressions.
kr
ab
ha
Example :
Chromosome A
+
x
Chromosome
do untill
/
step
wall
(+ x(/ 5y))
fo
.in
rs
de
ea
SC GA - Operators
or
ty
,w
.m
yr
kr
ab
ha
Genetic operators are analogous to those which occur in the natural world:
generation).
If there are only few chromosomes, then
size, because it does not help in solving the problem faster. The population
size depends on the type of encoding and the problem.
22
fo
.in
rs
de
ea
SC GA Operators
or
ty
,w
.m
yr
is
usually
kr
ab
ha
performed.
Fitness function quantifies the optimality of a solution (chromosome) so
that a particular solution may be ranked against all the other solutions.
The function depicts the closeness of a given solution to the desired
result.
Many reproduction operators exists and they all essentially do same thing.
They pick from current population the strings of above average and insert
their multiple copies in the mating pool in a probabilistic manner.
The most commonly used methods of selecting chromosomes for parents
to crossover are :
Roulette wheel selection,
Rank selection
Boltzmann selection,
Tournament selection,
The Roulette wheel and Boltzmann selections methods are illustrated next.
23
fo
.in
rs
de
ea
SC GA Operators
or
ty
,w
.m
yr
Example of Selection
Evolutionary Algorithms is to maximize the function f(x) = x2 with x in
x = 0, 1, . . . 30, 31.
ha
kr
ab
genotypes;
11000 24;
01000 8;
10011 19;
24 576;
8 64;
19 361.
in the population is
pi = F i / (
Fj ) ,
th
string
where
j=1
n * pi is expected count
String No
Initial
Population
X value
Fitness Fi
f(x) = x2
pi
Expected count
N * Prob i
01101
13
169
0.14
0.58
11000
24
576
0.49
1.97
01000
64
0.06
0.22
10011
19
361
0.31
1.23
Sum
1170
1.00
4.00
Average
293
0.25
1.00
Max
576
0.49
1.97
fo
.in
rs
de
ea
SC GA Operators
or
ty
,w
.m
yr
ha
kr
ab
recombination.
In fitness-proportionate selection :
the chance of an individual's being
The
1
5%
individuals
2
9%
20%
Roulette-wheel
with
simulates
fitness
8
Fi,
values
3
13%
th
individual
has
higher
8%
would
the 5th
choose
individual
6
8%
the
17%
n = 8
th
times,
the
the
individuals
wheel
is
is
spun
of
calculated as
20%
Probability of
fitness
string is pi = F i / (
F j ) , where
j=1
string's
make
F
F
the
Average fitness =
F Fj/ n
N=5
Cumulative Probability5 =
25
in the population.
i=1
pi
Expected count = (n =8 ) x pi
to
fo
.in
rs
de
ea
SC GA Operators
ab
or
ty
,w
.m
yr
Boltzmann Selection
ha
kr
lower
fo
.in
rs
de
ea
SC GA Operators
or
ty
,w
.m
yr
3.2 Crossover
Crossover is a genetic operator that combines (mates) two chromosomes
kr
ab
ha
crossover is that the new chromosome may be better than both of the
The operators are selected based on the way chromosomes are encoded.
27
fo
.in
rs
de
ea
SC GA Operators
or
ty
,w
.m
yr
One-Point Crossover
One-Point crossover operator randomly selects one crossover point and
kr
ab
then copy everything before this point from the first parent and then
ha
everything after
11011|00100110110
Parent 2
11011|11000011110
Interchanging the parents chromosomes after the crossover points The Offspring produced are :
Offspring 1
11011|11000011110
Offspring 2
11011|00100110110
fo
.in
rs
de
ea
SC GA Operators
or
ty
,w
.m
yr
Two-Point Crossover
Two-Point crossover operator randomly selects two crossover points within
kr
ab
ha
11011|0010011|0110
Parent 2
11011|1100001|1110
Interchanging the parents chromosomes between the crossover points The Offspring produced are :
29
Offspring 1
11011|0010011|0110
Offspring 2
11011|0010011|0110
fo
.in
rs
de
ea
SC GA Operators
or
ty
,w
.m
yr
Uniform Crossover
Uniform crossover operator decides (with some probability know as the
kr
ab
mixing ratio) which parent will contribute how the gene values in the
ha
offspring
chromosomes.
The
crossover
operator
allows
the
parent
1 1 0 1 1 0 0 1 0 0 1 1 0 1 1 0
Parent 2
1 1 0 1 1 1 1 0 0 0 0 1 1 1 1 0
If the mixing ratio is 0.5 approximately, then half of the genes in the
offspring will come from parent 1 and other half will come from parent 2.
The possible set of offspring after uniform crossover would be:
Offspring 1
1 1 1 2 0 2 1 1 1 1 12 12 0 2 0 1 0 1 0 2 1 1 1 2 1 1 1 1 02
Offspring 2
1 2 1 1 0 1 1 2 1 2 01 01 1 1 0 2 0 2 1 1 1 2 0 1 1 2 1 2 01
Note: The subscripts indicate which parent the gene came from.
30
fo
.in
rs
de
ea
SC GA Operators
or
ty
,w
.m
yr
Arithmetic
Arithmetic crossover operator linearly combines two parent chromosome
ha
kr
ab
(0.3)
(1.4)
(0.2)
(7.4)
Parent 2
(0.5)
(4.5)
(0.1)
(5.6)
Applying
the
above
two
equations
and
assuming
the
weighting
(0.36)
(2.33)
(0.17)
(6.87)
fo
.in
rs
de
ea
SC GA Operators
or
ty
,w
.m
yr
Heuristic
Heuristic crossover operator uses the fitness values of the two parent
ha
kr
ab
is
chosen such that one or more of its genes fall outside of the allowable
upper or lower bounds. For this reason, heuristic crossover has a user
defined parameter n for the number of times to try and find an r
that results in a feasible chromosome. If a feasible chromosome is not
produced after n tries, the worst parent is returned as offspring1.
32
fo
.in
rs
de
ea
SC GA Operators
or
ty
,w
.m
yr
3.3 Mutation
After a crossover is performed, mutation takes place.
kr
ab
ha
selected
based
on
the
way
chromosomes
are
fo
.in
rs
de
ea
SC GA - Operators
or
ty
,w
.m
yr
Flip Bit
The mutation operator simply inverts the value of the chosen gene.
kr
ab
i.e. 0
goes to 1
and
1 goes to 0.
ha
1 1 0 1 1 1 1 0 0 0 0 1 1 1 1 0
Original offspring 2
1 1 0 1 1 0 0 1 0 0 1 1 0 1 1 0
and
1 to 0
34
Mutated offspring 1
1 1 0 0 1 1 1 0 0 0 0 1 1 1 1 0
Mutated offspring 2
1 1 0 1 1 0 1 1 0 0 1 1 0 1 0 0
fo
.in
rs
de
ea
SC GA - Operators
ty
,w
.m
yr
Boundary
The mutation operator replaces the value of the chosen gene with either
ab
or
ha
kr
This mutation operator can only be used for integer and float genes.
Non-Uniform
The mutation operator increases the probability such that the amount of
the mutation will be close to 0 as the generation number increases. This
mutation operator prevents the population from stagnating in the early
stages of the evolution then allows the genetic algorithm to fine tune the
solution in the later stages of evolution.
This mutation operator can only be used for integer and float genes.
Uniform
The mutation operator replaces the value of the chosen gene with a
uniform random value selected between the user-specified upper and
lower bounds for that gene.
This mutation operator can only be used for integer and float genes.
Gaussian
The mutation operator adds a unit Gaussian distributed random value to
the chosen gene. The new gene value is clipped if it falls outside of the
user-specified lower or upper bounds for that gene.
This mutation operator can only be used for integer and float genes.
35
fo
.in
rs
de
ea
SC GA Examples
or
ty
,w
.m
yr
ha
kr
ab
Example 1 :
Maximize the function f(x) = x2 over the range of integers from 0 . . . 31.
Note : This function could be solved by a variety of traditional methods
such as
One way is to :
Start from any integer x in the domain of f
Evaluate at this point x the derivative f
Observing that the derivative is +ve,
fo
.in
rs
de
ea
yr
.m
w
w
or
ty
,w
SC GA Examples
kr
ab
ha
The function f(x) is simple, so it is easy to use the f(x) value itself to rate
the fitness of a solution;
01101,
11000,
01000,
10011.
The calculated fitness values for each individual are (a) Decode the individual into an integer (called phenotypes),
01101 13;
11000 24;
01000 8;
10011 19;
24 576;
8 64;
i
, where
19 361.
N is the number of
Initial
Prob i
X value Fitness
Population
(Pheno f(x) = x2 (fraction
(chromosome) types)
of total)
1
01101
13
169
0.14
2
11000
24
576
0.49
3
01000
8
64
0.06
4
10011
19
361
0.31
Total (sum)
1170
1.00
Average
293
0.25
Max
576
0.49
Expected count
N * Prob i
0.58
1.97
0.22
1.23
4.00
1.00
1.97
fo
.in
rs
de
ea
yr
.m
w
w
,w
ty
SC GA Examples
6. Produce a new generation of solutions by picking from the existing
ab
or
ha
kr
We divide the range into four bins, sized according to the relative fitness of
1
1
1
0
1
0
0
0
0
0
0
1
Prob i
1
0
0
1
Associated Bin
0.14
0.49
0.06
0.31
0.0
0.14
0.63
0.69
.
.
.
.
.
.
.
.
.
.
.
.
0.14
0.63
0.69
1.00
By generating 4 uniform (0, 1) random values and seeing which bin they fall
into we pick the four strings that will form the basis for the next generation.
Random No
0.08
0.24
0.52
0.87
.
.
.
.
.
.
.
.
.
.
.
.
Chosen string
0.14
0.63
0.63
1.00
0
1
1
1
1
1
1
0
1
0
0
0
0
0
0
1
1
0
0
1
Random number generator decides for us to mate the first two strings
together and the second two strings together.
8. Within each pair swap parts of the members solutions to create
01101
11000
11000
0 1 1 0 |1
1 1 0 0 |0
01100
11001
11000
10011
38
11000
1 1 |0 0 0
11011
10011
1 0 |0 1 1
10000
fo
.in
rs
de
ea
yr
.m
w
w
,w
ty
SC GA Examples
9. Randomly mutate a very small fraction of genes in the population :
With a typical mutation probability of per bit it happens that none of the bits
kr
ab
or
ha
Initial
X value Fitness
Prob i
Population
(Pheno f(x) = x2 (fraction
(chromosome) types)
of total)
1
01100
12
144
0.082
2
11001
25
625
0.356
3
11011
27
729
0.415
4
10000
16
256
0.145
Total (sum)
1754
1.000
Average
439
0.250
Max
729
0.415
Expected count
0.328
1.424
1.660
0.580
4.000
1.000
1.660
Observe that :
1. Initial populations :
01101, 11000,
01000 , 10011
1 1 0 11 ,
10000
2. The total fitness has gone from 1170 to 1754 in a single generation.
3. The algorithm has already come up with the string 11011 (i.e x = 27) as
a possible solution.
39
fo
.in
rs
de
ea
SC GA Examples
or
ty
,w
.m
yr
ha
kr
ab
1
B
W1
XU - XL
90 - 0
Accuracy = ----------- = --------- = 60
24 - 1
15
W2
Hence, the binary coding and the corresponding angles Xi are given as
XiU - XiL
Xi = XiL + ----------- Si
th
chromosome.
24 - 1
e.g. the 6th chromosome binary code (0 1 0 1) would have the corresponding
angle given by Si = 0 1 0 1 = 23 x 0 + 22 x 1 + 21 x 0 + 20 x 1 = 5
90 - 0
Xi = 0 + ----------- x 5
15
= 30
The binary coding and the angles are given in the table below.
S. No. Binary code Angle S. No. Binary code
Si
Xi
Si
1
0000
0
9
1000
2
0001
6
10
1001
3
0010
12
11
1010
4
0011
18
12
1011
5
0100
24
13
1100
6
0101
30
14
1101
7
0110
36
15
1110
8
0111
42
16
1111
Angle
Xi
48
54
60
66
72
78
84
90
P,
W1 ,
W2
1 , 2
all as 2 , we get ,
ie
(Eq. 2)
0 1 , 2 90 (Eq. 3)
F= f7= f 7
are zero.
(Eq. 4)
fo
.in
rs
de
ea
yr
.m
w
w
,w
ty
SC GA - Examples
First randomly generate 8 population with 8 bit strings as shown in table below.
ha
kr
ab
or
F=f7
1
2.1
3.11
4.01
4.66
1.91
1.93
4.55
These angles and the corresponding to fitness function are shown below.
F=2.1
F=1
F=3.11
F=3.11
1=0
1=12
1=6
1=12
2=0
2=6
2=30
2=48
F=1.91
F=4.6
F=4.55
F=1.93
1=36
1=84
1=84
1=42
2=60
2=48
2=78
2=72
Fig.
by the three operators and evaluated until the termination criteria are met.
One cycle of these
fo
.in
rs
de
ea
Sc GA References
kr
ab
or
ty
,w
.m
yr
5. References : Textbooks
ha
4. "Genetic algorithms and engineering design", by Mitsuo Gen, and Runwei Cheng,
(1997), John Wiley & Sons Inc, chapter 1- 10, page 1-411.
5. "Practical genetic algorithms", by Randy L. Haupt, (2004), John Wiley & Sons
Inc, Chapter 1- 7, page 1- 251.
An exhaustive list is