- Flocking (behavior)
Flocking - the collective motion of a large number of self-propelled entities - is a behaviour exhibited by many living beings such as birds,
fish ,bacteria , andinsect s [cite web | url = http://arxiv.org/abs/cond-mat/9811336v1| title = Alternating steady state in one-dimensional flocking | format = | publisher = Journal of Physics A: Mathematical and General | accessmonthday = June 13 |accessyear = 2008 ] .As a common demonstration ofemergence and emergent behavior, it was first simulated on a computer in1986 by Craig Reynolds with his simulation program,Boids . This program simulates simple agents that are allowed to move according to a set of basic rules. The result is akin to aflock ofbird s, a school offish , or aswarm ofinsects .Basic flocking is controlled by three simple rules:#Separation - avoid crowding neighbours (short range repulsion)
#Alignment - steer towards average heading of neighbours
#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
screensaver s, and has found its use in animation. Flocking has been used in many films Harv|Gabbai|2005 to generate crowds which move more realistically.Tim Burton 's "Batman Returns " (1992 ) featured flocking penguins, and Disney's "The Lion King " (1994 ) included awildebeest stampede .From a practical perspective, flocking has been considered as a means to control the behavior of Unmanned Air Vehicles (UAVs) Harv|Gabbai|2005.
Measurement
Measurements of bird flocking have been made (Feder 2007) 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.
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 orb (3D) with a certain radius (representing reach).
A basic implementation of a flocking algorithm has complexity - 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: , k is number of surrounding bins to consider; just when bird's bin is found inLee Spector, Jon Klein, Chris Perry and Mark Feinstein studied the emergence of collective behavior in evolutionary computation systems. [cite web | url=http://hampshire.edu/lspector/gecco2003-collective.html | author=Spector, L. | coauthors=Klein, J.; Perry, C.; and Feinstein, M. | year=2003 | title=Emergence of Collective Behavior in Evolving Populations of Flying Agents | work=Proceedings of the Genetic and Evolutionary Computation Conference (GECCO-2003) | publisher=Springer-Verlag | accessdate=2007-05-01]
References
* [http://www.gabbai.com/academic/complexity-and-the-aerospace-industry-understanding-emergence-by-relating-structure-to-performance-using-multi-agent-systems/ link]*
*
*
External links
* [http://www.red3d.com/cwr/boids/ Craig Reynolds' Boids page]
* [http://lrss.fri.uni-lj.si/people/ilbajec/publications.htm Iztok Lebar Bajec's fuzzy logic based flocking publications]
* [http://www.lalena.com/AI/Flock/ Flocking Simulator] - A flocking behavior simulator in Java. Run online or free download. Includes multiple flocks, predators, obstacles and food.
* [http://ccl.northwestern.edu/netlogo NetLogo] , a free software for multi-agent modeling, simulation, and the like, including a flocking simulation.
* [http://www.visualbots.com/index.htm VisualBots] - Freeware multi-agent simulator in Microsoft Excel - Visual Basic syntax
* [http://www.dcs.shef.ac.uk/~paul/publications/boids/index.html 3D Java Boids demonstrating bird flocking (Paul Richmond)]
Wikimedia Foundation. 2010.