We have organized our frequently asked questions into categories to make it easier to find answers.
If you have a question that is not answered here, you can register as a CoMSES Net Member and post it to our forums. With enough community interest, it may end up on this list.
Agent-based models are (computational) models of a heterogeneous population of agents and their interactions. The result of the micro-level interactions can be interesting macro-level behavior like cooperation, segregation, fashion, culture, etc. ABMs are also known as multi-agent systems, agent-based systems etc., and is an important field in computer science where agent-based models are developed to do tasks, like searching for information on the internet. Within social science we are interested in agent-behavior that is based on our understanding of human decision making. Agents can represent individuals, households, firms, nations, depending on the application. The heterogeneity of agents is an important aspect of ABM. Heterogeneity can originate from differences is location, knowledge, wealth, social connections, cognitive processes, experience, motivations, preferences, etc. Agents can interact in various ways such as changing the shared environment by harvesting or pollution, exchange of information and resources, and by imitation.
It is important to have a clear research question what kind of emergent process one likes to study. Often scholars use ABM to describe a lot of details of a complicated system. The resulting model is often not useful since it is too complicated to perform a rigorous analysis required for understanding the behavior of the model. Often an agent-based model is not necessary. When there is a small set of agents, or a very large of agents who interact randomly, sets of differential equations, such as system dynamics models, may be a suitable tool too. ABMs are especially useful when the agents interact in non-random ways, like social networks, of spatial explicit ecological systems. Furthermore, they are useful to test different cognitive processes and heterogeneity of decision-making processes in a population.
Models are tools for communication, education, exploration and experimentation. Models are not holy tools for prediction, especially not for non-linear systems. Unfortunately, there is a lot of misunderstanding about models. People who are not very familiar with them have sometimes high expectations of the details that are included. A common critique of non-modelers is that more details need to be included. But more details might only make the model less useful for exploration of the parameter space. The goal is to make “the models as simple as possible, but no simpler than that”. One confuses often the use of a model with a description of the real systems.
The terms validation and calibration originate in engineering and are sensitive to many social scientists. What we want to test is how well our model explains the data compared with alternative models. Therefore it is important to use different models of decision making. Human decision making is so complicated that we do not have the illusion to argue that we have the true model. Model comparison is, however, not a straightforward activity. There are different dimensions in which a model may be evaluated. One way social scientists test models is use maximum likelihood estimation. Since more complicated models with more degrees of freedom result in better fits, some scholars use a penalty for the complexity of the model. Especially the use of minimum description length might be a promising tool. Increasingly experimental researchers and agent-based modeling start to be combined. Traditionally experiments where used to challenge the standard model of rational choice, nowadays alternative models are tested in more complicated dynamic and spatial settings, in the lab and in the field. This may lead to better tested alternative models that one can use in ABMS. Other ways to evaluate models is the participatory model development with stakeholders, or the use of Turing-tests.
A standard rule is that one should be able to replicate the basic results of your research. Simple models should be documented in such a way, that a colleague is able to reimplement the model and derive similar results. Several noteworthy results from models published in high level journals have been difficult to replicate. At the very least, some assumptions made in the original model led to doubt about whether the results were robust. At CoMSES Net we recommend the ODD protocol (Grimm et al., 2006) as a starting point for model documentation.
System dynamics is characterized by causal feedback loops and is formalized by sets of differential equations which are numerically solved in user-friendly packages like Stella and Vensim. One can write simple agent-based models in packages like Stella and Vensim, using arrays of differential equations and a fixed topology of interactions. But this use of system dynamics packages restrict the possibilities of more dynamic interactions of agents, heterogeneity of agents, more complex recursive reasoning processes.
A Markov process is a random process whose future probabilities are determined by its most recent values. Sometimes ABM fits this description very well, but in many cases the decisions are dependent on the state of the systems of more than one step ago. This is especially the case when agents learn or have a memory.
ABMs are especially used to study complex systems. With complex systems we refer to systems that use simple micro-level rules that generate macro-level phenomena. These emergent phenomena can not be explained by the micro-level units alone. The interactions of the units lead to a nonlinear transformation to macro-level phenomena. For example, we can not understand the emergence of ant-colonies by studying one ant. Complex systems are different from complicated systems. Complex systems are in fact simplified versions of very complicated systems. Scholars studying complex systems and complexity are interested in discovering the basic underlying rules that describe most of the phenomena, not the details for specific empirical applications.
This is a major open question in the field of ABMs. It is well known that rational choice theory which assumes selfish rational decision makers is a reasonable model of decision making only in specific conditions, such as high competitive markets. In most other situations we lack a standard model, but there are a lot of insights of regularities and anomalies in decision making. Instead of assuming selfish individuals with perfect information, we often assume agents who have simple heuristics of satisfying behavior. Cognitive scientists test many types of models on experimental data, and this provides us some useful models like reinforcement learning models, or other regarding preferences. Another way to elicit heuristics for decision making of the agents is to interview stakeholders on their decision making. Although people can not clearly express how they make decisions, they may provide useful information.
There are a number of ABM platforms like Netlogo, Repast, Mesa, Mason, Cormas, etc. (for a more comprehensive list, please visit our maintained list of modeling platforms). The main benefits of these platforms are the provision of a graphical interface, an open source community who may develop similar models you are interested in, and library support and abstractions to simplify the creation of agent based models. A drawback is that these platforms are not always user-friendly and libraries only include the more straightforward algorithms. One can also develop ABMs in more standard packages like MATLAB when one is already familiar with such a platform. A good platform to get started is Netlogo as it is good for rapid prototyping, has good tutorials and a large library of example models. For more experienced software developers, a platform implemented in Java like Repast, Mason, or using Python like Mesa might be more appropriate.
As a scientific community of practice, members of the CoMSES Network have access to a suite of community resources and also share a responsibility to contribute to the community. There are two categories of membership in the network: Basic and Full Members.
To view the benefits and responsibilities of CoMSES membership: please visit the CoMSES Membership Page.
Sort by date while browsing the CML.
Although our focus is on agent-based models on social and ecological systems, we are open to broader computational models including geosimulation, cellular automata, dynamic networks, etc. Contact us if you have any questions!
You must explicitly choose to Publish a computational model in the CML to make it publicly accessible and discoverable. You may choose to keep a model unpublished, if for example it is associated with a publication under review, and you do not wish to make the model public until the paper has been published.
Model authors may request that their models be peer reviewed for structural completeness and fulfilling community standards. Models that meet these modeling standards will be certified as Peer Reviewed and be badged as well as be eligible for inclusion on our home page as Featured Content.
For more information, please see the Peer Review page.
A permanent handle is a unique string of characters used to identify a specific piece of academic output, such as a journal publication, dataset or software. Handles are defined and managed by the Handle System, an international consortium that includes DOIs. DOIs are a pseudo commercial implementation of the handle.net system, especially useful for commercial publishers. In the spirit of open source we prefer the free handle system but you can also mint DOIs for your codebases via our integration with Zenodo. Arizona State University (ASU) is a registered service provider with the Handle System, and CoMSES has an arrangement with the ASU Libraries to register our permanent content items (models) through the ASU registered ID.
CoMSES’ current policy is to mint handles for peer reviewed models (i.e., those that have passed the CoMSES Net peer review process) and models that have been reviewed as part of a published journal paper. For example, this replication of Artificial Anasazi has been certified and has a permanent handle (http://hdl.handle.net/2286.0/oabm:2222 (link is external)) which can be found in the model’s citation information.
Once a model is published in the CML, they become a matter of public record and in general cannot be removed from the CML except for extraordinary circumstances (e.g., confidentiality, privacy, or licensing issues).
With that understanding in mind, if you must retract a model from the library, you will need to contact us to explain your situation in detail.
To contribute a model with its associated metadata and documentation to the Library, you must be a signed in CoMSES Net member.
The codebase upload workflow will guide you through several steps and collect important contextual metadata about your computational model, including references to associated publications, narrative documentation about your model, model source code, and additional metadata like the programming platform, programming language, and other software or data dependencies. The Computational Model Library requires that narrative documentation be provided to help others understand the purpose and structure of your computational model and facilitate reuse and reproducibility. The ODD protocol (referenced below) is recommended as a format for documenting your computational models, but not a hard requirement.
If you’d like to keep your model private but share its details with journal reviewers, use a private Share URL to disseminate your computational model’s digital artifacts and metadata. You can also request independent CoMSES Net peer review for your unpublished models.