- Membership
- MAA Press
- Meetings
- Competitions
- Community
- Programs
- Students
- High School Teachers
- Faculty and Departments
- Underrepresented Groups
- MAA Awards
- MAA Grants

- News
- About MAA

Publisher:

Princeton University Press

Publication Date:

2011

Number of Pages:

329

Format:

Paperback

Price:

55.00

ISBN:

9780691136745

Category:

Textbook

The Basic Library List Committee recommends this book for acquisition by undergraduate mathematics libraries.

[Reviewed by , on ]

David S. Mazel

12/28/2012

Years ago I encountered agent-based models in the context of warfare science. The military models of battles current at the time were based on Lanchesterian equations which, at their heart, are two coupled differential equations. This had been the state of warfare modeling for decades. The simulations one would see were graphically rich, but under the covers there lay the differential equations, nothing more. If you think about it, warfare is not fought as a differential equation but by individuals, or platoons, that move, make decisions, and engage one another.

A colleague of mine had the foresight to ask the question: Can warfare be modeled not by differential equations but by an agent-based model? It was a turning point for warfare modeling.

An agent-based model is one where each entity, say a soldier, is its own part within the computer simulation. The soldier can move along (typically) a lattice network that defines physical space, such as a mountainous region. There can be other soldiers in that same environment; some are friends with each other (say, from the same team) and others are not friends (with the other team). Each soldier can sense where his friends are, where his enemies are, and he can know what features are within his sensor range. The soldiers interact with their environment to plan their movements, say toward friends or away from enemies, or simply to stay put. The soldiers have personalities, so that some may be skittish and avoid enemies, while other soldiers may be suicidal and run to enemies no matter what. The soldiers have behavioral traits and the range of personalities is seemingly endless. These behaviors are especially interesting when we look not at a single soldier, but rather at the collection of soldiers and their interactions with other soldiers in the simulation over time.

This agent-based model of warfare was user-friendly, but it was restricted to warfare scenarios. It had to be programmed by experts and its design was limited. It was not really a place to begin the study of agent-based simulations, but it was my first introduction to them.

In *Agent-Based and Individual-Based Modeling* we have what is certainly one of the best introductions to agent systems that I've seen. The book is more than an introduction to agents, though it is that. Rather, it is a guide to the science of agents, computer program modeling, and, what is more, it comes with an excellent primer to the *Netlogo* software.

The book is meant for undergraduates or advanced high school students. It begins with an introduction to models and how scientists use models to represent behaviors of entities such as people, ants, birds, flowers, etc. The authors explain how scientists expand their understanding of these entities by programming computers to act like the physical specimens. These same entities interact with a programmed environment and with other entities in that environment. In the past, of course, every program had to be written, tested, and, run by scientists without the benefit of a publicly accessible program. But with *Netlogo*, students (not just scientists) can download the program and get started immediately. Students can run pre-programmed scenarios and get results (and confidence) right away. The software is readily available, extremely useful, and easy to learn.

The book describes *Netlogo* and guides the reader through example runs with suggested data analyses. These analyses begin with built-in examples in *Netlogo*, but the authors show readers how to program *Netlogo* to develop their own entities each with their own behavior. For example, entities can react to their landscape, say, by going uphill or moving to their friends. Entities can multiply to create more of the same, or they can perish. The *Netlogo* programming language reminded me of BASIC or Python and is easy to learn and use.

There are analysis tools that allow experimenters to plot data. For example, there is a simulation of butterfly migration with tools to model and analyze the movements of butterflies through a landscape. This sort of analysis is not possible with other models, but provides natural insight from agent-based models.

The book discusses the concepts of emergence, sensing, adaptive behavior, prediction, and stochasticity, to name just a few. The text goes through these concepts, it shows how each applies in an agent-based model, and it shows readers how to illustrate these ideas within *Netlogo*. The authors encourage readers to build their own models, experiment, and learn.

With this book, and others like it, students can now do what took professional scientists years to do not long ago. We have gone from differential equations of warfare to agent-based models programmed by scientists, and now to freely available software for budding computer experimenters. The experiments are easily programmed, will run quickly, and can be analyzed within the same package. Where past work necessarily involved higher level mathematics, these models are intuitive and easily coded. If you want to see how models are being developed today, this book will give you a thorough introduction. You can soon program your own agent-based models in no time.

David S. Mazel welcomes your feedback and can be contacted at mazeld at gmail dot com.

Preface xi Part I: Agent-Based Modeling and NetLogo Basics 1 Chapter 2: Getting Started with NetLogo 15 Chapter 3: Describing and Formulating ABMs: The ODD Protocol 35 Chapter 4: Implementing a First Agent-Based Model 47 Chapter 5: From Animations to Science 61 Chapter 6: Testing Your Program 75 Part II: Model Design Concepts 95 Chapter 8: Emergence 101 Chapter 9: Observation 115 Chapter 10: Sensing 127 Chapter 11: Adaptive Behavior and Objectives 143 Chapter 12: Prediction 157 Chapter 13: Interaction 169 Chapter 14: Scheduling 183 Chapter 15: Stochasticity 195 Chapter 16: Collectives 209 Part III: Pattern-Oriented Modeling 225 Chapter 18: Patterns for Model Structure 233 Chapter 19: Theory Development 243 Chapter 20: Parameterization and Calibration 255 Part IV: Model Analysis 271 Chapter 22: Analyzing and Understanding ABMs 277 Chapter 23: Sensitivity, Uncertainty, and Robustness Analysis 291 Chapter 24: Where to Go from Here 309 References 317 |

- Log in to post comments