Agent-Based Modeling
This is my site Written by Jeff on March 30, 2010 – 12:13 pm

by  Jeff Schank

Agent-based modeling (ABM) is a style of modeling in which individuals and their interaction with each other and their environment are explicitly represented in a program or even in another physical entity such as a robot.  Individuals modeled are, for example, people, animals, groups, or cells, but they can model entities that do not have a physical basis, but are entities that are conceived as performing a task such as gathering information or theoretically modeling the evolution of cooperation.

Typically, ABM is associated with a relatively recent style of programming called object-oriented programming.  In object-oriented programming languages such as Java, data and programming methods or procedures are encapsulated in objects that can manipulate their own data and interact with other programming objects.  The encapsulation or entification of programs as objects makes the representation of real-world entities such as people or cells intuitively representable by objects in an object-oriented programming language.  For example, if we develop an ABM of human group formation, a natural starting point would be to define a class in Java called “People”.  We would specify information people would need to have and rules for how they interact with each other and their environment.

Object-oriented programming languages have another feature that greatly facilitates ABM development and that is inheritance.  If we define a class called People in Java, we might want to introduce males and females, or people of different age groups.  Instead of writing a completely new class for each, we can instead extend the class People to our new classes through the mechanism of inheritance and by specifying what new data and functionality we want to add to our new classes.  Agent-based modeling is thus a style of modeling that has an associated style of programming, which is well suited for representing the individuals by objects as agents in a program.

Agent-based modeling, however, is not confined only to programs that can be simulated. Agents, can for example, also be robots. The field of autonomous robotics is a subfield of agent-based modeling in which agents have physical embodiment.

Styles of Thinking

ABM is a style of modeling that has both experimental and mathematical styles of thinking (I believe this applies no matter how one is thinking of agents).  An agent-based modeler must think like an experimentalist because simulations are like real-world experiments. Modelers must carefully specify and control the details of simulations (or experiments with autonomous robots) such as the initial arrangement of agents, the structure of the environment, and what manipulations will be performed on the agents.  The modeler must also determine what data are collected and how they are analyzed.  Running a single simulation experiment and analyzing the results is, however, typically not sufficient for the adequate analysis of an agent-based model.

Often, ABMs have random elements such as the initial spatial placement of agents and/or they have agents that make probabilistic decisions.  In such cases, we may want to run many simulation experiments and at a minimum calculate means and variances for the data we collect.  This is a mathematical style of thinking.  If we run a large number of simulation experiments with the same parameter values, the data we collect may converge on the true expected values for our model (though this may not be true for models in which oscillatory or chaotic behavior emerge).

The mathematical style of thinking required for ABM also focuses on characterizing the behavior of a model in parameter space.  Typically, analytical methods are not available for this type of analysis, so we do brute-force computational analyses by running sets of simulation experiments that systematically explore different points in parameter space.  As with analytical analyses, brute-force computational analyses can tell us which regions of parameter space produce stable, oscillatory, or chaotic solutions. Many times, it is not practical to systematically explore an entire parameter space.  In these cases, we may choose a subset of parameter space to explore or we may search parameter space for “good” solutions with the help genetic algorithms.


The representation of real-world individuals as agents in a program, is perhaps the most typical characteristic of ABM, but physical instantiations such as physical robots are also becoming increasingly important.  On the individual side, we seek to identify what information an individual needs to have, how it can manipulate this information, how it interacts with other individuals and its environment.  Thus, mechanisms for manipulating information about the world may include learning algorithms or neural networks. On the programming side, we define classes of agents, specifying information agents need in terms of data structures, mechanisms for how they manipulate information, and rules for how they interact with each other and with their environment. For example, an agent may need to learn locations where food is located. What actions an agent chooses may be just reactions to other agents or features of its environment.  More sophisticated cognitive mechanisms also can be implemented in an ABM such as memory and motivations. For the physical instantiation of an agent, not only do we have to consider the first two issues, but also the physical properties of the agent and its environment. 


