Benefits of Agent Based Modeling

The benefits of agent-based modeling may be captured in three statements:

  • agent-based models can be used to capture emergent phenomena
  • systems are described in a “natural” way which leads to a wider acceptance of the modeling approach
  • models are flexible and can easily be adapted to new constraints

In our experience, it is best to apply agent-based modeling when:

  • The  problem you would like to explore has a natural representation as consisting of interacting agents.
  • The problem can be described in terms of individual behaviors of participants, and the behavior of participants can be defined directly, i.e. with well defined boundaries.
  • When it is important that agents adapt and change their behavior during the simulation.
  • When it is important to take into account the relationships among participants of the system, and when it is possible that these relationships are formed and dissolved during the simulation.
  • When it is important that agents show some kind of organization building capability and when this is a result of adaptive behavior and learning progress the agents go through in the simulation.
  • When there is very little or no correlation between the states of the system in the past and its future development.
  • When it is important to be able to scale the model online during the simulation by adding properties to an agent (e.g. learning capability and different adaptation behavior), or simply by adding more agents to the system.

Agent-based models capture emergent phenomena

One of the most striking features of agent-based modeling is that it may visualize emergent phenomena, i.e. the generation of patterns brought forth by complex interactions of the individual system components. Due to the complexity of such interactions, emergent phenomena cannot be understood by simply analyzing the system parts; therefore, an emergent phenomenon is more than the simple sum of its parts. As it shows, emergent phenomena are often counterintuitive, which makes it even more difficult to predict their appearance. One may typically decide to use agent-based modeling when there is a potential for emergent phenomena to appear, i.e. when:

  • Individual behavior is not linear and can be characterized by thresholds, if-then rules or nonlinear coupling.
  • Using differential or integral equations like in System Dynamics for describing discontinuities in individual behavior is difficult.
  • Individual behavior exhibits capabilities such as memory, path-dependence, learning, adaptation to the environment, non-Markovian behavior, and other phenomena which are very difficult to describe and even harder to understand based on pure mathematical analysis.
  • Often, systems are characterized by networks generated among agents over time. Using differential equations or other mathematical means to analyze such systems doesn’t take into account the phenomena emerging from these network clusters since these approaches are based on the assumption that the agent population be homogenous. Nevertheless, significant system behaviors are often emerging from such clusters. This can be simulated more easily by means of agent-based modeling than statistical analysis.
  • Many systems are not stable under the influence of small perturbations. They show nonlinear reactions to small changes in system parameters. Such systems are also highly counterintuitive and very hard to be described by analytical mathematics. It is often easier to build a system by implementing its key constraints in an agent-based model in order to find out the crucial constellations where system behavior rapidly changes.
  • Modeling non-deterministic and stochastic system behavior is often very difficult in terms of mathematical analysis. It is often easier to break down non-deterministic system behavior to the level of a single agent within a model and to observe the emergent impact by running the model over time.

Agent-based models describe systems in a natural way

In many cases, agent-based modeling is the most natural way for describing systems composed of behavioral entities. In the case of business organizations, agent-based modeling looks at an organization from a viewpoint based on activities, rather than on business processes. That is, it looks at what most people working in an organization actually do every day. Therefore, modeling the business process using agents can result in making models seem nearer to reality. For example, modeling how shoppers in a supermarket move around is done more naturally by an agent-based modeling approach than by describing the dynamics of the density of shoppers using differential equations. Since the density equation reflects the behavior of shoppers, similarly, the agent-based approach will enable us to study aggregate properties. Furthermore, the agent-based approach allows us to realize the full potential of the data we have about the shopper by modeling his behavior as a system agent according to these data. For instance, the knowledge of the actual shopping basket the shopper uses can be very easily modeled into the characteristics of an agent deriving specific behavior rules depending upon the actual information of the shopping basket.

It seems obvious that populating, validating, calibrating the model can easier be done by people from inside the organization because agent behavior often directly corresponds to the behavior of the real life shoppers they observe. Also, a model which has been developed bottom up by those persons who are actually described as agents in the model is expected to achieve a higher level of acceptance than a model which has been developed by some unknown third party. Higher acceptance of the model means also that the stakeholders will more likely give high value informations which are needed to calibrate the model. This on the other hand means that the model will more likely be a good description of the problem.

In the following, we give you some further suggestions as to when it is useful to use agent-based models to describe a system:

  • Aggregate transition rates are not sufficient to describe the individual behavior of the entities taking part in a system. There may be important aspects resulting from, e.g., clustering or nonlinear dependency on small perturbations which may lead to high impact decisions taken by a small number of (special) agents within that system. Such phenomena can be far more easily modeled based on the description of the behavior of individual agents.
  • Validating and calibrating the model through expert judgment is crucial. agent-based approaches often tend to be a more natural way of describing what is actually happening in an organization giving the expert a feeling of ownership and responsibility for the model.
  • Describing activities is easier then describing organizational processes. Activities allow a great number of people to take part in model creation, as they actually are confronted with thinking in terms of their own activities in their regular working environment.

Agent-based models are flexible

The flexibility of agent-based modeling can be observed through many dimensions.

For example, it is easy to extend the system as a whole by adding more agents to an agent-based model. This you can easily verify by testing the simulation cockpits in the state chart chapter. There, you will be able to achieve completely different results in system behavior by varying the parameters of the models.

Also, agent-based modeling provides a framework for tuning the complexity of an individual agent or group of agents by elaborating on their behavior, degree of rationality, interaction rules, or ability to learn and evolve. This can be done, for example, by adding different behavioral algorithms to an agent’s code. So, it is possible to provide an agent with different adaptive or learning algorithms (say Reinforcement Learning)  in order to study which learning algorithm enables an agent best to adapt to a certain environment.

Another way of tuning your model is by adding different layers of abstraction, e.g., by sorting agents showing similar behavior into groups or clusters and letting them interact with agents from other groups or clusters. A flavor of this can be tasted in the simulation chapter on the simple project management model. In this model there are two sorts of agents: the Staff Member and the Task agents. The state changes of the Task agents are controlled by messages received fby the Staff Member agents.

 << Fundamental Concepts Introduction A Simple Project Management Simulation >>