tems means that advances in one field lead to progress in the other, nucleating further improvements in the original field, and so on. This interface between these broadly defined fields of knowledge opens up many opportunities for new research.
Building models in which purposive software objects represent individual people is a way around two classical problems—aggregation and the necessity to assume equilibrium—within conventional mathematical modeling in the social sciences. Because social systems are typically composed of a large number of heterogeneous individuals, mathematical models in the social sciences have been one of two types: (1) aggregate models, in which the heterogeneity of the population is either assumed away (e.g., representative agent models) or averaged away by looking only at mean behavior (e.g., systems dynamics models); and (2) models written at the level of individuals, in which “solution” of the models involves all agents engaging only in equilibrium behavior (e.g., Nash equilibria in game theory, Walras-Arrow-Debreu equilibria in economics) and all dynamic paths by which such equilibria might be achieved are neglected. It is clear how the agent approach fixes aggregate models by fully representing individuals. The agent-based approach also remedies the second problem by letting agents interact directly (in general these are out-of-equilibrium interactions); equilibrium is attained only if a path to it is realized from initial conditions.
MAS grew up in the mid-1990s and combined with so-called artificial life (ALife) models, giving rise to agent-based approaches in the social sciences. As the capacity of computer hardware increased exponentially, more sophisticated agent models could be built, using either more cognitively complex agents or a larger number of simple agents, or both. Thus, large agent populations were soon realized in practice leading naturally to the metaphor of an artificial society (Builder and Bankes, 1991).
In modeling an artificial society, a population of objects is instantiated and permitted to interact. Typically, each object represents one individual and has internal data fields that store the specific characteristics of that individual. Each object also has methods of modifying its internal data, describing interactions, and assessing its self-interest (i.e., it can rank the value to itself of alternative actions). This quality of self-interestedness, or purposefulness, makes the objects into agents.
Conventional mathematical models in the social sciences rely heavily on a suite of heroic assumptions that are false empirically and, arguably, do more harm than good as benchmarks. There are four main ways agent-based computing can be used to relax these assumptions. First, mainstream economics makes much of a “representative agent,” conceiving the entire economy as simply a scaled-up version of a single decision maker. This specification is easy to relax computationally. Second, economics models normally consider only rational