Flights of Fancy

Emergence Emerges

The Reynolds boid model was part of a revolutionary change in the prevailing style of thinking about collective behavior in animals. The model was bottom-up rather than top-down, local rather than global, algorithmic rather than equational. Instead of starting with the overall form of the flock and asking how the birds could organize themselves to produce it, the model merely specified how individual birds interact with one another; the large-scale structure of the flock is an “emergent property.”

Reynolds was not the only one to discover the charms of such models. Frank Heppner of the University of Rhode Island had been studying bird behavior since the 1960s, including searches for leaders in flocks. In the late 1980s he began independently formulating leaderless models based on the idea of a force law acting between birds (with short-range repulsion and long-range attraction). A few years later Tamás Vicsek of Eötvös Loránd University in Budapest and several colleagues published another model, stripping away ornithological detail in a search for the simplest system that would exhibit interesting collective behavior. In essence, their model adopted just the second of Reynolds’s rules (velocity matching) along with some random noise. The Vicsek model has been applied to everything from birds to bacteria.

Soon there were specialized programming languages and software systems that made it easy (and fun!) to explore such “agent-based models.” Mitchel Resnick of MIT developed one of the first of these languages, called StarLogo (which I wrote about in an earlier column, “E Pluribus Unum,” January–February 1999). Several other languages have appeared since then, and enthusiasm for agent-based modeling has spread from biology to the social sciences, finance and other areas. Moreover, the boids have come home to roost: The computational methods devised to help understand the behavior of animals in groups have come back as biologically inspired algorithms (“swarm intelligence,” “ant-colony optimization”) for hard computational problems.