As presented at DevDuck #5 - JavaScript meetup for developers (www.devduck.pl)
-----
Read more about Heuristic algorithms & Swarm intelligence
-----
Looking for a company to build you an electron desktop app? www.brainhub.eu
7. 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
8. 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
9. 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
10. 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
11. 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
12. 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
13. 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
14. 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
16. Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Application - medicine / bioinformatics
clinical decision support system
Piotr Sroczkowski Ant colony optimization
17. 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
20. Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Application - software engineering
mutation testing
virus detection
Piotr Sroczkowski Ant colony optimization
21. 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
22. 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
23. 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
24. 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
25. 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
27. Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Application - police / security
construction of facial composites from eyewitnesses
Piotr Sroczkowski Ant colony optimization
28. 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
31. Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Application - others
finding the cheapest flight
time scheduling
Piotr Sroczkowski Ant colony optimization
32. 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
33. 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
34. 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
36. 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
39. Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Characteristics
small agents / boids
they interact locally with one another
Piotr Sroczkowski Ant colony optimization
40. 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
41. 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
42. 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
46. Family of algorithms
Origin
Working
Heuristic algorithms
Swarm intelligence
Examples
ant colony optimization
bee colony optimization
firefly algorithm
Piotr Sroczkowski Ant colony optimization
47. 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
48. 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
49. 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
50. 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
51. 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
52. 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
58. 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
62. 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
63. 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