You are on page 1of 50

A General Introduction to

Artificial Intelligence
Outline

 Genetic Algorithms.
 Particle Swarm Optimization.
 Ant Colony Optimization.
Genetic Algorithms

 History of GAs.
 Applications of GAs.
 Components of GAs.
 General GA evolutionary loop.
 Examples.
Genetic Algorithms
 Invented by John Holland (1975).
 Using population-based approach.
 Based on Natural Selection ('survival of the fittest).
 Use usually fixed length and linear representation
of chromosomes.
 Genetic Operators for modification: Crossover and
Mutation.
Genetic Algorithms -
Applications
Domain Application Types
Control gas pipeline, pole balancing, missile evasion, pursuit

Design semiconductor layout, aircraft design, keyboard


configuration, communication networks
Scheduling manufacturing, facility scheduling, resource allocation

Robotics trajectory planning

Machine Learning designing neural networks, improving classification


algorithms, classifier systems
Signal Processing filter design

Game Playing poker, checkers, prisoner’s dilemma

Combinatorial set covering, travelling salesman, routing, bin packing,


graph colouring and partitioning
Optimization
Genetic Algorithms -
Components
 A problem to solve, and ...
 Encoding technique (gene, chromosome)
 Initialization procedure (creation)
 Evaluation function (environment)
 Selection of parents (reproduction)
 Genetic operators (mutation, recombination)
 Parameter settings (practice and art)
Genetic Algorithms -
General Algorithm
Initialize a population at random

YES
Are stopping criteria satisfied ? Stop &Report

NO
Select individuals based on fitness

Perform GOs on selected individual(s)

Replace old population with the new


Genetic Algorithms -
Individual Representation

 Chromosomes could be:


 Bit strings (0101 ... 1100)
 Real numbers (43.2 -33.1 ... 0.0 89.2)
 Permutations of element (E11 E3 E7 ... E1 E15)
 Lists of rules (R1 R2 R3 ... R22 R23)
 Program elements (genetic programming)
 ... any data structure ...
Genetic Algorithms -
Individual Representation

 Chromosomes could be:


 Bit strings (0101 ... 1100)
 Real numbers (43.2 -33.1 ... 0.0 89.2)
 Permutations of element (E11 E3 E7 ... E1 E15)
 Lists of rules (R1 R2 R3 ... R22 R23)
 Program elements (genetic programming)
 ... any data structure ...
Genetic Algorithms -
Examples
 Problem 1:
Finding the global optimum of function f.
 Problem 2:
SAT problem.
 Problem 3:
TSP problem.
 Problem 4:
n-queen problem.
Genetic Algorithms -
Individual Representation
 Binary representation for problem 1, 2.

00010110100111010010
 Permutation representation for problem 3.
(2 5 7 6 8 1 3 4)

 Integer representation for problem 4


(1 3 2 2 1 5 6 7)
Genetic Algorithms -
Fitness-Based Selection
 Problem 1:
Fitness function: the function value at the point.
 Problem 2:
Fitness function: the number of satisfied clauses. (bigger
the better).
 Problem 3:
Fitness function: The cost of the tour (smaller the better).
 Problem 4:
Fitness function: the number of hitting queens (smaller
the better).
Genetic Algorithms -
Fitness-Based Selection
Selection mechanism:
 Routledge-wheen.

 Tournament selection. 0.17


0.25
 Ranking-based selection.

 Truncated selection. 0.08


 Annealing selection. 0.5

 (, ) selection.

 (+) selection.

 ……
Genetic Algorithms -
Crossover and Mutation
 Problem 1, 2:
Crossover
01011011110 01011011110

01011011110 01011011110
Mutation
01011011110

01011001110
Genetic Algorithms -
Crossover and Mutation
 Problem 3:
Crossover

12435 13535 13542


43521 42421 32451

Mutation
43521 41523
Genetic Algorithms -
Crossover and Mutation
 Problem 4:
Crossover

Mutation
Genetic Algorithms -
Parameters

 Population Size (30-200)


 Number of generations (100-500)
 Crossover probability (0.8-0.9)
 Mutation probability (0.01-0.1)
Genetic Algorithms -
Further Readings
 M. Mitchell, An Introduction to Genetic Algorithms, Second
Edition, MIT Press, 1998.
 R.L. Haupt and S.E. Haupt, Practical Genetic Algorithms,
Second Edition, John Wiley and Sons, 2004.
 D.E. Goldberg, Genetic Algorithms in Search, Optimization
and Machine Learning, Addison-Wesley Publishing, 1989.
 Z. Michalewicz, Genetic Algorithms + Data Structures =
Evolutionary Programs, Third Edition, Springer-Verlag,
1998.
Particle Swarm

 History of PSO
 Full PSO model
 Aspects of the basic PSO
 Performance Measures
INVENTORS
 Proposed in 1995 by Eberhart and Kennedy
 Used for solving optimization problems of
continuous nonlinear functions

Russell Eberhart James Kennedy


electrical engineer social-psychologist
EXPERIMENTS OF HEPPNER

 Emerged from earlier


experimences on birds flock
behaviors by a biologist -
Frank Heppner:
 Birds learn from success of
themselves
 Birds learn from the success
of their neighbors
PSO Search Scheme

 Using a number of particles, i.e., birds, that


constitute a swarm moving around in the
search space looking for the best solution.
 Each particle is treated as a point in a N-
dimensional space which adjusts its “flying”
according to its own flying experience as well
as the flying experience of other particles.
Particle Flying Model
 pbest  the best solution achieved so far by that
particle.
 gbest  the best solution obtained so far by any
particle in the neighborhood of that particle.
 The basic concept of PSO lies
in accelerating each particle
toward its pbest and the
gbest locations, with a
random weighted acceleration
at each time.
Particle Flying Model
w1  c1  rand ()
w2  c2  rand ()

sk 1 gbest k
gbest k
v k 1 d
k
v
k
pbest
pbest k
s k
d
Particle Flying Model

 Each particle tries to


modify its position using
the following information: w1  c1  rand ()
w2  c2  rand ()
 the current positions,
 the current velocities, sk 1 gbest k
gbest k
 the distance between the v k 1 d
k
current position and pbest, v
pbest k
 the distance between the pbest k
s k
d
current position and the
gbest.
Particle Flying Model

k 1 k k 1
s  s v
w1  c1  rand ()
w2  c2  rand ()
i i i
sk 1 gbest k
gbest k
k 1 d
k 1 k k v
v i  v  v
i i
v k

pbest k
pbest k
s k
d

vik  c1  rand ()  ( pbestik  sik )  c2  rand ()  ( gbest k  sik )


PSO ALGORITHM
For each particle
Initialisize
End

Do
   For each particle
        Calculate fitness value
        If the fitness value is better than the best fitness value (pbest) in history
            set current value as the new pbest
   End

   Choose the particle with the best fitness value of all the particles as the gbest
   For each particle
        Calculate particle velocity according equation (*)
        Update particle position according equation (**)
   End
While stopping condition is true

* vik 1  vik  vik


vik  c1  rand ()  ( pbestik  sik )  c2  rand ()  ( gbest k  sik )
s
** i
k 1
 si
k
 vi
k
GBEST PSO AND LBEST PSO

 Gbest PSO:
 Neighbor of particles is the
entire swarm

 Lbest PSO:
 Neighbor of a particle is some
particles that are near to the
particle.
INITIALISING PSO

 The position:
 Should be initialized to uniformly cover the search space

xij (0)  xmin, j  rij ( xmax, j  xmin, j ), j  1,..., nx , i  1,..., ns

 The velocity:
 can be initialized to zero: vij (0)  0
STOPPING CONDITIONS

 Two guiding principles:


 The stopping coditions
should not cause PSO to
prematurely
 The stopping condition
should not lead to over-
calculation of the fitness
values
STOPPING CONDITIONS
 There have been some ways to terminate PSO
algorithms
 Terminate when a maximum number of iterations has
been exceeded.
 Terminate when an acceptable solution has been
found
 Terminate when no improvement is observed over a
number of iterations
 Terminate when the normalized swarm radius is close
to zero
 Terminate when the objective function slope is
approximately zero
BASIC PSO PARAMETERS

 Swarm size:
 from 10 to 30

 Neighborhood size:
 Smaller neighborhood sizes are
less susceptible to local optimal
 Starting with small neighborhood
and increase the neighborhood
size.
 Learning factors:
 c =c =2.0
1 2
PERFORMANCE MEASURES
 Accuracy : accuracy( S , t ) | f ( y ' (t )  f ( x*)) |

n
 Reliability : reliabilit y ( S (t ),  ) 
N
 100

 Robustness : robustness( S (t ))  [   ,   ]

Number of iterations to find a solution


 Efficiency : with a specified accuracy
ns nx
1
 Diversity :
diversity ( S (t )) 
ns
  ( xij (t )  x j (t )) 2
i 1 j 1
PSO - Further Readings

 A. P. Engelbrecht, Fundamentals of Computational


Swarm Intelligence, John Wiley & Sons, 2006.
 R. C. Eberhart, Swarm Intelligence, Morgan
Kaufmann, 2001.
Ant Colony Optimization (ACO)

 ACO history
 ACO applications.
 Implementation Steps.
 ACO basic algorithms
ACO-History
 Goss et al. 1989,
Deneuborg et al.
1990, experiments
with Argentine ants
 Dorigo et al. 1991,
applications to
shortest path
problems
 Now: established
method for various
optimization problems
ACO-Applications
Efficiently Solves NP hard Problems 1
 Routing
5
 TSP (Traveling Salesman Problem) 2
 Vehicle Routing
 Sequential Ordering
 Assignment 3 4
 QAP (Quadratic Assignment Problem)
 Graph Coloring
 Generalized Assignment
 Frequency Assignment
 University Course Time Scheduling
ACO-Applications
 Scheduling
 Job Shop
 Open Shop
 Flow Shop
 Total tardiness (weighted/non-weighted)
 Project Scheduling
 Group Shop
 Subset
 Multi-Knapsack
 Max Independent Set
 Redundancy Allocation
 Set Covering
 Weight Constrained Graph Tree partition
 Arc-weighted L cardinality tree
 Maximum Clique
ACO-Applications
 Other
 Shortest Common Sequence
 Constraint Satisfaction
 2D-HP protein folding
 Bin Packing
 Machine Learning
 Classification Rules
 Bayesian networks
 Fuzzy systems
 Network Routing
 Connection oriented network routing
 Connection network routing
 Optical network routing
Problem Solving by ACO

1. Represent the problem in the form of sets of


components and transitions, or by a set of weighted
graphs, on which ants can build solutions
2. Define the meaning of the pheromone trails
3. Define the heuristic preference for the ant while
constructing a solution
4. If possible implement a efficient local search algorithm
for the problem to be solved.
5. Choose a specific ACO algorithm and apply to problem
being solved
6. Tune the parameter of the ACO algorithm.
General Ant Colony Heuristic
For discrete optimization problem with:
 Set of nodes S={1,…,N}

 Edges for nodes with time-dependent costs

 States = lists of nodes

 Neighbourhood of states given by the edges

 Constraints for feasible states, solutions

 Costs for solutions given by the edge-costs


General Ant Colony Heuristic

Ants generation Pheromone


and activity evaporation

Daemon
activities
General Ant Colony Heuristic
Ants generation and
activity: compute
make decision
 while resources transition
and move
probabilities
available: create ant
 for each ant:
1. initialize
evaluate
update the
2. let ant run until a the current state
solution is found state

3. possibly: update possibly


pheromone and update
pheromone
routing table
Ant System (AS)
 Used to solve TSP
 Transition from city i to j depends on:
1. Tabu list – list of cities not visited
2. Visibility = 1/dij; represents local information – heuristic
desirability to visit city j when in city i.
3. Pheromone trail Tij(t) for each edge – represents the
learned desirability to visit city j when in city i.

 Generally, have several ants searching the solution space.


Ant System (AS)
 Transition Rule
 Probability of ant k going from city i to j:

k
p (t ) 
 ij   

(t ) .  ij

  (t ) . il 
ij  
il
J ik

 Alpha and beta are adjustable parameters.


Ant System (AS)

k
p (t ) 
 ij (t )  . 

ij

  (t )  . il 
ij  
il
J ik

 Alpha = 0 : represents a greedy approach


 Beta = 0 : represents rapid selection of
tours that may not be optimal.
 Thus, a tradeoff is necessary.
Ant System (AS)
 Pheromone update :

k k k
  Q / L (t ) if (i, j )  T (t ) else 0.
ij

 T is the tour done at time t by ant k, L is the


length, Q is a heuristic parameter.
 Pheromone decay:

 ij (t )  (1   ). ij (t )   ij (t )
Ant Colony System (ACS)

k
 
j  arg max uJ i {  ij (t ) .iu  } if q  qo j  J

 Modifications to AS.
 New transition rule:
qo is a parameter that can be tweaked
 It is similar to tuning temperature in SA.
 J is a city randomly selected according to the
probability calculated previously.
 This helps ACS to improvise on the best solutions.
Ant Colony System (ACS)

 ij (t )  (1   ). ij (t )   . ij (t )
 Pheromone update rule (new):
 However, only applied to the best ant.
 The change in the pheromone concentration =
1/L+.
 Local updates done as follows:

 ij (t )  (1   ). ij (t )   0
ACO - Further Readings
 A. P. Engelbrecht, Fundamentals of
Computational Swarm Intelligence, John Wiley &
Sons, 2006.
 E. Bonabeau, M. Dorigo, G. Theraulaz, Swarm
Intelligence: From Natural to Artificial Systems,
Oxford University Press, 1999.
 ACO tutorials by Marco Dorigo.

You might also like