Researchers can use agent-based modeling to validate their theories. In this application, researchers program agents to interact in accordance with their theories. The researchers then observe how the system as a whole ends up. If the result is as predicted, this gives evidence toward the researchers' theories. If the results turn out to be surprising to the researchers, it can lead them to reorganize their theories, or even play the role of a counterargument to a theory.
In many scientific contexts, data describing phenomena of interest are difficult to come across. In such a situation, researchers can program agents in ways conforming to certain hypotheses. After running the agent-based model based on such hypotheses, researchers can observe the resulting system, thereby gaining insight into a situation that may be representative of a real-world process. This method emphasizes creating several different hypotheses and repeating this process multiple times. The researchers then compare the results of the agent-based models and make inferences as to how changing certain factors in the hypotheses lead to different results. This, in turn, leads to the accumulation of data that may be used to develop theories regarding the phenomenon of interest.
Researchers may use many multipurpose software platforms to perform agent-based modeling. Because programming agents are akin to creating simple algorithms and letting them run in a shared environment, such software platforms that are designed as database holders and manipulators often are convenient for agent-based modeling. Some examples of software that can be used as agent-based software are Matlab, a piece of mathematical software; Excel, a spreadsheet program with macro capabilities; and R, a statistical software system with high-level programming capabilities.
The alternative platform to the well-known software platforms is that of the recently developed agent-based modeling software series. Software systems such as Swarm, AnyLogic and MASON offer researchers specifically interested in creating agent-based models capabilities to deal directly and explicitly with agent-based models. The advantage of this platform is its ease of use to researchers unfamiliar with agent-based modeling.