Flocking (behavior)

From Wikipedia, the free encyclopedia

Jump to: navigation, search

Flocking is the collective motion of a large number of self-propelled entities and is a collective animal behavior exhibited by many living beings such as birds, fish, bacteria, and insects.[1] It is considered an emergent behaviour arising from simple rules that are followed by individuals and does not involve any central coordination.

As a common demonstration of emergence and emergent behavior, it was first simulated on a computer in 1986 by Craig Reynolds with his simulation program, Boids. This program simulates simple agents (boids) that are allowed to move according to a set of basic rules. The result is akin to a flock of birds, a school of fish, or a swarm of insects.

Two flocks of Common Cranes

Basic flocking is controlled by three simple rules:

  1. Separation - avoid crowding neighbours (short range repulsion)
  2. Alignment - steer towards average heading of neighbours
  3. Cohesion - steer towards average position of neighbours (long range attraction)

With these three simple rules, the flock moves in an extremely realistic way, creating complex motion and interaction that would be extremely hard to create otherwise.

Flocking is a common technology in screensavers, and has found its use in animation. Flocking has been used in many films[2] to generate crowds which move more realistically. Tim Burton's Batman Returns (1992) featured flocking penguins, and Disney's The Lion King (1994) included a wildebeest stampede.

From a practical perspective, flocking has been considered as a means to control the behavior of Unmanned Air Vehicles (UAVs).

In Köln two biologists from the University of Leeds demonstrated a flock like behavior in humans. The group of people exhibited a very similar behavioral pattern to that of a flock, where if 5% of the flock would change direction the others would follow suit. When a one person was designated as a predator and everyone else was to avoid him, the flock behaved very much like a school of fish.[3]

Contents

[edit] Measurement

Measurements of bird flocking have been made[4] using high-speed cameras, and a computer analysis has been made to test the simple rules of flocking mentioned above. It is found that they generally hold true in the case of bird flocking, but the long range attraction rule (cohesion) applies to the nearest 5-10 neighbors of the flocking bird and is independent of the distance of these neighbors from the bird. In addition, there is an anisotropy with regard to this cohesive tendency, with more cohesion being exhibited towards neighbors to the sides of the bird, rather than in front or behind. This is no doubt due to the field of vision of the flying bird being directed to the sides rather than directly forward or backward..

[edit] Algorithmic complexity

In flocking simulations, there is no central control; each bird behaves autonomously. In other words, each bird has to decide for itself which flocks to consider as its environment. Usually environment is defined as a circle (2D) or sphere (3D) with a certain radius (representing reach).

A basic implementation of a flocking algorithm has complexity O(n2) - each bird searches through all other birds to find those who falls into his environment.

Possible improvements:

  • bin-lattice spatial subdivision. Entire area the flock can move in is divided into a large number of bins. Each bin stores which birds it contains. Each time a bird moves from one bin to another, lattice has to be updated.
    • Example: 2D(3D) grid in a 2D(3D) flocking simulation.
    • Complexity: O(nk) , k is number of surrounding bins to consider; just when bird's bin is found in O(1)

Lee Spector, Jon Klein, Chris Perry and Mark Feinstein studied the emergence of collective behavior in evolutionary computation systems.[5]

[edit] See Also

[edit] References

  1. ^ "Alternating steady state in one-dimensional flocking". Journal of Physics A: Mathematical and General. http://arxiv.org/abs/cond-mat/9811336v1. Retrieved on June 13 2008. 
  2. ^ Gabbai, J. M. E.. http://www.gabbai.com/academic/complexity-and-the-aerospace-industry-understanding-emergence-by-relating-structure-to-performance-using-multi-agent-systems/. 
  3. ^ "http://psychcentral.com/news/2008/02/15/herd-mentality-explained/1922.html". Retrieved on Oktober 31st 2008.
  4. ^ Feder, Toni (October 2007). "Statistical physics is for the birds". Physics today 60 (10): 28–30. doi:10.1063/1.2800090. 
  5. ^ Spector, L.; Klein, J.; Perry, C.; and Feinstein, M. (2003). "Emergence of Collective Behavior in Evolving Populations of Flying Agents". Proceedings of the Genetic and Evolutionary Computation Conference (GECCO-2003). Springer-Verlag. http://hampshire.edu/lspector/gecco2003-collective.html. Retrieved on 2007-05-01. 

[edit] Other sources

[edit] External links

Personal tools
Languages