Reviewed by
Gianluca Manzo
Centre National de la Recherche Scientifique (CNRS), Paris, Groupes d'Etudes des Méthodes de l'Analyse Sociologique (GEMAS), Université Paris IV-Sorbonne
It is worthwhile mentioning the publisher of the book and the series it appears in. With few exceptions (e.g., Taber and Timpone 1996, on computational approaches), Sage's prestigious "Quantitative Applications in the Social Sciences" series has traditionally favored multivariate statistical methods. Nigel Gilbert's longstanding interest in this field also (see, among others, Gilbert 1993) is likely to have helped convince the publisher to grant recognition to an approach that continues to perplex quantitative sociologists and econometricians alike.
Given the complexity of the field, Agent-based Models represents a remarkable synthesizing effort. The wealth and quality of its bibliographical references, an appendix indicating various means of probing further, an extremely useful internet site directly linked to the book, and a glossary of the main concepts make Agent-based Models an "interactive" and "ongoing" work that invites the reader to go deeper rather than read passively. And it is in this spirit that the present review will proceed, simultaneously describing and questioning the text.
In his preface Gilbert defines agent-based modeling (hereafter "ABM") as a form of "computational simulation" and introduces its basic components: constructing and executing a computer program in which actors are represented by program segments, and observing the results produced.
Chapter 1 specifies that the qualifier "computational" refers to the use of a computer program that incorporates the theoretical model whose behavior the researcher intends to study. The model's distinguishing feature is that it contains agents who interact within a given environment.
The author explains that an agent-based model allows for: 1) creating agents of different types within the same model; 2) endowing them with heterogeneity at the levels of both decision-making rules and agent attribute values; 3) steering clear of "perfect" and "optimizing" rationality; 4) representing learning mechanisms (individual and/or collective); 5) directly modeling interactions among agents (either by simple agent-to-agent data transfers or through the mediation of stylized language forms); 6) introducing agent actions and interactions into an environment (by locating them in a system of coordinates, a geographical space or a network of ties arranged in a given topology).
This, affirms Gilbert, is what gives multi-agent systems an additional "gear" compared to the more traditional equation-based models and simulation methods (such as "microsimulation" and "dynamic systems"). The algorithmic approach has the effect of freeing these systems from the constraints imposed by analytic resolution methods while making it possible to represent interactions between elementary entities directly and aggregate their effects "from the bottom".
This first chapter, which also contains numerous examples of how ABM has been applied in the social sciences, may nonetheless leave newcomers with a question, and it left this more experienced reader with a doubt. The question: where does ABM come from? Given the pedagogical purpose of the book, a brief mention of the source field - distributed artificial intelligence (see Ferber 1999 for example) - would have helped the novice situate the technique. The doubt pertains to the relation obtaining among mathematical modeling, statistical analysis and ABM: is it as linear as the relevant passages in this chapter (and a passage in Ch. 4, p. 66) suggest? It seems to me that placing greater emphasis on the areas of intersection that develop between these types of formalization when an agent-based model is constructed, analyzed and validated would have given beginners a clearer grasp of the nature of this new approach (see for example de Marchi 2005).
Chapter 2 defines ABM in greater detail. First, agents are presented as entities who can 1) determine who and what is around them (perception); 2) accede to a list of possible behaviors that they can then enact (performance); 3) remember their former states (memory); 4) accede to a list of rules that determine what behavior should be performed as a function of past and present states (policy). Gilbert then discusses three technical solutions for endowing agents with these characteristics: a) object-oriented programming languages; b) "production rule systems"; c) "artificial neural networks". He then takes up the other three constituent elements of an agent-based model: 1) environment (an aspect already discussed in Chapter 1); 2) introducing "randomness" (rightly presented as a means of "abstracting from the complexity of the real world"), particularly into construction of network ties between agents and as the way to put some "noise" into their behavior and/or communication; 3) setting simulated time.
The first question raised by Chapter 2 is why object-oriented languages are presented in the section on "agents" when these languages seem just as necessary to programming the other constituent elements of an agent-based model (as is shown, in fact, in Ch. 4). And aren't they also implicated in constructing the other two agent implementation options the author discusses? The newcomers to whom this work is addressed may be slightly confused by this order of presentation. Second, it might have been useful to devote a few lines to explaining the distinction between "cognitive" and "reactive" agents, especially since Gilbert has elsewhere acknowledged the importance of this question (Gilbert 2005). Third, it would have been helpful in an introduction of this kind to have indicated that artificial neural networks are themselves a complex family of techniques. And it would have helped the beginner if there had been greater explicit insistence on the fact that in ABM the neural networks method is used not as a tool for statistical analysis but as an instrument for modeling cognitive and decision-making processes (see, for example, Zizzo 2001).
Chapter 3 first presents the stages of an ideal-typical research study centered on ABM. These are as follows: 1) identifying the "regularities at the societal or macro level" that one wants to explain and formulating general explanatory hypotheses; 2) specifying the agents, environment and model outcomes one is planning to collect; 3) writing a computer program that will make the simulation possible; 4) verifying the model; 5) validating the model; 6) comparing model "output" with the relevant empirical data; 7) assessing analysis results; 8) experimenting on the model.
In fact, readers have to figure out for themselves that phases 6 and 8 actually constitute a subset of phase 5 (for 8, no real distinction is actually made anywhere in the book between "experimenting" and "sensitivity analysis"), and they learn in the following chapter that phase 3 may contain a pre-formalizing operation to be done using diagrammatic language or pseudo-code. Aside from these minor points, the pedagogic value of these guidelines is undeniable.
Gilbert then applies the guidelines, engaging in step-by-step construction of a model that aims to "suggest how some plausible assumptions about individual action (micro foundations) could yield the collectivities that are observable at the macro level" (p. 32). The term "collectivities" refers to phenomena as diverse as youth subcultures, scientific research areas, neighborhoods, and members of armed revolutionary or industrial sectors. As he sees it, what generates these collectivities can be identified as a population of actors whose status depends on the knowledge they possess and whose behavior is guided as follows: low-status actors seek to improve their status by imitating high-status actors, while high-status actors seek to maintain their status by continually changing their behavior.
Unfortunately, Gilbert interrupts his model construction at precisely the point where the phase 3 should begin (he takes it up again in Ch. 4), turning instead to a general discussion of verification and validation operations (this way of proceeding makes reading less linear and contrasts with what was announced on p. 1). Gilbert here stresses the importance of correctly checking the computer code. He suggests several solutions for debugging, some pertain to code writing style, others to code content and still others to the way the model is compiled and its parameters manipulated. But a verified agent-based model is not necessarily a valid one, the author warns. Validating means establishing "whether it is, in fact, a good model of what it purports to represent" (p. 40).
On this delicate point, Gilbert's argument is that the right validation criteria vary with the model's objective. For an "abstract model", comparison with empirical data is not a viable means of validation; the researcher needs to determine instead whether the model produces the macro configurations he or she wants to explain- but how could this be done effectively, we may ask, without empirical data? - and whether systematically varying model parameters (sensitivity analysis) disturbs these configurations (if so, pursues the author, the researcher must determine whether the model's new behavior is interpretable). For a "middle-range model", meanwhile, validity will be determined by "qualitative resemblance"; i.e., similarity between model dynamic and observed dynamic - but the author does not indicate how to bring the model dynamic to light or how to compare it to the real dynamic - and structural similarity between model outputs and aggregated empirical data. Only in the case of a "facsimile model", Gilbert affirms, is comparison with empirical data the main criterion for validating the model. But here again the author expresses doubt about the solidity of such comparisons. As he sees it, empirical data are often incomplete, and the suppositions and random nature of simulations make classical statistical adjustment measures virtually useless in this case.
A strong distrust of empirical validation can be felt in these pages. If to this we add the fact that the author does not seem to think of theoretical model building as the result of a long labor of analyzing the theories and empirical research available on the object to be modeled, the reader may find this attitude questionable. On the grounds that the simplicity principle is always preferable a priori, the author's understanding seems to be that model building should be guided by generic "good/common socio-economic sense". Under these conditions, the author's confidence in sensitivity analysis appears exaggerated. Indeed, how could manipulating parameters that reflect simplistic hypotheses and have weak ties to reality lead to robust model validation? It seems to me that giving the reader to understand that the "simple is beautiful and necessary" principle (Deffuant, Weisbuch, Amblard and Faure 2003) is preferable to "an 'anti-simplistic' modelling approach" (Edmonds and Scott 2005) while avoiding any explicit mention or discussion of the "empirically calibrated simulation" solution (Wilcox 2005; Hedström 2005: ch. 6; Bruch and Mare 2006; Fagiolo, Windrum and Moneta 2007; Moss 2008) works against the teaching aims of this work. If the newcomers to whom Gilbert is addressing this introduction to ABM do not understand at least the possibility of making this double shift, how will they be able to answer researchers who deny the real explanatory power of such models (cf. Grune-Yanoff 2007)?
Chapter 4 opens with a discussion of available tools for implementing agent-based models that is both highly synthetic and informative. Gilbert's interest in this fundamental aspect is well-known (cf. for example, Gilbert 2000, Gilbert and Terna 2000). Here he mentions four such tools: 1) "from scratch" programming; 2) libraries or frameworks (such as Swarm, Repast or Mason); 3) modeling environment (such as NetLogo, StarLogo or AgentSheets); 4) environments originally created for other purposes (such as MatLab or Mathematica). In this book Gilbert expresses a preference for NetLogo, an instrument which he considers flexible and complete enough for constructing and analyzing relatively rich models while having lower "entry costs" requirements - in terms of computer skills - than those associated with Repast or Mason, for example. (Might Repast Simphony 1.0 lead to qualifying this assessment in the near future?)
Working within NetLogo, the author now takes up the "collectivities model" again where he left it in Chapter 3; i.e., at writing the computer code for implementing the model. The clarity and pedagogical value of these pages are remarkable. Commenting on each line of code and explaining the relations between the different program parts, Gilbert provides the reader a view of the main characteristics of NetLogo language that goes well beyond his specific example.
After this presentation of "collectivities model" code, the author reports the result of a simulation in which a number of clumps appear. Since this is an "abstract model", he explains, it cannot be validated by comparing the results with the relevant empirical data. The interest of this model lies instead in the theoretical questions it raises.
The chapter ends with two very useful sections: a set of guidelines for successfully conducting a research project constructed around ABM, and an outline to use when presenting such a project in an "article". But Gilbert himself does not do what he advises his reader: he does not discuss the verification phase for his "collectivities model". Similarly, given the indications in Chapter 3 on how to validate an "abstract model", the reader may logically expect Gilbert to present at least partial results of a sensitivity analysis for the "collectivities model". Not only is this not done, but the reader is not told the parametric values from which the author obtained the only result that is presented.
Moreover, this chapter raises the following question: doesn't the "knowledge space" in which Gilbert locates and moves his agents require the "knowledge" resource to be explicitly represented and implemented? If I am not mistaken, the programming code used does not include such components (in the form of either agent attributes or a "patch" characteristic). This is an important point, especially for newcomers. It suggests that the move from verbally formulating the theoretical hypotheses to formalizing/implementing those hypotheses may not be as linear as Gilbert's presentation seems to imply.
Chapter 5 concludes the undertaking by illustrating three current research areas. Gilbert first discusses attempts to integrate Geographical Information Systems into ABM. This coupling is what would allow for getting beyond an abstract representation of space: agent behavior and interaction could be introduced into "terrains mapped from real landscapes" (pp. 68 and 69). The author then presents the main solutions for endowing agents with genuine forms of learning. Specifically, he discusses "reinforcement learning" algorithms and the only "evolutionary computation" technique he describes in detail is "genetic algorithms" Lastly, Gilbert discusses models that attempt to represent the genesis of full-fledged forms of communication among interacting agents. Those models - there are very few of them - are understood to go beyond representing agents' interaction abilities as mere immediate agent-to-agent data transfers. An undeniable virtue of this last chapter is the glimpse it affords the reader of how very flexible agent-based modeling can be. But the chapter is brief, and the author takes some "short-cuts" in the exposition that may pose a problem for the beginner. It is not always clear, for example, whether a learning algorithm involves individual or collective learning.
Introducing social science students - and more generally uninitiated social scientists - to a research field as complex as ABM in a way that is at once synthetic, pedagogically effective and practical may seem an impossible undertaking. With Agent-based Models, Nigel Gilbert has demonstrated that this is not the case. And the stimulating questions that the work raises for a researcher with some experience in this field are proof that it has surpassed its educational aims.
I would conclude with a general remark. A phrase that recurs in Agent-based Models is "to model social phenomena". However, readers have to figure out for themselves that what this means is: a) the object of the models discussed is in fact always a concatenation of mechanisms; b) computational simulation of this object serves to trigger the processes contained as potential in these mechanisms; c) the aim of the simulation operation is to generate systemic regularities. It seems to me that, given its stated pedagogical purposes, Agent-Based Models would have benefited from a more explicit presentation of this threefold analytic distinction (the concept of the model as defined in the glossary, for example, conflates some of these terms, notably 'mechanism' and 'process'). Doing so would have had the following five advantages: 1) ABM would have been shown to be founded on a reliable epistemological concept, that of "mechanism" (Bunge 2004), and on the specific idea of causation implied by this concept: "generative causation" (Harré 1972: 116, 121 and 136-137); 2) the author could then have explicitly presented ABM as generative models; i.e., models whose object is some mechanisms (despite recurrent confusion on this point, mechanism designing in fact logically and computationally precedes process triggering); 3) the validation problem could have been integrated into a simple, unitary frame where the point would be to determine for a given model the degree of theoretical and empirical realism of a) the mechanisms it represents, b) the processes triggered by simulation of these mechanisms, c) the outcomes thereby produced by the model; 4) dialogue between the world of ABM and such sociological currents as analytical sociology (Hedström 2005) and mathematical sociology (Fararo and Kosaka 2003), heavily based on the concept of "mechanism", would have been facilitated and strengthened; 5) since the "mechanism" concept is common to history of the natural sciences (Machamer, Darden and Craver 2000) and history of the social sciences (Cherkaoui 2005), ABM might have been presented as a tool capable of increasing dialogue between them.
[Translated from French by Amy Jacobs]
BUNGE M (2004) How Does it Work? The Search for Explanatory Mechanisms. Philosophy of the Social Science, 34, 2.
CHERKAOUI M (2005) Invisible Codes. Essays on Generative Mechanisms. Oxford: Bardwell-Press.
DEFFAUNT G, WEISBUCH G, AMBLARD F and FAURE T (2003) Simple is Beautiful ... and Necessary. Journal of Artificial Societies and Social Simulation, 6(1): https://www.jasss.org/6/1/6.html
DE MARCHI S (2005) Computational and Mathematical Modeling in the Social Sciences. Cambridge: Cambridge University Press.
EDMONDS B and MOSS S (2005) From KISS to KIDS - An 'Anti-sSimplistic' Modelling Approach. In Davidsson P, Logan B and Takadama K (Eds.), Multi-Agent and Multi-Agent-Based Simulation. LNAI, Berlin/Heidelberg: Springer.
FAGIOLO G, WINDRUM P and MONETA A (2007) A Critical Guide to Empirical Validation of Agent-Based Economics Models: Methodologies, Procedures, and Open Problems. Computational Economics, 30(3).
FARARO T J and KOSAKA K (2003) Generating Images of Social Stratification. A Formal Theory. Dordrecht: Kluwer Academic Publishers.
FERBER J (1999) Multi-Agent Systems. An Introduction to Distributed Artificial Intelligence. London: Addison Wesley.
GILBERT N (1993) Analyzing Tabular Data: Loglinear and Logistic Models for Social Researchers. London: UCL Press.
GILBERT N (2000) Models, Processes and Algorithms: Towards a Simulation Toolkit. In Suleiman R, Troitzsch KG and Gilbert N (Eds.), Tools and Techniques for Social Science Simulation. Heidelberg: Physica-Verlag.
GILBERT N (2005) When Does Social Simulation Need Cognitive Models?. In Sun R (Ed.) Cognition and Multi-Agent Interaction: From Cognitive Modeling to Social Simulation. Cambridge: Cambridge University Press.
GILBERT N and TERNA P (2000) How to Build and Use Agent-Based Models in Social Science. Mind and Society, 1(1), 57-72.
GILBERT N and TROITZSCH K. G. (2005) Simulation for the Social Scientist. Milton Keynes: Open University Press, Second Edition.
GRUNE-YANOFF T (2007) The Explanatory Potential of Artificial Societies. Synthese, forthcoming, available at: http://philsci-archive.pitt.edu/archive/00003669/
HARRE R (1972) The Philosophies of Science. An Introductory Survey, Oxford: Oxford University Press.
HEDSTROM P (2005) Dissecting the Social: On the Principles of Analytical Sociology. Cambridge: Cambridge University Press.
MACHAMER PK, DARDEN L and CRAVER CF (2000) Thinking about Mechanisms. Philosophy of Science, 67, 1, pp. 1-25.
MOSS S (2008) Alternative Approaches To the Empirical Validation of Agent-Based Models, Journal of Artificial Societies and Social Simulation, 11(1): https://www.jasss.org/11/1/5.html
TABER CS and TIMPONE RJ (1996) Computational Modeling: London: Sage Publications.
WILCOX SP (2005) Agent-Based Models as Quantitative Sociological Methodology: Calibrating Simulation Models to Data and Finding Confidence Intervals for Model Parameters. Proceedings of The Agent 2005 Conference on: Generative Social Processes, Models, and Mechanisms, Argonne National Laboratory, The University of Chicago.
ZIZZO DJ (2001) Review of: Neural Networks: An Introductory Guide for Social Scientists. Journal of Artificial Societies and Social Simulation, 4(3): https://www.jasss.org/4/3/reviews/garson.html
Return to Contents of this issue
© Copyright Journal of Artificial Societies and Social Simulation, 2008