
What do ants, brains, cities, and software have in common? Steven Johnson answers confidently that they are each "self-organizing" systems, bodies of individual entities whose behavior as individual entities results in a higher level of behavior without a higher level of intelligence to guide that behavior.Ants, for example, live in colonies. Each colony sends out members to find food, transport it back to the colony home base for consumption, clean up waste material, carry out the dead, and fight off invaders. Yet, there is no leader organizing these tasks or making assignments to the members of the colony. By interacting with each other and sensing the presence of pheromones secreted by other ants, the ants "decide" what functions they need to perform. The colonies even have "memory." A colony as a whole evolves its behavior over time. It "learns" to handle situations differently as it gains experience. Johnson notes, for example, that older ant colonies are less aggressive toward neighboring colonies than are younger colonies. The colony learns over time (up to 15 years) when something is worth fighting over and when it is not. This happens even though individual ants live only about 18 months.
In comparable manner, most human cities developed structures that were remarkably similar to each other well before the invention of mayoral government and urban planning. For example, most cities have business districts removed from residential areas. Residential areas tend to segregate themselves according to economic and social status. Ghettos are common to cities throughout the world. Urban commercial areas cluster into specific zones, e.g. the garment district, diamond district, theatre district, etc. Johnson believes that the structural similarities among cities are the result of an emergent behavior caused by very large numbers of humans behaving just as humans normally behave. Like ant colonies, cities too have memory.
For Johnson, evolution is the most fundamental example of emergence. Single-cell organisms, under certain conditions, temporarily take on the behavior of a larger multi-celled organism. The author's slime mold example illustrates this point. Usually, slime mold exists as thousands of one-celled organisms. Each organism struggles independently for nourishment. However, when food is scarce, the cells coalesce into a larger organism that apparently operates more efficiently. Slime mold coalitions exist only as long as the conditions that stimulate them. Somehow, in evolutionary history, a similar coalition "learned" the advantage of remaining united. Eventually, the coalition "discovered" that it could operate even more efficiently if individual cells took on specialized tasks. The emergence of multi-celled organisms had begun!
In his descriptions of slime mold and ant emergence, Johnson carefully points out that individual intelligence would be harmful to emergent behavior. Ants that could analyze and adapt their behavior would endanger the colony because the colony depends on typical behavior by thousands of ants. Each ant must secrete its pheromones and respond to the pheromones of its neighbors exactly as programmed by nature.
However, emergence in software requires human intelligence. Just as ants must communicate with and stimulate each other with pheromones, so emergent software needs "behavioral" rules and "feedback" loops.
How would emergent software differ from traditional software? Emergent software would be designed to solve problems that we do not know how to solve. Today, we build software from the top down. We know the "algorithm" that will solve the problem. We tell the software what steps to take in solving the problem and we let it do the grunt work.
In contrast, emergent software would solve problems for which we have no algorithm, that is, no idea of what steps need to be taken. Conceivably, emergent software could provide us with answers to problems whose accuracy we could test, yet whose solutions we might never understand. As an example, Johnson cites the work of Daniel Hillis (see review of his The Pattern On the Stone in Connecticut Libraries, May 1999). Instead of writing a top-down sorting program, Hillis randomly created mini-programs and evolved out of them a program that could quickly sort numbers. Hillis could verify that the sorting was accurate, but he had no idea how the program did its work.
Emergent software need not be so exotic. Johnson discusses how game designers use the principles of emergent behavior to provide players with ever-changing game experiences. He notes contributions to software development by Will Wright with his popular SimCity software. Many of us are familiar with software that helps readers select books. These types of programs appear ripe for emergent software because they can process feedback from millions of readers, libraries, and bookstores on book preferences, reviews, circulations, and sales. Soon, we librarians and our patrons may be enjoying titles by authors we never heard of on subjects in which we did not even know we were interested!
Return to Looking at Books Online