By James Kennedy and Russell C. Eberhart
Morgan Kauffman, 2001
Starting with the book's title, the authors use the word swarm to describe a certain family of social processes integrated by simpler units. "Swarm" typically refers to a cluster of things, such as insects or animals, in which individuals move in apparently random directions, but the group stays together as a whole. Computational research and studies of biological phenomena have altered how we conceive complex structures, such as social relations or intelligence emergence from individual non-intelligent elements (neurons, for example).
Swarm Intelligence is about emergent behavior and patterns, self-organization, and simple processes leading to complex results. Stephen Wolfram wants to call this "a new kind of science," as he explains in his book A New Kind of Science (Wolfram Research, 2002), but this area is better known as complex systems—a branch of dynamical systems and chaos theory. It's not as new as some claim. It's been around for at least 30 years, as in Adaptation in Natural and Artificial Systems by John H. Holland (MIT Press, 1992). However, it's only now that many lessons from analyzing these systems are stimulating serious and well-ordered study of simple intelligence sources, natural or artificial.
"Swarm intelligence" has been used in a title before: Swarm Intelligence: From Natural to Artificial Systems, by Eric Bonabeau, Marco Dorigo, and Guy Theraulaz (Oxford University Press, 1999). Both books discuss the same topics but from significantly distinct viewpoints. The earlier book focuses on modeling social insect behavior. The authors say that using a swarm intelligent system to solve a problem requires thorough knowledge not only of what individual behaviors you must implement but also what type of interactions must be between them. Kennedy and Eberhart, on the other hand, say that swarm intelligent systems are quite easy to program and that you don't need knowledge of individual behaviors and interactions. Rather, these behaviors and interactions emerge from simple and basic rules. In fact, some modeled intelligent behaviors emerge from just three simple rules.
The book's main goal seems clear, given the evolutionary paradigm in biology; it aims to state the basics and rules for achieving intelligent behavior from simple and natural phenomena. Genetic algorithms and evolutionary programming have been deployed in many different fields such as physics, finance and economics, engineering, and network modeling. This use will no doubt continue as computer processing power increases. Although genetic and evolutionary approaches are still more effective from a computational point of view than strict combinatorial ones, they're very time intensive, and, for many problems, have yet to compete with ordinary Monte Carlo techniques.
Kennedy and Eberhart do an excellent job of introducing complex systems and evolutionary computation. Adaptive complex systems is an area ripe for applying evolutionary algorithms, and the book provides a good overview of many applications. Few books make such an effort to integrate different communities, from cognitive sciences and psychology, to engineering and computer sciences, to mathematical dynamical systems (in particular nonlinear or chaotic dynamics).
The book also covers the social organism, or superorganism, concept. But much of this information has already been exposed in other books, such as Kevin Kelly's Out of Control: The New Biology of Machines, Social Systems and the Economic World (Perseus Publishing, 1995).
Swarm Intelligence gives a brief overview of intelligent adaptive behavior, evolutionary computation, fuzzy logic, neural nets, artificial life, statistics, and problem solving, emphasizing the social world and interdisciplinary engineering research. The book doesn't offer in-depth discussions of these algorithms, but it does provide references for more information and links to support software that can be downloaded from the publisher's Web site. The book includes a Java applet as well as C and Visual Basic source code.
Kennedy and Eberhart also introduce some elementary aspects of evolutionary computation. Because the book covers topics that involve a level of mathematics likely unfamiliar to biologists, this discussion makes the book more accessible to such readers. The authors also effectively discuss the difference between analytical and heuristic problem-solving methods. And they devote half of the text to the Particle Swarm Optimization algorithm and its applications. They consider both binary and real variants of PSO and expose several theoretical aspects.
The contrast between optimization theory and evolutionary algorithms is a common theme, emphasizing the use of evolutionary algorithms. Whether you're already involved in this area or you want an introduction, you must read this book. The authors have taken on the rather daunting task of presenting a new paradigm—a new way of thinking about mind and intelligence—and they do it well. They also include philosophical and psychological discussions on some of the most important and controversial problems of artificial intelligence and computation theory.
In Swarm Intelligence, you can expect to learn about:
To sum it up, Swarm Intelligence is a well-written, insightful book on an interesting topic.
Other worthwhile books on the topic are A New Kind of Science, by Stephen Wolfram (Wolfram Media, 2002); Machine Nature, by Moshe Sipper (McGraw Hill, 2002); Nexus, by Mark Buchanan (W.W. Norton & Company, 2002); Emergence: From Chaos to Order, by John H. Holland (Perseus Publishing, 1999); Hidden Order: How Adaptation Builds Complexity, by John H. Holland (Perseus Publishing, 1996); and Complexity: The Emerging Science at the Edge of Order and Chaos by Mitchell Waldrop (Touchstone Books, 1992).
If you're looking for in-depth information on evolutionary computing, you should read the book that started this area in the late '60s: Adaptation in Natural and Artificial Systems, by John Holland (MIT Press, 1992). If you like math, you can use this text as an introduction to dynamical systems applications and follow up with a dynamical systems bibliography, such as Nonlinear Dynamical Systems, by Irwin W. Sandberg and colleagues (John Wiley and Sons, 2001).
Swarm Intelligence is aimed at computer scientists; applied mathematicians; computer engineers; cognitive scientists who want to move into evolutionary computing, social intelligence, and complex systems; and biologists who need more background in these types of algorithms. However, the authors also include introductory chapters for those with a general interest in the area. These chapters include models and concepts of life and intelligence, optimization, social organisms, and evolutionary computation. If you're interested in new sociology, psychology, engineering, or computer science, you'll learn a great deal and find a wealth of additional sources of information.