30
Biologically Inspired Computation Lecture 10: Ant Colony Optimisation

Biologically Inspired Computation Lecture 10: Ant Colony Optimisation

Embed Size (px)

Citation preview

Page 1: Biologically Inspired Computation Lecture 10: Ant Colony Optimisation

Biologically Inspired Computation

Lecture 10:

Ant Colony Optimisation

Page 2: Biologically Inspired Computation Lecture 10: Ant Colony Optimisation

Swarm Algorithms Inspiration from swarm intelligence has led to

some highly successful optimisation algorithms. We will look at:– Ant Colony (-based) Optimisation – a way to solve

optimisation problems based on … well, you work it out!

– Particle Swarm Optimisation — a different way to solve optimisation problems, based on the swarming behaviour of several kinds of organisms.

This lecture is about Ant Colony Optimisation

Page 3: Biologically Inspired Computation Lecture 10: Ant Colony Optimisation

Ant Colony Optimization

My starting point for these slides was some excellent ppt by Tony White([email protected])

Page 4: Biologically Inspired Computation Lecture 10: Ant Colony Optimisation

Emergent Problem Solving in Lasius Niger ants,

For Lasius Niger ants, [Franks, 89] observed:– regulation of nest temperature within 1 degree celsius range;

– forming bridges;

– raiding specific areas for food;

– building and protecting nest;

– sorting brood and food items;

– cooperating in carrying large items;

– emigration of a colony;

– finding shortest route from nest to food source;

– preferentially exploiting the richest food source available.

These are swarm behaviours – beyond what any individual can do.

Page 5: Biologically Inspired Computation Lecture 10: Ant Colony Optimisation

Explainable (arguably) as emergent property of many individuals operating simple rules?

For Lasius Niger ants, [Franks, 89] observed:– regulation of nest temperature within 1 degree celsius range;

– forming bridges;

– raiding specific areas for food;

– building and protecting nest;

– sorting brood and food items;

– cooperating in carrying large items;

– emigration of a colony;

– finding shortest route from nest to food source;

– preferentially exploiting the richest food source available.

These are swarm behaviours – beyond what any individual can do.

Page 6: Biologically Inspired Computation Lecture 10: Ant Colony Optimisation

What is the emergent property of the individual actions in each of these cases?

• regulation of nest temperature • forming bridges;

• raiding specific areas for food;

• building and protecting nest;

• sorting brood and food items;

• cooperating in carrying large items;

• emigration of a colony;

• finding shortest route from nest to food source;

• preferentially exploiting the richest food source available.

Solving an online/dynamic control problem

Page 7: Biologically Inspired Computation Lecture 10: Ant Colony Optimisation

What is the emergent property of the individual actions in each of these cases?

• regulation of nest temperature

• forming bridges;• raiding specific areas for food;• building and protecting nest;• sorting brood and food items;• cooperating in carrying large items;• emigration of a colony;• finding shortest route from nest to food source;• preferentially exploiting the richest food source available.

A useful physical structure is built

Page 8: Biologically Inspired Computation Lecture 10: Ant Colony Optimisation

What is the emergent property of the individual actions in each of these cases?

• regulation of nest temperature • forming bridges;

• raiding specific areas for food;• building and protecting nest;• sorting brood and food items;• cooperating in carrying large items;• emigration of a colony;• finding shortest route from nest to food source;• preferentially exploiting the richest food source available.

Exhibiting learning and memory

Page 9: Biologically Inspired Computation Lecture 10: Ant Colony Optimisation

What is the emergent property of the individual actions in each of these cases?

• regulation of nest temperature • forming bridges;• raiding specific areas for food;

• building and protecting nest;• sorting brood and food items;• cooperating in carrying large items;• emigration of a colony;• finding shortest route from nest to food source;• preferentially exploiting the richest food source available.

Useful physical structure, plus online control

Page 10: Biologically Inspired Computation Lecture 10: Ant Colony Optimisation

What is the emergent property of the individual actions in each of these cases?

• regulation of nest temperature • forming bridges;• raiding specific areas for food;• building and protecting nest;

• sorting brood and food items;• cooperating in carrying large items;• emigration of a colony;• finding shortest route from nest to food source;• preferentially exploiting the richest food source available.

Good housekeeping, better sanitation, etc …

Page 11: Biologically Inspired Computation Lecture 10: Ant Colony Optimisation

