Reviewed by
Ed Manley
Centre for Advanced Spatial Analysis (CASA), University College London
The book begins with an interesting and important discussion of the placement and utility of simulation for investigating observable processes. Simulation models are described in terms of their relative differences with respect to empirical and mathematical representations of the world. The discussion addresses the importance of simulation for capturing spatial variation and system dynamics, highlighting that, while spatial simulation may reduce the generality of a model, an improved fit with reality may be achieved.
The second chapter introduces some of the fundamental considerations required for the development of the simulation of an observed phenomenon. This section outlines the interrelationships and interdependencies between spatiotemporal scale, process and pattern, utilising an appropriate example to highlight the practical and conceptual intricacies of dealing with this relationship. At times, the section advances perhaps a little too quickly than some readers (particularly those without a quantitative background) may be comfortable with, with terms such as CSR (Complete Spatial Randomness) employed with assumed comprehension. Nevertheless, the discussion captures some of the most important considerations in model design.
Chapters 3, 4 and 5 move onto the "building block" models around which the book is structured. Each chapter concentrates on a distinct model of spatial phenomena, encapsulating the process in its simplest form in order to act an entry point for the development of more sophisticated models.
The first of the "building block" chapters describes the processes of aggregation and segregation. The core focus, in this sense, is upon spatial heterogeneity, both in terms of why it must be considered and how it should be handled. The chapter moves from quite simple models of local averaging and automata, through to describing sophisticated interactions between nearby features, incorporating irregular space and game theoretic rules. The chapter builds on a multitude of examples (naturally, Schelling’s model of segregation features), and readers are referred to NetLogo code available to download from the book’s accompanying website (patternandprocess.org).
The second set of "building block" models focuses on mobility, and the movement of entities across space. Again building from very simple foundations, the chapter covers random walks (and multiple derivations) in some detail, before moving onto more directed behaviours, such as flocking and hunter-gathering processes. The chapter focuses on the nature of these models of mobility, and their influence of the emergent pattern. While building on simple examples, the authors are careful to highlight examples of where the models may be extended, and implications for doing so.
The final set of "building block" models focus on spreading processes across heterogeneous space. This chapter builds on the concept of percolation, the process by which properties advance across space. Like those before it, the chapter builds from simple foundations before moving onto more sophisticated extensions of the process in question, in this case taking in models of fire and erosion.
Following the description of the "building block" models, the focus is shifted towards the wider specification and development of a simulation model. First, in chapter 6, with a detailed consideration of how space and time may be defined, including the implications for incorporating each form of representation. Then, in chapter 7, describing how model uncertainty and evaluation should be handled, with a wide range of metrics and processes for model evaluation outlined. As is typical of this book, this subject is covered extensively, and should be a useful reference to any model developer, no matter how experienced. Chapter 8, the final substantive chapter, usefully brings together many of the lessons espoused throughout the book within a final unified model. This chapter allows the reader to observe the complete simulation development process, from inception to design, implementation and evaluation.
Despite the comprehensive nature of the book, one minor disappointment is the limited integration, throughout the book, between referenced NetLogo code (available to the reader) and the book content. Although the stated intention is that readers should run the code at their leisure so that they may observe the modelled dynamics in action, this feels like a missed opportunity to support those new to simulation in general. Furthermore, the code examples themselves are not particularly well annotated, meaning that readers not familiar with NetLogo may struggle to fully understand the link between the processes described in the book and their manifestation in NetLogo.
In summary, the book brings a comprehensiveness and structure that will aid any researcher in the development of a spatial simulation model, no matter their experience. In moving from simple "building blocks" to sophisticated extensions of fundamental processes, the book brings a new maturity to the field of spatial simulation. As Volker Grimm correctly points out in the foreword - "This book was badly needed".