Академический Документы
Профессиональный Документы
Культура Документы
1 / 76
Summary Slide
Agenda
Part I
What is a genetic algorithm?
Principles of genetic algorithms.
Part II
Applications
Procedure
Conclusions
2 / 76
Part I: GA Theory
4 / 76
GA Concept
H,e,l,l,o DNA
5 / 76
Instead of Introduction...
Hill climbing
global
local
6 / 76
Instead of Introduction(2)
Multi-climbers
7 / 76
Instead of Introduction(3)
Genetic algorithm
I am at the
I am not at the top. top
My high is better! Height is ...
I will continue
8 / 76
Instead of Introduction(3)
Genetic algorithm - few microseconds after
9 / 76
Survival of the Fittest
The main principle of evolution used in GA
is survival of the fittest.
The good solution survive, while bad ones die.
10 / 76
Algorithmic Phases
Initialize the population
Perform crossover
Perform mutation
no
Stop?
yes
The End
11 / 76
Designing GA...
How to represent genomes?
How to define the crossover operator?
How to define the mutation operator?
How to define fitness function?
How to generate next generation?
How to define stopping criteria?
12 / 76
Crossover
Crossover is concept from genetics.
Crossover combines genetic material from two parents,
in order to produce superior offspring.
Few types of crossover:
One-point
Multiple point.
13 / 76
One-point Crossover
0 7
1 6
2 5
3 4
4 3
5 2
6 1
7 0
Parent #2
Parent #1 14 / 76
One-point Crossover
0 7
1 6
5 2
3 4
4 3
5 2
6 1
7 0
Parent #2
Parent #1 15 / 76
Problems With Gas
Sometimes GA is extremely slow,
and much slower than usual algorithms
16 / 76
Advantages of Gas
Concept is easy to understand.
Minimum human involvement.
Computer is not learned how to use existing solution,
but to find new solution!
Supports multi-objective optimization
Always an answer; answer gets better with time !!!
Inherently parallel; easily distributed
Many ways to speed up and improve a GA-based application as
knowledge about problem domain is gained
17 / 76
Some Applications of Gas
Control systems design Software guided circuit design
Optimization
19 / 76
Basic genetic algorithms
Step 1: Represent the problem variable domain as a
chromosome of a fixed length, choose the size of a
chromosome population N, the crossover probability pc
and the mutation probability pm.
Step 2: Define a fitness function to measure the
performance, or fitness, of an individual chromosome in
the problem domain. The fitness function establishes
the basis for selecting chromosomes that will be mated
during reproduction.
20 / 76
Basic genetic algorithms
Step 3: Randomly generate an initial population of
chromosomes of size N:
x1, x2 , . . . , xN
Step 4: Calculate the fitness of each individual
chromosome:
f (x1), f (x2), . . . , f (xN)
Step 5: Select a pair of chromosomes for mating
from the current population. Parent chromosomes are
selected with a probability related to their fitness.
21 / 76
Basic genetic algorithms
Step 6: Create a pair of offspring chromosomes by
applying the genetic operators - crossover and
mutation.
Step 7: Place the created offspring chromosomes
in the new population.
Step 8: Repeat Step 5 until the size of the new
chromosome population becomes equal to the
size of the initial population, N.
Step 9: Replace the initial (parent) chromosome
population with the new (offspring) population.
Step 10: Go to Step 4, and repeat the process until
the termination criterion is satisfied.
22 / 76
Example: Maximizing a
Function of One Variable
This example adapts the method of an example presented in
Goldberg's book [1]. Consider the problem of maximizing the
function
23 / 76
Example: Maximizing a
Function of One Variable
24 / 76
Example: Maximizing a
Function of One Variable
We select the chromosomes that will reproduce based on their tness
values, using the following probability:
25 / 76
Example: Maximizing a
Function of One Variable
26 / 76
Example: Maximizing a
Function of One Variable
For this example, we let the probability of mutation be 0.001.
After selection, crossover, and mutation are complete, the new
population is tested with the fitness function.
27 / 76