PPT

The Design and Analysis of Algorithms
Chapter 6:
Transform and Conquer
Genetic Algorithms
Genetic Algorithms







What is a GA
Terms and Definitions
Basic Genetic Algorithm
Example
Selection Methods
Crossover Methods
Mutation
2
What is a GA

Searches for good solutions among possible
solutions.

Uses evolutionary mechanisms including
natural selection, reproduction, mutation

The best possible solution may be missed

Useful in problems that are too big or too
difficult to solve with conventional techniques.
3
Terms and Definitions (1)


A solution is coded by a string , also called
chromosome. The words string and
chromosome are used interchangeably
A strings fitness is a measure of how good
a solution it codes. Fitness is calculated by
a fitness function.
4
Terms and Definitions (2)

Selection: The procedure to choose parents

Roulette wheel selection is a way of picking out

A wedge on a roulette wheel proportional to the
string's fitness.

A 'fit' string is more likely to be chosen than an
'unfit' string.
a string from among a group of strings (a
population).
5
Terms and Definitions (3)


Crossover is the procedure by which two
chromosomes mate to create a new offspring
chromosome
parent 1 is copied of up to a randomly chosen
point, and parent 2 is copied from that point
onwards.
Parent 1
100|110
Parent 2
011|100
Offspring1
100 100
Offspring2
011 110
6
Terms and Definitions (4)


Mutation : with a certain probability flip a
bit in the offspring
Various ways to implement mutation,
optional.
7
Basic Genetic Algorithm
1.
2.
3.
4.
Start: Generate random population of n
chromosomes (suitable solutions for the
problem)
Fitness: Evaluate the fitness f(x) of each
chromosome x in the population
New population: Create a new population
by repeating following steps until the new
population is complete
Test: If the end condition is satisfied, stop,
and return the best solution in current
population
8
New Population

Selection: Select two parent chromosomes from
a population according to their fitness (the
better fitness, the bigger chance to be selected)

Crossover: With a crossover probability cross
over the parents to form a new offspring
(children). If no crossover was performed,
offspring is an exact copy of parents.

Mutation: With a mutation probability mutate
new offspring at each locus (position in
chromosome).
9
Termination Criteria

After a pre-specified number of generations

When an individual solution reaches a prespecified level of fitness

When the variation of individuals from one
generation to the next reaches a prespecified level of stability, e.g. all become
equal
10
Example: The Knapsack Problem

A knapsack with capacity C,

A set of items each with volume and value.

Find a subset of the items that can fit in the
knapsack and has maximum value.

This is an optimization NP problem. Given n
items, the number of all subsets to be
examined is 2n.
11
Example (cont.)
O1
O2
O3
O4
Volume
4
3
1
5
Value
3
2
3
5
Sample candidate solutions
O1
O2
O3
O4
Volume Value
1
2
3
0
1
1
1
0
0
0
0
1
1
1
0
8
9
5
4
0
1
1
1
9
5
0
1
1
0
4
7
8
6
10 <<<<<
5
12
Issues
 How
to represent an individual
 How to choose
 the
fitness function
 the
selection method
 the
crossover method
 the
frequency of mutations
13
More on Selection

Roulette Wheel Selection: proportional to the
fitness

Rank Selection: rank is assigned based on
fitness, then choose proportional to the rank

Steady-State Selection: sort and always
choose the best

Elitism: copy the best individuals in the next
generation

Tournament selection
14
Tournament Selection
Saves time used for sorting
 Fix a constant k < 1, e.g. k =0.75
 Randomly choose two individuals and a
random number r < 1
 if r < k, select the individual with the higher
fitness to be a parent, otherwise select the other
individual to be a parent
 Repeat steps 2 and 3 until the new generation is
created
15
More on Crossover








Random point of split
Fixed point of split
Single point: split in two
Two points: split in three
Uniform: bits are chosen randomly
Arithmetic crossover: the offspring is a result
of some arithmetic operation
Two parents
Three parents
16
Applications

Optimization problems

Search in a pool of candidate solutions
Tutorial:
http://cs.felk.cvut.cz/~xobitko/ga/
17