Download - CSM6120 Introduction to Intelligent Systems
![Page 2: CSM6120 Introduction to Intelligent Systems](https://reader035.vdocuments.us/reader035/viewer/2022062315/568164e5550346895dd74a0b/html5/thumbnails/2.jpg)
Today Other evolutionary algorithms
Genetic programming Ant colony optimization Particle swarm optimization
Knowledge representation Several approaches
![Page 3: CSM6120 Introduction to Intelligent Systems](https://reader035.vdocuments.us/reader035/viewer/2022062315/568164e5550346895dd74a0b/html5/thumbnails/3.jpg)
The GA cycle
selection
population evaluation
modification
discard
deleted members
parents
children
modifiedchildren
evaluated children
recombinationchosenparents
![Page 4: CSM6120 Introduction to Intelligent Systems](https://reader035.vdocuments.us/reader035/viewer/2022062315/568164e5550346895dd74a0b/html5/thumbnails/4.jpg)
Genetic programming Devised by John Koza
36 Human-Competitive Results Produced by Genetic Programming http://www.genetic-programming.com/humancompetitive.html
![Page 5: CSM6120 Introduction to Intelligent Systems](https://reader035.vdocuments.us/reader035/viewer/2022062315/568164e5550346895dd74a0b/html5/thumbnails/5.jpg)
Genetic programming
√
*
B *
A A
![Page 6: CSM6120 Introduction to Intelligent Systems](https://reader035.vdocuments.us/reader035/viewer/2022062315/568164e5550346895dd74a0b/html5/thumbnails/6.jpg)
Trees consist of functions and terminals
Choose a set of functions and terminals, e.g { +, -, *, /, √}; {A,B}
Generate random programs (trees) which are syntactically correct
Follow a GA-like procedure Evaluate fitness, select parents Apply crossover and mutation
Koza’s algorithm
![Page 7: CSM6120 Introduction to Intelligent Systems](https://reader035.vdocuments.us/reader035/viewer/2022062315/568164e5550346895dd74a0b/html5/thumbnails/7.jpg)
/
A /
/ /
A A A A
*
A -
* √
A A A
/
A /
/ /
√ A A A
*
A -
* A
A A
X
A
Crossover
![Page 8: CSM6120 Introduction to Intelligent Systems](https://reader035.vdocuments.us/reader035/viewer/2022062315/568164e5550346895dd74a0b/html5/thumbnails/8.jpg)
Examples Symbolic regression (function finding)
http://alphard.ethz.ch/gerber/approx/default.html http://www.geneticprogramming.org/symbolic/mai
n.htm
Moon lander! http://genetic.moonlander.googlepages.com/
![Page 9: CSM6120 Introduction to Intelligent Systems](https://reader035.vdocuments.us/reader035/viewer/2022062315/568164e5550346895dd74a0b/html5/thumbnails/9.jpg)
Other bio-inspired approaches Simulated annealing
Ant colony optimization (ACO)
Particle swarm optimization (PSO)
...
![Page 10: CSM6120 Introduction to Intelligent Systems](https://reader035.vdocuments.us/reader035/viewer/2022062315/568164e5550346895dd74a0b/html5/thumbnails/10.jpg)
Ant Colony Optimization Nature: unsupervised complex problem solving Simple agents working locally, displaying global
intelligence Ants are capable of finding the shortest route between
food source and nest Also react to changes in environment (obstructions etc)
nest
food source
![Page 11: CSM6120 Introduction to Intelligent Systems](https://reader035.vdocuments.us/reader035/viewer/2022062315/568164e5550346895dd74a0b/html5/thumbnails/11.jpg)
Ant Colony Optimization Shortest path is discovered via pheromone trails
Each ant moves ‘randomly’ Pheromone is deposited on path Ants detect lead ant’s path, inclined to follow More pheromone on path increases probability of path
being followed
nest
food source
![Page 12: CSM6120 Introduction to Intelligent Systems](https://reader035.vdocuments.us/reader035/viewer/2022062315/568164e5550346895dd74a0b/html5/thumbnails/12.jpg)
Problem formulation for ACO Graph representation (nodes and edges) Heuristic desirability of edges Construction of feasible solutions Pheromone update rule (pheromone attached to edges)
Also we need a probabilistic transition rule This evaluates the next step for an ant and considers
both the heuristic desirability of an edge and the amount of pheromone deposited on the edge
The edge with the highest value of this combination is chosen by the artificial ant
Ant Colony Optimization
![Page 13: CSM6120 Introduction to Intelligent Systems](https://reader035.vdocuments.us/reader035/viewer/2022062315/568164e5550346895dd74a0b/html5/thumbnails/13.jpg)
ACO algorithm Key idea: virtual pheromone accumulated on path
edges
Algorithm for one ant: Select starting node at random While not-finished
Evaluate all edges from this node Select the best-looking edge via probabilistic transition rule Deposit artificial pheromone on the chosen edge
Finished path is a potential solution, analysed for optimality
![Page 14: CSM6120 Introduction to Intelligent Systems](https://reader035.vdocuments.us/reader035/viewer/2022062315/568164e5550346895dd74a0b/html5/thumbnails/14.jpg)
Evaluateposition
Choose nextnode
Generate Gathersolutions
Evaluateposition
continue
stop
Begin
Updatepheromone
ants
Return bestsolution
continue
stop
(transition rule)Ants
ACO algorithm
![Page 15: CSM6120 Introduction to Intelligent Systems](https://reader035.vdocuments.us/reader035/viewer/2022062315/568164e5550346895dd74a0b/html5/thumbnails/15.jpg)
ACO: TSPDemo of ACO applied to large(ish) dynamic TSP
(where cities are moved after a number of iterations)
http://www.tjhsst.edu/~rlatimer/techlab07/Students/RWard/ProjectV1-6/Project/tsp2.html
Performs well! Combines heuristic knowledge with discovered
knowledge
![Page 16: CSM6120 Introduction to Intelligent Systems](https://reader035.vdocuments.us/reader035/viewer/2022062315/568164e5550346895dd74a0b/html5/thumbnails/16.jpg)
Particle Swarm Optimization Based on the flocking/swarming behaviour of
birds/insects
![Page 17: CSM6120 Introduction to Intelligent Systems](https://reader035.vdocuments.us/reader035/viewer/2022062315/568164e5550346895dd74a0b/html5/thumbnails/17.jpg)
The basic idea Each particle is searching for the optimum and
encodes a solution (like the GA approach)
Each particle is moving (can’t search otherwise!), and hence has a velocity
Each particle remembers the position it was in where it had its best result so far (its personal best)
But this would not be much good on its own; particles need help in figuring out where to search
![Page 18: CSM6120 Introduction to Intelligent Systems](https://reader035.vdocuments.us/reader035/viewer/2022062315/568164e5550346895dd74a0b/html5/thumbnails/18.jpg)
The basic idea The particles in the swarm co-operate
They exchange information about what they’ve discovered in the places they have visited
The co-operation need only be very simple; in basic PSO it is like this: A particle has a neighbourhood associated with it A particle knows the fitnesses of those in its
neighbourhood, and uses the position of the one with best fitness
This position is simply used to adjust the particle’s velocity
![Page 19: CSM6120 Introduction to Intelligent Systems](https://reader035.vdocuments.us/reader035/viewer/2022062315/568164e5550346895dd74a0b/html5/thumbnails/19.jpg)
Initialization: Positions and velocities
![Page 20: CSM6120 Introduction to Intelligent Systems](https://reader035.vdocuments.us/reader035/viewer/2022062315/568164e5550346895dd74a0b/html5/thumbnails/20.jpg)
What a particle does In each time-step, a particle has to move to a new
position
It does this by adjusting its velocity via: The current velocity + A weighted random portion in the direction of its personal best +
A weighted random portion in the direction of the neighbourhood best +
A weighted random portion in the direction of the global best
Having worked out a new velocity, its position is simply its old position plus the new velocity
![Page 21: CSM6120 Introduction to Intelligent Systems](https://reader035.vdocuments.us/reader035/viewer/2022062315/568164e5550346895dd74a0b/html5/thumbnails/21.jpg)
PSO search
![Page 22: CSM6120 Introduction to Intelligent Systems](https://reader035.vdocuments.us/reader035/viewer/2022062315/568164e5550346895dd74a0b/html5/thumbnails/22.jpg)
Neighbourhoods
geographicalsocial
![Page 23: CSM6120 Introduction to Intelligent Systems](https://reader035.vdocuments.us/reader035/viewer/2022062315/568164e5550346895dd74a0b/html5/thumbnails/23.jpg)
Neighbourhoods
Global
![Page 24: CSM6120 Introduction to Intelligent Systems](https://reader035.vdocuments.us/reader035/viewer/2022062315/568164e5550346895dd74a0b/html5/thumbnails/24.jpg)
PSO visualisation http://www.projectcomputing.com/resources/psovis/index.
html
More info on PSO http://www.swarmintelligence.org/
![Page 25: CSM6120 Introduction to Intelligent Systems](https://reader035.vdocuments.us/reader035/viewer/2022062315/568164e5550346895dd74a0b/html5/thumbnails/25.jpg)
Multi-objective optimisation Sometimes we're searching for an answer which
has to be optimal in several aspects
For example: Finding the quickest and cheapest flight Finding the lightest and strongest construction material Finding the game strategy that will maximise trade profit,
cities explored/conquered and health of your character.
Evolutionary algorithms can search the multi-objective space of solutions Fitness function needs to combine the scores for the
different objectives
![Page 26: CSM6120 Introduction to Intelligent Systems](https://reader035.vdocuments.us/reader035/viewer/2022062315/568164e5550346895dd74a0b/html5/thumbnails/26.jpg)
Summary What we looked at:
Genetic algorithms Genetic programming Other bio-inspired techniques
These are often applied to search/optimisation problems that are very challenging
Free (GNU licsensed) book: Global Optimization Algorithms – Thomas Weise
http://www.it-weise.de/projects/book.pdf