Catalogue of Artificial Intelligence Techniques
Keywords: agents, behaviour, boids, emergent, flocking, simulation
Author(s): Baldur Karlsson
Flocking is a technique used to govern the individual behaviour of agents in a large group - for example a herd of animals, or a flock of birds.
Flocking uses three simple heuristics to decide the direction in which an agent moves, given the positions of its neighbours. Because these heuristics do not explicitly detail how the whole group should move, Flocking is an example of an emergent behaviour - that is a behaviour or effect which is more than the sum of its parts.
Note an agent's neighbours are the agents that are closest in position to it
- Separation - An agent will avoid getting too close to its neighbours.
- Alignment - An agent will turn towards the average direction of its neighbours. This causes the group to all move in the same general direction.
- Cohesion - An agent will turn towards the average position of its neighbours. This means that agents will not head off on their own, they will stick together in the group.
Flocking techniques will normally require time to complete, if each agent considers each other agent to determine if it is a neighbour. Using partitioning techniques and keeping lists of close agents, agents can use these lists to only consider agents close to them, meaning the technique will only require time.
- Spector, L., J. Klein, C. Perry, and M. Feinstein., Emergence of Collective Behavior in Evolving Populations of Flying Agents., Proceedings of the Genetic and Evolutionary Computation Conference (GECCO-2003). (E. Cantu-Paz, J.A. Foster, K. Deb, L.D. Davis, R. Roy, U.-M. O'Reilly, H.-G. Beyer, R. Standish, G. Kendall, S. Wilson, M. Harman, J. Wegener, D. Dasgupta. M.A. Potter, A.C. Schultz, K.A. Dowsland, N. Jonoska, J. Miller, eds.), Springer-Verlag, 2003, pp.61-73.