Anda di halaman 1dari 34

Genetic

Algorithm
Genetic Algorithms
Bio-Inspired artificial intelligence class of
probabilistic optimization algorithms
Well-suited for nonlinear/hard problems with
a large search space
Developed by John Holland
Influenced by Darwins Origin of species
What are Genetic Algorithms?
Evolution
Variety of species individuals within
the population
Competition for limited resources
Overproduction of offspring
generation
Survival of the fittest
Origin of Species, 1859

Darwins principles
Evolution
Initial population
Variety of shapes, colors, behaviors
Each individual fits differently to the environment
How does it work?
Evolution
Initial population
Reproduction
Offspring combines both parents properties
Siblings may differ
in properties
Mutations may occur
How does it work?
Evolution
Initial population
Reproduction
Limited environmental resources
Only a portion of the
individuals survive
Survival chances
according to fitness
measure...
... usually.

How does it work?
Evolution
Changes in the population content
good properties are kept, bad are distinct
evolutionary pressure


Observations
Genetic Algorithms
produce an initial population of individuals
while (termination condition not met) do
evaluate the fitness of all individuals
select fitter individuals for reproduction
recombine between individuals
mutate individuals


The computational model
Genetic Algorithms
produce an initial population of individuals
while (termination condition not met) do
evaluate the fitness of all individuals
select fitter individuals for reproduction
recombine between individuals
mutate individuals



The computational model
Genetic Algorithms

The computational model
Gn
55
44
12
31
95
32
87
12
0
65
53
2
91
73
+
Gn+1
=
crossover
mutation
fitness
GA in action
There are N items:
Each item i has a weight w
i
Each item i has a value v
i
The knapsack has a limited capacity of W
units.
The problem description:
Maximize
While



The Knapsack problem (NP)

i
i
v
W w
i
i
s

GA in action
For example:




Knapsack capacity = 100




The Knapsack problem (NP)
J I H G F E D C B A
12 30 18 34 25 5 45 19 26 14
21 41 17 50 23 14 70 18 24 20
GA in action
A. Define the genome encoding
B. Define the fitness function


Before we begin
GA in action
Bit array:
0 = dont take the item
1 = take the item



(items taken: A, B, E)


Genome Encoding
0 0 0 0 0 1 0 0 1 1
- - - - - E - - B A
GA in action
Bit array:
0 = dont take the item
1 = take the item



(items taken: A, B, C, D, E, F, G, I)


Genome Encoding
0 1 0 1 1 1 1 1 1 1
- I - G F E D C B A
GA in action







Fitness Function
( )

|
.
|

\
|
s
=


otherwise w W
W w v
Fitness
items
i
items
i
items
i
:
:
J I H G F E D C B A
12 30 18 34 25 5 45 19 26 14
21 41 17 50 23 14 70 18 24 20
58
100 45
= + + =
s = + +
E B A
E B A
v v v Fitness
w w w
GA in action







Fitness Function
( )

|
.
|

\
|
s
=


otherwise w W
W w v
Fitness
items
i
items
i
items
i
:
:
J I H G F E D C B A
12 30 18 34 25 5 45 19 26 14
21 41 17 50 23 14 70 18 24 20
( ) 98
100 198
= + + + + + + + =
> = + + + + + + +
I G F E D C B A
I G F E D C B A
w w w w w w w w W Fitness
w w w w w w w w
Genetic Algorithms
produce an initial population of individuals
while (termination condition not met) do
evaluate the fitness of all individuals
select fitter individuals for reproduction
recombine between individuals
mutate individuals



Fitness Evaluation
Genetic Algorithms
For each individual, calculate the fitness value:


Fitness Evaluation
Genetic Algorithms
produce an initial population of individuals
while (termination condition not met) do
evaluate the fitness of all individuals
select fitter individuals for reproduction
recombine between individuals
mutate individuals



Selection
Genetic Algorithms
Fitness-proportionate (roulette wheel)
Rank Selection (scaling)
Tournament Selection





Selection
Genetic Algorithms
produce an initial population of individuals
while (termination condition not met) do
evaluate the fitness of all individuals
select fitter individuals for reproduction
recombine between individuals
mutate individuals



Crossover
Genetic Algorithms
Using a crossover probability P
C
per individual:

Single point crossover
Two/multi points crossover
Uniform / weighted crossover


Crossover
Genetic Algorithms
produce an initial population of individuals
while (termination condition not met) do
evaluate the fitness of all individuals
select fitter individuals for reproduction
recombine between individuals
mutate individuals


Mutation
Genetic Algorithms
Using a crossover probability P
M
per bit:

Bit flip mutation
Bit switch mutation



Mutation
Genetic Algorithms

Crossover & Mutation examples
Genetic Algorithms
produce an initial population of individuals
while (termination condition not met) do
evaluate the fitness of all individuals
select fitter individuals for reproduction
recombine between individuals
mutate individuals



Initial Population
Genetic Algorithms
Create a fixed size population using:
Random generated individuals
Individuals resulted from previous
evolutionary runs
Initial Population
GA in action
Example of random population:

Initial Population
Genetic Algorithms
produce an initial population of individuals
while (termination condition not met) do
evaluate the fitness of all individuals
select fitter individuals for reproduction
recombine between individuals
mutate individuals


Termination Condition
Genetic Algorithms
When an optimal solution is found
When the results converge to constant value
After a predetermined number of generations



Termination Condition
Genetic Algorithms
Population size: 100 individuals
Crossover: Single pt., P
C
=0.9
Mutation: Bit flip, P
M
=0.01
Selection: tournament, groups of 2
Termination condition: after 100
generations




Sample Evolutionary Run
Genetic Algorithms




Sample Evolutionary Run
Genetic Algorithms
GA is nondeterministic two runs may end
with different results
Theres no indication whether best
individual is optimal
Fitness tends to converge during time

Conclusions

Anda mungkin juga menyukai