Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
Part I. GENETIC ALGORITHMS
Chapter 1.
Chapter 2.
Chapter 3.
Chapter 4.
GAs: What Are They?
GAs: How Do They Work?
GAs: Why Do They Work?
GAs: Selected Topics
Chapter 1
GAs: What Are They?
Simple Genetic Algorithm
(SGA)
Darwin’s theory of evolution states that the strongest
species survive, and thus reproduce themselves,
creating more outstanding offspring.
GA is a parallel, global search and optimal technique
based on natural or artificial genetic operations, which
include the operators of reproduction(selection),
crossover(one point), and mutation(bit reverse).
GA can effectively solve complex, confliction,
mathematically difficult and constrained multiple
objective problem.
The Evolutionary Cycle
Selection
Parents
Recombination
Population
Mutation
Replacement
Offspring
Flow Chart
Algorithm
Procedure EVOLUTION_PROGRAM
Begin
t0
Initialize P(t)
Evaluate P(t)
While (not termination-condition) do
Begin
tt+1
Select P(t) from P(t-1)
Alter P(t)
Evaluate P(t)
End
End
Example
(one variable optimization problem)
max f ( x ) x sin( 10 x ) 1
x 1..2
Results
Components of GA
1.
2.
3.
4.
5.
6.
A genetic representation
Genetic operators
Values for various parameters
An evaluation function
A way to create an initial population
GA algorithm
Hillclimbing, Simulated
Annealing, and Genetic
Algorithms
Example:
max f (v) 11 one(v) 150
Comparison:
Example
max f (v) 11 one(v) 150
v1 (110110101110101111111011011011)
v 2 (111000100100110111001010100011)
v3 (000010000011001000000010001000)
f (v1 ) 11 22 150 92
f (v2 ) 11 15 150 15
f (v3 ) 11 6 150 84
global max :
v g (111111111111111111111111111111)
f (v g ) 11 30 150 180
local max :
v g (000000000000000000000000000000)
f (v g ) 11 0 150 150
Hillclimbing
Procedure Iterated Hillclimber
begin
t0
repeat
local FALSE
select a current string vc at random
evaluate vc
repeat
select 30 new strings in the neighborhood of vc
by flipping single bits of vc
select the string vn from the set of new strings
with the largest value of objective function f
if f (vn) < f (vn) then vc vn
else local TRUE
until local
tt+1
until t = max
end
Simulated Annealing
Procedure Simulated Annealing
begin
t0
Initialize temperature T
select a current string vc at random
evaluate vc
repeat
repeat
select a new string vn
in the neighborhood of vc
by flipping single bits of vc
if f (vc) < f (vn)
then vc vn
else
if random[0..1) < exp{(f (vn) - f (vc))/T}
then vc vn
tt+1
until (termination-condition)
T g(T,t)
tt+1
until (stop-criterion)
end
Genetic Algorithm
Procedure Genetic Algorithm
Begin
t0
Initialize P(t)
Evaluate P(t)
While (not termination-condition) do
Begin
tt+1
Select P(t+1) from P(t)
Alter P(t)
Evaluate P(t)
End
End
Hillclimbing & Simulated annealing
Procedure Iterated Hillclimber
begin
t0
repeat
local FALSE
select a current string vc at random
evaluate vc
repeat
select 30 new strings in the neighborhood
of vc by flipping single bits of vc
select the string vn from the set of new
strings with the largest value of
objective function f
if f (vn) < f (vn) then vc vn
else local TRUE
until local
tt+1
until t = max
end
Procedure Simulated Annealing
begin
t0
Initialize temperature T
select a current string vc at random
evaluate vc
repeat
repeat
select a new string vn
in the neighborhood of vc
by flipping single bits of vc
if f (vc) < f (vn)
then vc vn
else
if random[0..1) < exp{(f (vn) - f
(vc))/T}
then vc vn
until (termination-condition)
T g(T,t)
tt+1
until (stop-criterion)
end
Hillclimbing, Simulated
Annealing, and Genetic
Algorithms
Comparison:
GA vs. Conventional
Optimization
a coding of solution set --- solutions themselves
multi-direction --- one direction
a population of solutions --- a single solution
fitness function --- derivatives or other auxiliary
knowledge
probabilistic transition rules --- deterministic rules