An Introduction to Agent Based Modeling: Modeling Natural, Social and Engineered Complex Systems with NetLogo
Computing Reviews, the leading online review service for computing literature. The NetLogo environment developed at Northwestern University [1] has become one of the most widely used tools for agentbased modeling. NetLogo's restricted dialect of LISP has proven much more accessible to users such as social scientists than a general purpose language such as Java, required to work with other agentbased environments: for example, recursive porous agent simulation toolkit (REPAST) or multiagent simulator of neighborhoods (MASON) The simplicity of the language is not surprising, since NetLogo is a direct descendant of the Logo language, originally developed to teach programming to children, and NetLogo is widely used as a teaching language. Remarkably, the architects of NetLogo have managed to provide the system with extensions that allow it to be used for real research as well, and NetLogo models are becoming more and more common in serious research papers, particularly in the social sciences. NetLogo's motto is " Low Threshold, No Ceiling. " The rich tutorial materials and examples available on the system's website are sufficient to enable most users to overcome the low threshold. This volume, written by the author of the NetLogo language and one of his associates, supplements those materials in two important ways. First, it clearly conveys the motivation for agentbased modeling and the constructivist philosophy that guides its practitioners. Second, it develops models incrementally, showing how a very simple initial model can grow to take advantage of sophisticated functions and extensions that justify the " no ceiling " part of the motto. Perhaps to reinforce the point that the authors are serious computer scientists, the book's chapters start with 0 rather than 1. Chapters 0 and 1 motivate agentbased modeling (ABM) in the context of complex systems that demonstrate emergent behavior. They present alternative modeling paradigms and discuss the tradeoffs of ABM and when it is preferable to other approaches by reviewing the behavior of some simple models that are included in NetLogo's library (predatorprey, forest fires, ant foraging) Chapters 2 to 4 show how to construct an ABM, illustrating the technique of starting with a very simple model and then extending it incrementally. Chapter 5 backs away from individual models to examine the components of an agent based model: the different kinds of agents one might use, the importance of their environment and interactions, and the user interface and scheduling mechanism. The last three chapters are especially