Boids, developed by Craig Reynolds in 1986, is an artificial life program, simulating the flocking behaviour of birds.
As with most artificial life simulations, Boids is an example of emergent behaviour; that is, the complexity of Boids arises from the interaction of individual agents (the boids, in this case) adhering to a set of simple rules. The rules applied in the simplest Boids world are as follows:
separation: steer to avoid crowding local flockmates
alignment: steer towards the average heading of local flockmates
cohesion: steer to move toward the average position of local flockmates
More complex rules can be added, such as obstacle avoidance and goal seeking.
The movement of Boids can either be characterized as chaotic (splitting groups and wild behaviour) or orderly. Unexpected behaviours, such as splitting flocks and reuniting after avoiding obstacles, can be considered emergent.
The boids framework is often used in computer graphics, providing realistic-looking representations of flocks of birds and other creatures, such as schools of fish or herds of animals.
Boids work in a manner similar to cellular automata, since each boid acts autonomously and references a neighbourhood, as do cellular automata