In an ABM, agents interact in environments.  Environments are characterized by spaces in which agents behave and interact.  For example, spaces may be discrete, continuous, or characterized by networks.  Depending on the nature of the space, we have to write rules for how they move around and/or interact with other agents.  Specifying environments and spaces for agents forces us to be explicit about the assumptions we make.  We may specify that agents move in a square grid discrete space not because it represents the physical space in which individuals actually move, but because we believe nothing essential is lost by representing individuals with agents that interact in a 2-dimensional discrete space.  Choice of spatial representation may or may not matter, but we must always keep in mind that the assumptions we make may lead to error or bias.


All modeling involves assumptions.  All assumptions we make are in some sense false (Wimsatt, 1987), and yet some assumptions matter more than others.  If they did not, science as a whole would be a hopeless enterprise.  The art is to find those assumptions that introduce relatively little bias and error.  In many cases, the representation of 3-dimensional individuals moving about in a continuous space can be adequately represented by agents moving in 2-dimensional discrete space.  The problem is that there are no general rules for which assumptions are relatively harmless and which are not.

ABM forces us to be explicit and specific about the assumptions we make (whether, programing, mathematical, or physical).  Thus, the process of formulating an ABM for a phenomenon or problem—for which at most we have a verbal theory, not only forces us to be more precise but also reveals the myriad of decisions about assumptions we make to implement an ABM.

Explanation and Prediction

ABM offers a more quantitative, theoretical, and mechanistic approach to explanation and prediction than we typically find in behavioral research.  In psychology, for example, theory is largely qualitative and verbal.  Statistical analyses aim to (1) probabilistically test whether an independent variable increases or decreases relative to a null value, or (2) find statistical relationships among one or more variables.  Results of individual studies are then woven into verbal mechanistic accounts about how various components and factors cause the phenomena of interest. The problem is that verbal theories are imprecise and generate predictions that at best predict whether a variable should increase or decrease.  For verbal theories, it is not possible, in general, to predict a system’s behavior over time, especially new behaviors that emerge from the interactions of a system’s components or parts.  Finally, the verbal theories we find in review articles, the introductions, and conclusions of research articles are based on studies conducted by different researchers at different times and places.  Each of these studies differ in assumptions and conditions.  Therefore, we do not know—without the specification of a quantitative mechanism—whether the proposed verbal explanations or predictions form a coherent theoretical account.  Formulating a theoretical account as a mathematical or computational model forces us to make precise the proposed relationships among factors or components we theorize.  Thus, ABM, when applied to the more empirical sciences, provide us with a set of tools for turning verbal theories of complex mechanisms into precise and specific models that can generate predictions and explanations, many of which are emergent.


A fundamental benefit of ABM is the discovery and explanation of emergent behavior (this is true whether agents are virtual or physical or whether or not intended to represent individual in the world).  Emergent behaviors or characteristics of complex systems are patterns generated by the interactions of the components of a system.  Emergent behavior is ubiquitous in biological systems.  The process of development in multicellular organisms is a pattern formation process in which increasingly complex patterns emerge from previous patterns that emerged from physical and chemical interactions among cells.  Emergence is ubiquitous in groups of animals ranging from the flocking of birds, schooling of fish to mound building termites and slug formation of Dictyostelium discoideum.  ABM provides a toolkit for both discovering emergent behavior and understanding it in terms of interactions of components.

Conclusion:  What ABM Offers the Behavioral Sciences

ABM offers the behavioral sciences a computational toolkit for developing precise and specific models of how individuals interact and for discovering patterns of behavior and organization that emerge from these interactions.  Instead of relying on verbal, qualitative theories, we can now build ABMs of the phenomena we are interested in understanding and explaining.  We can test these models against data and to the degree they successfully agree with the data, we can achieve a deeper and more precise understanding of phenomena we wish to understand, explain, and predict.


Wimsatt, W.C. 1987. False models as means to truer theories. In: (Nitecki, M.H. & Hoffman, A., eds.) Neutral Models in Biology,  London: Oxford University Press, pp, 23–55.

2 Responses »

  1. This is a great article! I will like to obtain some more information and guidance on agent-based modelling. I am conducting reasearch in this area.

    I look forward to your response.

    Thank you.


  2. this article discusses the basic great. now I would like to know are there any simple examples of ABM modeled in java to be familiar more with the process of defining, modeling and programming?
    I look forward hearing from you soon,

Leave a Reply