What is the emergent property of the individual actions in each of these cases?

• regulation of nest temperature • forming bridges;• raiding specific areas for food;• building and protecting nest;• sorting brood and food items;

• cooperating in carrying large items;• emigration of a colony;• finding shortest route from nest to food source;• preferentially exploiting the richest food source available.

`Co-operation’ itself is maybe an emergent property.Plus, large items get relocated to a `better’ place.

Page 12: Biologically Inspired Computation Lecture 10: Ant Colony Optimisation

What is the emergent property of the individual actions in each of these cases?

• regulation of nest temperature • forming bridges;• raiding specific areas for food;• building and protecting nest;• sorting brood and food items;• cooperating in carrying large items;

• emigration of a colony;• finding shortest route from nest to food source;• preferentially exploiting the richest food source available.

Emigration of colony is possibly emergent property environmentalfactors plus something like Reynold’s rules …

Page 13: Biologically Inspired Computation Lecture 10: Ant Colony Optimisation

What is the emergent property of the individual actions in each of these cases?

• regulation of nest temperature

• forming bridges;

• raiding specific areas for food;

• building and protecting nest;

• sorting brood and food items;

• cooperating in carrying large items;

• emigration of a colony;

• finding shortest route from nest to food source;

• preferentially exploiting the richest food source available. SOLVING AN OPTIMISATION PROBLEM. How???

Page 14: Biologically Inspired Computation Lecture 10: Ant Colony Optimisation

A key player: StigmergyStigmergy is: indirect communication via interaction with the

environment [Gassé, 59]– Sematectonic stigmergy

• A problem gets solved bit by bit ..

• Each individual does something based on the current state of the problem or task.

• Individuals communicate with each other in the above way, affecting what each other does on the task.

E.g. Many individuals sorting things into piles, as we did on Tuesday.

– Sign-based stigmergy• Individuals leave markers or messages – these don’t solve the problem in

themselves, but they affect other individuals in a way that helps them solve the problem …

• E.g. as we will see, this is how ants find shortest paths.

Page 15: Biologically Inspired Computation Lecture 10: Ant Colony Optimisation

Ants Ants are behaviorally unsophisticated, but

collectively they can perform complex tasks. Ants have highly developed sophisticated sign-based

stigmergy– They communicate using pheromones;– They lay trails of pheromone that can be followed by

other ants.

• If an ant has a choice of two pheromone trails to follow, one to the NW, one to the NE, but the NW one is stronger – which one will it follow?

Page 16: Biologically Inspired Computation Lecture 10: Ant Colony Optimisation

Individual ants lay pheromone trails while travelling from the nest, to the nest or possibly in both directions.

The pheromone trail gradually evaporates over time.But pheromone trail strength accumulate with

multiple ants using path.

Pheromone Trails

Food sourceNest

Page 17: Biologically Inspired Computation Lecture 10: Ant Colony Optimisation

Pheromone Trails continued

D

E

H C

A

B

d=0.5

d=0.5

d=1.0

d=1.0

E

H

E

D

H C

A

B

30 ants

D

C

A

B

30 ants

15

ants

15

ants

15

ants

15

ants

30

ants

10

ants

20

ants

20

ants

10

ants

30

ants

T = 0 T = 1

Page 18: Biologically Inspired Computation Lecture 10: Ant Colony Optimisation

Ant Colony Optimisation Algoirithms: Basic Ideas

Ants are agents that:Move along between nodes in a graph.

They choose where to go based on pheromone strength (and maybe other things)

An ant’s path represents a specific candidate solution.

When an ant has finished a solution, pheromone is laid on its path, according to quality of solution.

This affects behaviour of other ants by `stigmergy’ …

Page 19: Biologically Inspired Computation Lecture 10: Ant Colony Optimisation

E.g. A 4-city TSP

A B

C DPheromone

AntAB: 10, AC: 10, AD, 30, BC, 40, CD 20

Initially, random levels of pheromone are scattered on the edges

Page 20: Biologically Inspired Computation Lecture 10: Ant Colony Optimisation

E.g. A 4-city TSP

A B

C DPheromone

AntAB: 10, AC: 10, AD, 30, BC, 40, CD 20

An ant is placed at a random node

Page 21: Biologically Inspired Computation Lecture 10: Ant Colony Optimisation

E.g. A 4-city TSP

A B

C DPheromone

AntAB: 10, AC: 10, AD, 30, BC, 40, CD 20

The ant decides where to go from that node,based on probabilitiescalculated from: - pheromone strengths, - next-hop distances.

Suppose this one chooses BC

Page 22: Biologically Inspired Computation Lecture 10: Ant Colony Optimisation

E.g. A 4-city TSP

A B

C DPheromone

AntAB: 10, AC: 10, AD, 30, BC, 40, CD 20

The ant is now at AC, and has a `tour memory’ = {B, C} – so he cannot visit B or C again. Again, he decides next hop(from those allowed) basedon pheromone strengthand distance;suppose he choosesCD

