Family of algorithms
Origin
Working
Ant colony optimization
Piotr Sroczkowski
Brainhub
April 20, 2017
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Summary I
1 Family of algorithms
Heuristic algorithms
Swarm intelligence
2 Origin
3 Working
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
What is Ant colony optimization?
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
What is Ant colony optimization?
A family of algorithms
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
What and why?
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
What and why?
Greek heurisco
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
What and why?
Greek heurisco
we look for not the best solution but a satisfiable one
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
What and why?
Greek heurisco
we look for not the best solution but a satisfiable one
like in real life ex. finding the best product to buy
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
What and why?
Greek heurisco
we look for not the best solution but a satisfiable one
like in real life ex. finding the best product to buy
very often it’s impossible to create an algorithm which will
find the optimum solution
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
What and why?
Greek heurisco
we look for not the best solution but a satisfiable one
like in real life ex. finding the best product to buy
very often it’s impossible to create an algorithm which will
find the optimum solution
... or such a program (implementation of the algorithm) will
run very long
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
What and why?
Greek heurisco
we look for not the best solution but a satisfiable one
like in real life ex. finding the best product to buy
very often it’s impossible to create an algorithm which will
find the optimum solution
... or such a program (implementation of the algorithm) will
run very long
... or a program which generates the program above will run
very long
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
What and why?
Greek heurisco
we look for not the best solution but a satisfiable one
like in real life ex. finding the best product to buy
very often it’s impossible to create an algorithm which will
find the optimum solution
... or such a program (implementation of the algorithm) will
run very long
... or a program which generates the program above will run
very long
... or running such a program will be very expensive (ex. in a
cloud like AWS, Digital Ocean, Microsoft Azure...)
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
What and why?
Greek heurisco
we look for not the best solution but a satisfiable one
like in real life ex. finding the best product to buy
very often it’s impossible to create an algorithm which will
find the optimum solution
... or such a program (implementation of the algorithm) will
run very long
... or a program which generates the program above will run
very long
... or running such a program will be very expensive (ex. in a
cloud like AWS, Digital Ocean, Microsoft Azure...)
... or a user will become frustrated because even 5 seconds to
run a program could be a bad UX
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
What and why?
Greek heurisco
we look for not the best solution but a satisfiable one
like in real life ex. finding the best product to buy
very often it’s impossible to create an algorithm which will
find the optimum solution
... or such a program (implementation of the algorithm) will
run very long
... or a program which generates the program above will run
very long
... or running such a program will be very expensive (ex. in a
cloud like AWS, Digital Ocean, Microsoft Azure...)
... or a user will become frustrated because even 5 seconds to
run a program could be a bad UX
...
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Application - medicine / bioinformatics
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Application - medicine / bioinformatics
clinical decision support system
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Application - medicine / bioinformatics
clinical decision support system
MSA (multiple sequence alignment) - genetics
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Application - software engineering
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Application - software engineering
mutation testing
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Application - software engineering
mutation testing
virus detection
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Application - software engineering
mutation testing
virus detection
file allocation for a distributed system
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Application - software engineering
mutation testing
virus detection
file allocation for a distributed system
parallelization
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Application - software engineering
mutation testing
virus detection
file allocation for a distributed system
parallelization
planning database queries
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Application - software engineering
mutation testing
virus detection
file allocation for a distributed system
parallelization
planning database queries
queueing
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Application - software engineering
mutation testing
virus detection
file allocation for a distributed system
parallelization
planning database queries
queueing
virtual DOM in React
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Application - police / security
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Application - police / security
construction of facial composites from eyewitnesses
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Application - police / security
construction of facial composites from eyewitnesses
design of anti-terrorism systems
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Application - others
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Application - others
finding the cheapest flight
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Application - others
finding the cheapest flight
time scheduling
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Application - others
finding the cheapest flight
time scheduling
aircraft wing design
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Application - others
finding the cheapest flight
time scheduling
aircraft wing design
pop music production
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Application - others
finding the cheapest flight
time scheduling
aircraft wing design
pop music production
container loading
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Application - next others
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Application - next others
there are so many applications so this presentation cannot
contain them all
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Characteristics
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Characteristics
small agents / boids
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Characteristics
small agents / boids
they interact locally with one another
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Characteristics
small agents / boids
they interact locally with one another
they interact locally with the environment
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Characteristics
small agents / boids
they interact locally with one another
they interact locally with the environment
the inspiration comes above all from the nature
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Characteristics
small agents / boids
they interact locally with one another
they interact locally with the environment
the inspiration comes above all from the nature
therefore (like in other heuristics) there is much randomness
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Examples
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Examples
ant colony optimization
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Examples
ant colony optimization
bee colony optimization
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Examples
ant colony optimization
bee colony optimization
firefly algorithm
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Examples
ant colony optimization
bee colony optimization
firefly algorithm
bat algorithm
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Examples
ant colony optimization
bee colony optimization
firefly algorithm
bat algorithm
self-propelled particles
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Examples
ant colony optimization
bee colony optimization
firefly algorithm
bat algorithm
self-propelled particles
charged system exploration
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Examples
ant colony optimization
bee colony optimization
firefly algorithm
bat algorithm
self-propelled particles
charged system exploration
multiple swarm optimization
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Examples
ant colony optimization
bee colony optimization
firefly algorithm
bat algorithm
self-propelled particles
charged system exploration
multiple swarm optimization
altruism algorithm
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Examples
ant colony optimization
bee colony optimization
firefly algorithm
bat algorithm
self-propelled particles
charged system exploration
multiple swarm optimization
altruism algorithm
artificial immunological systems
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
When and where?
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
When and where?
1992
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
When and where?
1992
Marco Dorigo
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
When and where?
1992
Marco Dorigo
PhD thesis
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
When and where?
1992
Marco Dorigo
PhD thesis
Universit´e Libre de Bruxelles
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
When and where?
1992
Marco Dorigo
PhD thesis
Universit´e Libre de Bruxelles
to find the optimal path in a graph
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Principles
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Principles
Ants wander randomly
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Principles
Ants wander randomly
They lay down pheromone trails
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Principles
Ants wander randomly
They lay down pheromone trails
They follow pheromones (the pheromones increase probability
of going to a particular side)
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Principles
Ants wander randomly
They lay down pheromone trails
They follow pheromones (the pheromones increase probability
of going to a particular side)
The pheromones evaporate
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Extensions
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Extensions
elitist ant system
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Extensions
elitist ant system
max-min ant system
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Extensions
elitist ant system
max-min ant system
rank-based ant system
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Extensions
elitist ant system
max-min ant system
rank-based ant system
continuous orthogonal ant colony
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
Extensions
elitist ant system
max-min ant system
rank-based ant system
continuous orthogonal ant colony
recursive ant colony optimization
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
The end
Piotr Sroczkowski Ant colony optimization
Family of algorithms
Origin
Working
The end
Thank you
Piotr Sroczkowski Ant colony optimization

Ant Colony Optimization (Heuristic algorithms & Swarm intelligence)