Lecture 8 - Swarms Flashcards
What is swarm engineering?
Engineering the collective behaviour of a group of agents for a desired purpose
What are 3 positives of swarm engineering?
- Robust/Flexible
- Scalable (though difficult in practice)
- More capable than sum of parts
What are 5 properties of individual agents in a swarm?
- Relatively homogeneous
- Relatively incapable (as a single agent)
- Simple rules define actions
- Interact locally only
- Little/no memory
Name 2 ways agents interact locally.
- Direct communication (wifi etc)
2. Stigmergy (communication through environment)
What are the two main challenges of swarm intelligence?
- Finding local rules that produce desired behaviour
2. Proving your system works
What are 4 methods of developing local rules for swarm intelligence?
- Trial and error
- Crowd source (which is essentially trial and error scaled up)
- Bio-inspired
- Artificial Evolution/Machine Learning
What are the 3 main rules of Flocking (Reynolds 1987)?
- Separation: maintain given distance between each neighbour
- Cohesion: move toward the centre of mass of neighbours
- Alignment: align angle agent agent faces with neighbours
(4) /(5): Attractors (Migrator), Repulsor (Object avoidance) - not on slides, said in lecture.
What are the 3 basic rules/behaviours of PSO (particle swarm optimisation)?
- Brave: Explore new areas to find better food sources
- Conservative: Fly back to previous best food source
- Swarm: Move to best local area (from neighbours)
What is particle swarm optimisation?
Finding the best ‘food source’ in an area. Optimisation using a swarm to find the highest value target.
What are the properties of agents in PSO?
Can ‘shout’ the value of the food source at their current location to their neighbours
Can remember the location of the best food source it has encountered
How are the actions of a PSO agent governed?
v(t+1) = av(t) + bR(pbest-S(t)) + cR*(gbest-S(t))
v(t): current velocity a,b,c: learning rates R: random number [0,1] pbest: best position already encountered gbest: best position from neighbours 'shouts' s(t): current position
What is the main use of ant colony optimisation (ACO)?
Find the shortest path between two nodes in a network
What is the main advantage of ACO over traditional searching algorithms?
Can work in dynamic networks. Traditional search algorithms assume the network is static.
What is a disadvantage of ACO?
Not guaranteed to find the optimal solution in networks >30 nodes
What is the basic ACO algorithm?
- At each node generate a random number
- -If rand is less than a threshold value q0: use the transition rule to pick the next path
- If rand is greater than q0: choose the path with the highest pheromone level - Go along chosen path (edge) to next node. Lay pheromone at same time
- Repeat
Note: (pheromones decay over time)