Page 23: Biologically Inspired Computation Lecture 10: Ant Colony Optimisation

E.g. A 4-city TSP

A B

C DPheromone

AntAB: 10, AC: 10, AD, 30, BC, 40, CD 20

The ant is now at D, and has a `tour memory’ = {B, C, D}There is only one place he can go now:

Page 24: Biologically Inspired Computation Lecture 10: Ant Colony Optimisation

E.g. A 4-city TSP

A B

C DPheromone

AntAB: 10, AC: 10, AD, 30, BC, 40, CD 20

So, he finished his tour, having gone over the links:BC, CD, and DA. AB is added to complete the tour.

Now, pheromone on the touris increased, in line with the fitness of that tour.

Page 25: Biologically Inspired Computation Lecture 10: Ant Colony Optimisation

E.g. A 4-city TSP

A B

C DPheromone

AntAB: 10, AC: 10, AD, 30, BC, 40, CD 20

Next, pheromone everywhereis decreased a little, to modeldecay of trail strength overtime

Page 26: Biologically Inspired Computation Lecture 10: Ant Colony Optimisation

E.g. A 4-city TSP

B

C DPheromone

AntAB: 10, AC: 10, AD, 30, BC, 40, CD 20

We start again, with another ant in a random position.

Where will he go?

Next time, the actual algorithmand variants.

Page 27: Biologically Inspired Computation Lecture 10: Ant Colony Optimisation

The ACO algorithm for the TSP[a simplified version with all essential details]

We have a TSP, with n cities. 1. We place some ants at each city. Each ant then does this:

• It makes a complete tour of the cities, coming back to its starting city, using a transition rule to decide which links to follow. By this rule, it chooses each next-city at random, but biased partly by the pheromone levels existing at each path, and biased partly by heuristic information.

2. When all ants have completed their tours. Global Pheromone Updating occurs.

• The current pheromone levels on all links are reduced (I.e. pheromone levels decay over time).

• Pheromone is lain (belatedly) by each ant as follows: it places pheromone on all links of its tour, with strength depending on how good the tour was.

Then we go back to 1 and repeat the whole process many times, until we reach a termination criterion.

Page 28: Biologically Inspired Computation Lecture 10: Ant Colony Optimisation

The transition ruleT(r,s) is the amount of pheromone currently on the path that goes directly from city r to city s.H(r,s) is the heuristic value of this link – in the classic TSP application, this is chosen to be 1/distance(r,s) -- I.e. the shorter the distance, the higher the heuristic value.

is the probability that ant k will choose the link that goes from r to s is a parameter that we can call the heuristic strength

),( srpk

The rule is:

Where our ant is at city r, and s is a city as yet unvisited on itstour, and the summation is over all of k’s unvisited cities

c

kcrHcrT

srHsrTsrp

cities unvisited

),(),(

),(),(),(

Page 29: Biologically Inspired Computation Lecture 10: Ant Colony Optimisation

Global pheromone updateAk(r,s) is the amount of pheromone added to the (r, s) link by ant k.

m is the number of ants

is a parameter called the pheromone decay rate.

and Lk is the length of the tour completed by ant k

T(r, s) at the next iteration becomes:

Where

m

k

k srAsrT

1

),(),(kk LsrA /1),(

Study these – they’re not that hard. How do you think the parameters m, beta, rho etc … affect the search?

Page 30: Biologically Inspired Computation Lecture 10: Ant Colony Optimisation

• http://iridia.ulb.ac.be/dorigo/ACO/ACO.html

Next week, particle swarm optimisation, and then a lecture about advanced and applied versions of both PSO and ACO.

But let’s see an applet

We’ll see more about Ants in two lectures from now.Meanwhile see here if you’re very interested in it: