SWARM INTELLIGENCE: FROM NATURAL TO ARTIFICIAL SYSTEMS by Eric Bonabeau, Marco Dorigo, and Guy Theraulaz Oxford University Press, 1999, 307 pp.
Swarm Intelligence: From Natural to Artificial Systems is a fascinating survey of a new approach to artificial intelligence inspired by and modeled on the behavior of social insects. This technique uses "autonomy, emergence, and distributed functioning" in place of "control, preprogramming, and centralization" (p.xi). The idea here is that complex structures emerge from the simple behaviors of a large number of interacting individuals. Swarm intelligence refers to the intelligent behavior emerging from these swarms of individuals. Each chapter in Swarm Intelligence shows how a biological example taken from social insect behavior can be used as a "metaphor to design an algorithm, a multiagent system, or a group of robots" (p. xii).
Chapter 1 is an introduction to swarm intelligence. After a quick look at the classic biological examples of emerging structure (army ant raids, honey bee wax combs, termite nests, etc.), the authors highlight the concepts of self-organization and stimergy. Which refers to the indirect interaction of individuals that occurs when one individual modifies the environment, and another subsequently responds to that modification. A short discussion of swarm-based robotics finishes the introduction and sets the stage for the remainder of the book.
Chapter 2 describes the collective foraging behavior of ants, and the algorithms inspired by this behavior. The application of ant-based algorithms to the traveling salesperson problem and the quadratic assignment problem is given in detail. The detailed algorithms are given in a transparent pseudo-code that can be easily implemented in any high-level programming language (e.g., Java, C+ + , Visual Basic). Ant-based algorithms for job scheduling, graph coloring, and vehicle routing are also presented.
The third chapter of Swarm Intelligence explores a class of algorithms inspired by division of labor and task allocation among social insects. This chapter has fewer applications than the previous chapter, and spends a considerable amount of space investigating theoretical issues. The only detailed application is a "toy" application of task allocation in a multiagent system. Unlike Chapter 2, which will be accessible and appealing to programmers, Chapter 3 will be daunting for all but the most sophisticated mathematics student. …