Agent-Based Computational Economics - An Introduction
Charlotte Bruun Department of Economics, Politics and Public Administration Aalborg University 9000 Aalborg Denmark email@example.com
Terming a speci?c approach to economics agent-based may appear paradoxical. Isn’t human behavior the foundation of economics - and shouldn’t all economic theory be based on agents behavior in some sense? This, at least, is what conventional economic theory has been claiming since the 1970’s. In this introduction we shall argue that agent-based computational economics (ACE) allows agents and especially their interaction, a more pivotal role than does conventional microeconomics or microfounded theory. There is a di?erence between microeconomics and agent-based economics - in the latter you are not satis?ed with understanding exactly how a single agent acts in economic markets - you are primarily interested in the system view that arises when you observe the interaction between a number of agents. From observing an isolated agent, it is impossible to foresee what happens when a multitude of agents interact it cannot be deduced. This adds importance to the computational part. In agent-based economics the computer is not merely used as a giant calculator ?nding analytical or numerical solutions, but is used as a central part in a new methodological approach to economics.
The Economy as a Complex Adaptive System
The economy may be described as a complex adaptive system, i.e. a system where complexity arises because of the way a large number of agents interact. Complexity thus stems from the fact that the economy is a large composite system. What we observe as the economy, is the result of millions of agents interacting. We know the output of this system as growth rates, in?ation rates, unemployment rates etc., but how do we get from the description of our agents to these aggregate magnitudes, and can we say anything about the aggregate
magnitudes in their own right? As other sciences dealing with large composite systems, economics has developed a tradition of dealing with two levels: the microlevel and the macrolevel. Microeconomics takes as its starting point the behavior of individual agents whereas macroeconomics theorizes about relations between aggregate magnitudes. The problem is that unless one is willing to make very restrictive assumptions, it has proven to be impossible to unite the two levels. This has resulted in assumptions of homogeneity and constructions as the representative agent - a construction that among others, has been heavily criticized by Kirman (1992). The apparent impossibility of uniting micro and macro is particularly crucial in economics since we have developed a tradition of demanding microfoundation of macroeconomics. In reality this means a dismissal of macroeconomics altogether, and an ignorance of the fact that important characteristics of the system may arise in the interaction part. If Keynes’ conception of e?ective demand (Keynes, 1936) is something that arises in the interaction, then the possible lack of aggregate demand is dismissed from the outset since it cannot be microfounded. Complexity science now o?ers a way out of this situation. Rather than starting with either a single isolated agent or aggregate magnitudes, complexity science suggests focusing on the interaction between agents. Recognizing that what turns large composite systems into systems and not just collections is the interaction between the parts, it seems apparent to start with the interaction. Traditional microeconomic models also has interaction, it could be claimed, but this is really pseudo-interaction since here an agent either interacts with the aggregate whole or all are simultaneously interacting with all others (Rosser, 1999). That is, we really don’t have interaction taking place in time and space. In general equilibrium models the pseudo-interaction is obtained by having a controller signal out a price vector to agents and collecting information on demand and supply given this price vector. Being able to handle heterogeneity, time and space, the sort of interaction suggested by complexity science comes much closer to the kinds of interaction that is actually taking place in economic systems. As a consequence of allowing economic agents to actually interact, we must expect our system to display a less predictable behavior; i.e. we must expect very complex dynamics. In their introduction to the ?rst Santa Fe workshop on The Economy as an Evolving Complex System, Arthur, Durlauf and Lane (1997) characterize complex dynamic systems as having dispersed interaction among heterogeneous agents acting locally on each other in some space. This characterization must also be expected to hold the other way around, i.e. all systems having dispersed interaction among heterogeneous agents must be expected to display complex dynamics, and thus economists must learn to live with complexity. Besides being a complex dynamic system as described above, the economy is also adaptive. Adaptivity exists on two levels; the system may be capable of adapting to external factors without individuals being aware of this adaptation 2
taking place, and agents may be capable of adapting to the system. The economic system has adaptation on both levels, and the fact that economic agents are intelligent and form opinions about the system of which they are a part, adds to the complexity of the system. Using their conception of the system they form expectations concerning the future developments of the system, and these expectations a?ect their current behavior. Since the behavior of a given agent a?ects the outcome of the system as a whole, expectation formation must take into account the behavior of the other agents in the system - i.e. expectation formation turns into a guessing game. This makes it di?cult for the individual agent to form expectations about the behavior of the system, and it makes it di?cult for the economic theorist to model what is going on. Rosser (2001) talks about the uncertainty arising from group dynamics - an uncertainty that cannot be reduced to risk. What the complexity approach suggests is that in order to understand the economy as a complex adaptive system, we must accept interaction as an activity taking place in time and space without a central controller. Even if agents start out being homogenous, they cannot all be in the same place at the same time and thus they experience di?erent histories and inevitably evolve into heterogeneous agents. Schelling (1978) was among the ?rst to apply a complexity approach to social sciences. He argued that economic systems are particularly complex because, besides a large number of locally interacting agents, economic systems are characterized by a lot of relations that must hold in the aggregate, but does not necessarily hold for each individual. This means that fallacies of composition are easily committed within economics. Schelling used the example of musical chairs; no matter how children playing the game behave, there will always be a chair missing - this is a macroproperty of the system that must hold. Therefore we cannot understand the system by observing a single child and aggregate from there. Changes in microbehavior may not have the expected e?ect - weightlifting and increased aggression in the behavior of children, does not a?ect the macroproperty of the system, and thus cannot improve the performance of the children as a group. In economics we often refer to such discrepancy between parts of the system and the system as a whole as paradoxes; the paradox of thrift is just one among a number of paradoxes. For an individual economic agent, expenses may be large than income, but this cannot be true of the whole system, thus an attempt by all agents to increase saving is bound to fail. This implies, that there are important feedback’s from the macro to the microlevel, and that the whole may be more (or less!) than the sum of its parts. We cannot all get rich by saving our money. When an agent makes a purchase he sets o? a number of activities because his expense will generate an income somewhere else in the system, and this income may set o? additional expenses. We have argued that the economic system should be perceived as a complex adaptive system, and that within economics, complexity arises from at least three di?erent sources; (1) from the fact that the economy is a large composite system, (2) from the fact that economic agents adapt their behavior to the 3
system, and (3) from the fact that economics is characterized by a lot of relations that must hold in the aggregate, but need not hold for the individual agent. But isn’t all this complexity bad news, one might ask? A high degree of complexity, however, does not mean chaos. An interesting characteristic of complex adaptive systems is that they have a capacity to selforganize and adapt to changing environments. Despite the lack of a global controller, complex adaptive systems appear to perform quite well. Considering the chain of events a single agent may cause at the supermarket, it is surprising how limited serious market failures in economic systems are. Many economists are puzzled why we have market failures like unemployment at all - but from a complexity perspective the big puzzle becomes, why markets function so well. Economic theory has tended to put the rationality of economic systems with the agents - market economies work because agents are rational optimizers. This assumption is what makes behavior predictable. Communicating through price signals, this is what makes it possible for a global controller to ?nd the optimal price vector in general equilibrium systems. However, if just one agent does not use his minds very carefully at the supermarket, we can no longer prove analytically that it will work (Arthur, 1995). It is no longer possible for the remaining agents to calculate each other’s expectations, and we are back with the uncertainty of Rosser (2001). Then what about insects living in colonies; ants and bees? They also manage to organize rather complex systems - does that imply that they are as rational as economic agents are? The Santa Fe Institute has developed the idea of Swarm intelligence to describe how complex adaptive systems selforganize - by means of an intelligence that is related to the system rather than to the individual agent (Bonabeau et al., 1999). They claim that there is no need to invoke individual complexity to explain complex collective behavior. Dumb bees may organize into a very smart beehive. From a complex adaptive systems perspective, one would consider a social insect colony or an economic system a decentralized problemsolving system, comprised of many relatively simple interacting entities. It is interesting that such systems solve problems in a very ?exible and robust way. Flexible in the sense that they have capacity to adapt to new environments, and robust in the sense that they are not distracted by poor performance of some agents. Whether the economy is perceived as an equilibrium system or a complex adaptive system matters a great deal - especially if we purpose to use our knowledge of its functioning for making policy recommendations. The picture of throwing a rock or throwing a bird can be used. If the economy is best perceived as a static equilibrium system, policy intervention is like throwing a rock and we can foresee its trajectory. If the economy is more like a living system, it is like throwing a bird, and policy intervention becomes much more di?cult - it is much harder to get an idea of where the bird is going to end up. Thus the complexity approach may help us understand the system on the one hand, but one the other hand it warns us about the predictability of consequences when we try to control the system. Believing that we are throwing a rock, when 4
actually we are throwing a bird, can make the system worse o?. This is not an argument against any kind of policy intervention, but rather an argument against the dream of ?ne-tuning the system. Sometimes the system may behave so badly that we can be con?dent that ”throwing a bird” is going to be helpful. This may be easier to understand if we stop thinking of economic policy as the (Gs of our comparative static models, and start thinking of policy in terms of design. Can we promote or design institutions that may assist the economic system in selforganizing?
Methodology - A Synthetic Approach
If the economy is best understood as a complex adaptive system, it implies not only a shift in perspective, but also a shift in methodology. Since the aggregate behavior of the system which arises from the interaction between a multitude of agents, can be expected to display very complex dynamics, it becomes in vain, or at least very cumbersome, to study the system using deductive analysis. Rather than deductive analysis ACE researchers synthesize, i.e. they try to understand economic processes by synthetically creating them1 . The synthetic approach to modelbuilding is a bottom-up approach, where a model is build up by simple components that are assembled into a working system and simulated using computers (synthesis by simulation). For an economic model the components will typically be a number of agents, and the model is assembled by letting agents interact in a market. In economics we use the term agent-based computational economics for such a modeling approach. This is opposite to an analytical top-down approach where you start with a complete system, which is decomposed. Dealing with arti?cial life, Bonabeau & Theraulaz (1994) set the di?erence between the two approaches at the edge; in a top-down approach you have to start with manifestation of life. In a bottom-up approach you synthesize more and more complex behaviors, hoping to capture the nature of some aspect of life. Transferring the analogy to economics, we don’t want to start out de?ning market equilibrium and deducing the conditions under which equilibrium will exist. In stead we want to study the likely outcome of the interaction of agents. In a synthetic bottom-up approach you need not make any assumption about what the ”up” is going to look like, the ”up” is what emerges when units interact. The concept of emergence is very important to a synthetic methodology - one may claim that it constitutes the whole purpose of synthesizing. Aggregate behaviors or structures emerge out of selforganization rather than being imposed or assumed. Emergent properties cannot be explained by ”built in” microproperties - it is what makes the whole more than the sum of its parts. In systems with emergent properties we cannot use simple aggregation, we will just end up committing fallacies of composition. Since emergence is a result of the
1 Tesfatsion (2004) notes that economists prefer to think of their models as representations rather than syntheses, whereas Epstein (2005) talks about a generative science - but the methodology remains the same.
agents interaction, emergent phenomena cannot be expected to be analytically tractable. The only thing that we can do is to observe what happens; “We can learn about emergent properties only inductively” (Lane, 1993). Thus the power of a synthetic approach is to ?nd emergent properties internal to the system rather than relying on external explanations - i.e. the approach may help economists explain business cycles from within the system rather than relying on exogenous chocks to the system. Its weakness is that the explanatory power of synthetic models is not very high. The space of exploration is huge, and constraints lack, and thus we easily end up with one damned thing after the other 2 . As a young science, complexity science is in a process of de?ning the concept of emergence3 . It is still not clear what demands should be met for a phenomenon to be characterized as an emergent phenomenon. We need not enter this discussion here, but we may clarify the concept of emergence by listing some examples of what emergent phenomena we may hope to ?nd within economics. Equilibrium has already been used as an example of an emergent phenomenon. A tendency for prices, demand and supply to meet in such a way that markets clear, without imposing thus result in advance may be an emergent feature of economic system. Selforganization. One might also be less ambitious and say that survival of agents in our economic model is an emergent feature, i.e. the fact that the system does not break down completely, but manages to selforganize to some extend. Business cycles. The idea that economic activity has a tendency to move in cycles is very old, but economics still have problems coming up with a plausible explanation. The reason for this di?culty may be that the cycles are really an emergent phenomenon. This would not be a very surprising discovery since many other complex adaptive, or living, systems display cyclical behavior. Institution formation. One way of dealing with uncertainty is to form institutions (Heiner, 1983) and the appearance of institutions may be perceived as emergent phenomena. Skewed distributions. Distributions of income, wealth, changes in asset prices etc. may show characteristics that may be emergent phenomena. We shall return to this example later. An important question is whether a synthetic approach can stand on its own. It is hard to ?nd discussions of this within social sciences. To strengthen the approach, Dawson (2004), working within psychology, puts synthesis into a framework of Synthesis, Emergence and Analysis (SEA). Once a synthetic model
phrase originates from Putnam (1984) discussing arti?cial inteligence. the other hand, Holland wrote a book named Emergence without trying to de?ne it (Holland, 1998).
3 On 2 This
has been build and is working, it needs to be run in order to observe emergent properties of the model. Parameter space need to be explored in order to ?nd out exactly under which circumstances an observed phenomenon arises. The third step in Dawson’s suggested approach is analysis; “The di?cult and interesting - work starts when an attempt is made to generate theories of regularities that emerge from what we synthesize”. In order to do this we need statistical testing of model output. Rosser (1999), however, complains that techniques for analytical testing of output data is missing and suggests that it will be necessary to rethink the nature of empirical testing. This must be done in such a way that we can take advantage of the fact that the output data comes from a simulated model and not from the real world. If interpreting simulated data is as di?cult as interpreting real world data, there really is no point in doing the simulation. It should be evident by now that although the approach is agent-based, it would be wrong to term it methodological individualism or reductionism. The starting point is individualistic, but it is an important point that agents do not make their decision in isolation from their surroundings. Interaction cause institutions to emerge and these institutions a?ect human behavior. As an example one could use the emergence of a medium of exchange (Clower and Howitt, 2000). Economic theory seems to have given up the idea of microfounding monetary theory - it is simple too selfcontradictory to argue why rational optimizing agents should demand money that is not needed in a general equilibrium setting. ACE models can demonstrate how a medium of exchange may emerge from interaction between agents. But an important factor in this emergence is that the agents preference for the goods chosen to act as medium of exchange is a?ected, i.e. their preferences are not isolated from the preferences of other agents, and methodological individualism is violated. Related to the discussion of methodological individualism is the discussion already touched upon - how much attention should ACE modelers pay to the behavior of agents. The description of human behavior must be consistent with the system; if the economic theoretician cannot deduce how the system work, then neither can the agent. This is the complete negation of the rational expectations hypothesis. Thus agents must use inductive reasoning rather than deductive. But inductive reasoning can also be quite complex, and we need to ask, whether very complex modeling of human behavior is necessary for the emergence we search for to occur? This discussion is raised by Arthur, Durlauf and Lane (1997) ”overrating the cognition is just another error deriving from methodological individualism, the very bedrock of standard economic theory. How individual agents decide what to do may not matter very much”. Economic systems may be much closer to anthills and beehives than we like to think - but that does not mean that we are not more intelligent than ants and bees. It just means that the overriding intelligence is not with the agent but with the system. What matters is not how we make decisions but how we interact. If the point of interest is the system or macroeconomic view there is a point for ACE researchers to ?nd the simplest behavior that can generate the emerging phenomenon searched for, rather than behavior closest to actual 7
Building an Agent-Based Computational Model
Building an agent-based computational model gives you a sense of playing God in your own silicon world. You de?ne a number of agents with characterizing variables, a set of decision rules and an environment in which interaction takes place. Finally you let the agents act, and watch what happens. There are a lot of choices to be made during the modeling phase, and the purpose of this section is to discuss some of these choices. The ?rst choice to be made is what programming language to use. You may either start from scratch in any programming language, use a matrix based mathematical environment (e.g. Matlab), or you may choose a framework prepared for agent-based simulations like Swarm or Repast. Generally it is a good idea to choose object-oriented languages, since the approach of object-oriented software comes very close to agent-based modeling - both approaches turn to decentralization to deal with complexity. For larger more complex models, you easily run into constraints if a mathematical environment is chosen (remember that your model may grow as your research progress), but on the other hand there is a larger e?ort involved in choosing to program everything from scratch. Frameworks prepared to agent-based simulation have been developed in order to overcome this problem, but even in this case the modelbuilder must make a big investment. An important side e?ect of using a framework is access to models already built within the framework. It is a good idea to choose programming language before settling the details of the model, since there may be help to ?nd during the modeling process. It is recommended to search through existing models where source code is available, since you may be able to reuse much of the code. Searching through existing models also make choices about institutional features more deliberate; when do you choose the usual institutional settings (if a convention exists), and where does your model require a di?erent setting4 ? For modeling, especially systems with non-emergent macroproperties, a 3step approach to modelbuilding is recommendable. The three steps are macroanalysis, microanalysis and simulated interaction. This 3-step approach is very much in line with a synthetic approach as described by Auyang (2004): Synthetic analysis encompasses two perspectives, looking at the system on its own level and looking at the level of its constituents. It includes two kinds of explanations. Macroexplanations develop scienti?c concepts and theories for composite systems without mentioning their constituents.[...]. However, for a full understanding of the system including their composition, macroexplanations are
4 How ACE can avoid “the tower of Babel e?ect” by people stealing code from each other is discussed in Bruun(2002).
necessary but not su?cient. For this we also need microexplanations that connect the properties delineated in macroexplanations to the properties of the constituents. Microexplanation depends on macroexplanation, which ?rst set out what needs microexplanation. Thus, following the 3-step approach, you ?rst need to consider whether there are macro-bindings on your system, i.e. detect any tautologies relevant to your system. Are you dealing with a closed economic system where, in the aggregate, expenditure must equal receipts? Does the system have money, and in what form is money to be implemented, e.g. as a numeraire in bookkeeping entries or as a ?xed stock of currency. Detecting tautologies and non-emergent macrophenomena does not mean that you have to model them yet - detection is meant to assist you in the following steps. Once you have an idea of the macroproperties of your system, you may consider how an individual agent acts. In any speci?cation of economic behavior, simpli?cation is necessary - the question here is what should guide simpli?cation. We suggest starting out with macroanalysis rather than microanalysis in order to allow knowledge of macroproperties to guide simpli?cation choices. Going the other way from micro to macro involves a higher degree of complexity and the risk of committing fallacies of composition. If the macroanalysis tells us, that a given aspect of decision making is not all that important to the macroproperties of a system, we can be more careless in designing the given decision rule. But the decision rule may still be important from a macroperspective, since it may be necessary for closing the model. The third and ?nal step is simulation, i.e. building a model that combines micro and macro perspectives by letting agents interact in a closed world. To model a closed system, or at least a system where openness is controlled, is important in order to enforce the feedback from macro to micro. Following the ideas of object-oriented programming it is a good idea to think about agents (objects) as being characterized by a number of state variables (e.g. wealth, consumption) and having a number of decision rules or methods (e.g. how much and what to consume). As an example you may have a main program where you call an agent, who then acts according to decision rules and as a result of the action state variables are changed. The action of an agent will often imply activating other agents decision rules and changes in other agents state variables. If Agent1 is called by the main program and asked to perform decision to consume, in a completely decentralized model the agent need to ?nd some other agent to buy the consumption goods from. Agent1 then calls Agent2 and evokes decision rules by this agent in order to negotiate a trade. If a trade is negotiated, goods need to be transferred from Agent2 to Agent1 and money needs to be transferred from Agent1 to Agent2. Normally it is chosen to let control go back to Agent1 for more decision rules to be evoked, and ?nally back to the main program, i.e. Agent2 is not allowed to react to the decrease in his stock of goods or the increase in money, until later when the main program picks Agent2 for action. Notice that in the above example the two agents have to negotiate the trade 9
locally without help from a centralized market maker. Within agent-based modeling a lot of di?erent representations of what happens on a market exist. In stead of contacting another agent directly, one could have allowed Agent1 to put up whatever he wanted to sell at a list of o?ered goods at a certain reservation price. In buying goods he could search through the list to see if what he wanted to buy was o?ered for sale below his reservation price. Here we have a centralized institution; the list of goods put up for sale, but no centralized mechanism ?nding equilibrium prices. If, when he gets to act again, Agent1 realize that nobody purchased the goods he put up for sale, he may try to lower the price he demands for his goods. Use of agents for internet trading has extended research in auction theory - a development that ACE researchers may take advantage of. As should be clear by now, the idea of agent-based simulation is very simple. However, when you start assembling your agents into an agent-based model, you may be overwhelmed by the number of seemingly unimportant institutional settings you have to consider. How exactly do agents interact and in what order do they get to interact. Are the state variables of the agents updated immediately after they have acted (sequential or asynchronous updating), or do you wait until all agents have acted in order to update simultaneously (synchronous updating)? Huberman and Glance (1993) have illustrated how important this choice is within the ?eld of evolutionary games. You also need to consider whether to model a ?xed number of agents, or whether agents enter and exit, e.g. through a bankruptcy mechanism. The number of agents you model may also turn out to be a crucial parameter in your simulation. Whereas conventional economic theory has a hard time dealing with time and space, these important concepts come naturally to agent-based simulations. You may construct your model so that, not only time matters in specifying the updating rule, but time and space also become important constraints in the behavior of agents. A cellular automaton type construction is often used to introduce space in the model, but other alternatives are also available. You need to consider whether all agents communicate with each other at a given point of time, or whether communication is constrained so that agents can only communicate locally. If space is modeled, do agents stay put in space, or do they move around e.g. in search for trading partners. Within agent-based economics a number of di?erent techniques for constructing agents can be found. Generally we have chosen to use the term decision rules, since most of the di?erent techniques can be formulated as decision rules. ACE models often involve some form of learning, where decision rules change during the simulation. Learning processes can be represented using e.g. genetic algorithms or neural networks. In adopting such approaches in economics, it is however important to always keep in mind that we are dealing with human agents. It may be straightforward to translate e.g. the ?tness of genetic algorithms into some utility concept, but is this really the way you want to describe human behavior? Once you have a running model it is important to go back and check for the importance of some of the institutional choices you made. You may ?nd that your results depend crucially on e.g. simultaneous updating, and this gives 10
you an idea of the robustness and generality of your model. Also the number of agents may be important. If model results remain the same whether you operate with a population of 100 or 1000, you may as well stick with 100 agents - but it is important to check for results with 1000 agents. Finally you check the importance of behavioral parameters. Parameter space is typically too large to be explored completely, so it is necessary to use experimental methods (e.g. Monte Carlo) for ?nding the most important parameters. Now the fun is over, and you need to go into the analysis part of Dawson’s framework. Here it is important, once again, to look at other simulation models and compare results to search for possible generalizations.
Constraining the Approach
Going from the traditional analytical methodologies to the synthetic agent-based approach, presents economists with a lot of freedom we have never had before too much freedom some may add, for what is to de?ne economics as a science, once we allow ourselves to go beyond the study of rational optimizing behavior? Does anything go, and if so, how can we progress as a science? If one contributor use ACE to demonstrate the likely occurrence of market equilibrium in an unregulated market, while another contributor use it to get the opposite result - that state intervention is necessary for markets to behave reasonably - who is more right, and how is economics as a science to deal with these results? As a new approach to economics, ACE researchers have to deal with such problems. We should enjoy the newly won freedom, but we should also use it deliberately. Agent-based economics is not a new approach to economics, it is a new methodological approach to the study of economic systems. This implies that we do not need to start from scratch when we apply the method, but want to apply the method where it is needed, i.e. where economic theory or economic controversies are stuck. By anchoring ACE in existing economic theory, we stand a better chance of progressing as a science. For economics as a science at least 3 di?erent justi?cations for agent-based computational models can be presented: 1. Models that attempt to reproduce theoretical results that are analytically tractable. The purpose here is mainly to check the realism of the approach while constraints remain the same. 2. Models that reproduce theory that is not analytically tractable. Here the purpose is to check the consistency of theories that have not been formalized, and to extend such theories to involve both microeconomic and macroeconomic aspects. 3. Models that reproduce empirical ?ndings. Here the purpose is to understand what generates empirical ?ndings.
Reproducing Results of Analytically Tractable Theory
Why use ACE models to reproduce theoretical models that are analytically tractable? When Adam Smith introduced his invisible hand, it was not a result of a desire to have some divine mechanism in his economic theory - his purpose was not to prove the existence of God, but to illustrate the selforganizing capacity of a market economy. When economic theory became mathematical, an important goal was to replace the invisible hand, ?rst with a proof of existence of equilibrium, and later Herbert Scarf hoped to ?nd a numerical solving mechanism that could actually ?nd the equilibrium. Scarf’s work (Scarf, 1973) led the way for the widespread use of computable general equilibrium models we witness today. But have we really come that far from Adam Smith’s invisible hand? Haven’t we just replaced one deus ex machina, the invisible hand, with an another, the solving mechanism? ACE models allow us to replace the deus ex machina with something that is a lot closer to what actually happens at markets. Rather than assuring selforganization of market economies by imposing an auctioneer, selforganization is a result of interaction. Such a hypothetical result of emergent equilibria could be used to dismiss the claim for necessity of simulation once the realism of the analytical approach has been stated. Another approach is, as noted by Tesfatsion (2004), that once we have the result of emerging equilibria we can start relaxing assumptions, thus replicating the research program of general equilibrium theory. Once we move beyond the scope of analytically tractable models, however, we lack the constraining factor. One model relax assumptions on competitive markets, another introduce transaction cost, a third model introduce bounded rationality etc. - how do we generalize the information we get from such a multitude of models?
Reproducing Theories that are not Analytically Tractable
Using ACE to formalize theories that it has not been possible to analyze using formalistic mathematics has obvious advantages. Much macroeconomic theory was dismissed in the 1970’s as a result of requirement of microfoundation (and formalization) - but if they were attempts to theorize about emergent phenomena, we cannot expect to be able to deduce such theoretical propositions analytically. Within an ACE approach we can now check macroeconomic theories within a constrained environment given a well-de?ned microbehaviour, i.e. we can check their consistency. Agent-based models have a great potential in this area; they can unify micro- and macroeconomics in a way that has not been possible before. Within this approach ACE models should be perceived as tools for theory development. ACE models also have a potential as tools for economic policy as discussed by Rosser (1999). Governments may be perceived as assistant to the selforganizing process, e.g. by providing the institutional structure within which selforganization takes place, or as a necessary institution for rectifying possible selfdestructive aspects of complex dynamic systems, e.g. a tendency to create a
very skewed distribution of wealth.
Reproducing Empirical Findings
Empirical data are often emphasized as the constraining factor in arti?cial life and agent-based approaches (Bonabeau and Theraulaz, 1994). For many aspects of economics it is however di?cult to obtain the relevant data - especially considering the fact that human behavior is involved. How and why do we make the decisions we make? In one sense empirical data can, however, be considered the constraining factor of agent-based computational economics, namely when models are developed in order to explain the emergence of aggregate empirical ?ndings, i.e. explaining economic stylized facts. ACE models have in particular proved to be useful for explaining the existence of power law distributions in cases where normal (bell curve) distributions were to be expected (Simon, 1955). Pareto observed a tendency towards a skewed distribution of wealth, where 20% of the population holds 80% of the wealth. Agent-based models have produced similar skewed distributions (Epstein & Axtell 1996, Bruun and Luna, 2000). ACE models have also been able to produce the ”fat tails” of the stock market (Lux & Sornette (2002)), the size distribution of cities (Krugman, 1996) and the size distribution of ?rms (Axtell, 1999). An important task for ACE is to generalize results on power law distributions as well as using the method to explain other stylized facts.
Agent-based computational economics has been presented as a new methodological approach to the study of economic systems. Its strength is its ability to combine micro- and macroeconomics and thus overcome one of the biggest hurdles of economics. It allows economists to pose new questions and repose old questions in a less restrictive setting. Conceiving the economy as a complex adaptive system implies focusing on the self-organizing features of economic systems where a concept as equilibrium becomes an emergent phenomenon that does not rely on exogenous mechanisms or deus ex machina. This also means asking the question: why does the system function so well, and can we possibly assist it in performing even better, rather than asking why the system does not function perfectly, and which obstacles should be removed. The main theoretical drawback of the approach is that it becomes very hard to de?ne and delimitate economics as a science. In decentralized agent-based models, assuming rational optimizing agents no longer su?ce as the de?ning feature of economic theory. Thus it is no longer clear what should constraint economics as a science. This may not be a problem; other social sciences survive without such de?ning constraints, and economics is after all, just another social science!
A more practical drawback of the approach is that it cannot provide us with the same sort of policy recommendation that macroeconometric models have provided. Policy recommendation based on ACE models have a qualitative rather than a quantitative nature. Focusing on the selforganizing features of economic systems does not necessarily imply a laissez faire approach to economic policy - an important question to ACE policy modelers is what institutional setting is best in supporting selforganizing features of the system. Thus the design or policy aspect of ACE will often be about building up institutions, whereas recommendations based on general equilibrium theory will often be about the removal of institutions. ACE has been presented, not as a new approach to economics, but as a new methodological approach to the study of economic systems. Ace is not going to resolve economic controversies, but is hopefully going to qualify discussions and help us locate the roots of controversies. Newcomers to the ?eld should be aware of this - and keep focus on their purpose in doing ACE. Only by anchoring the approach in existing economic theory, and existing economic controversies, can we confront the risk of simulation fetishism with one damned model entering the scene after the other.
 Arthur, B.W. (1995). Complexity in Economic and Financial Markets. Complexity. 1(1), 20-25.  Arthur, B.W., Durlauf, S.N. & Lane, D. (1997).Introduction. The Economy as an evolving Complex System II ed. by Arthur, Brian W., S.N. Durlauf & D.Lane. SFI Studies in the Sciences of Complexity, Vol XXVII, AddisonWesley.  Auyang, S.Y. (2004). Synthetic analysis of Complex Systems 1 - Theories. Paper presented at University of Sydney (History and Philosophy of Science). http://www.usyd.edu.au/su/hps/newevents/Auyang1.html.  Axtell, R. (1999). The Emergence of Firms in a Population of Agents Local Increasing returns, Unstable Nash Equilibria, and Power Law Size Distributions. Brookings Institution.  Axtell, R. (2000). Why Agents? On the varied motivations for agent computing in the social sciences. Center on Social and Economic Dynamics, The Brookings Institutions, Working paper no. 17.  Bonabeau,E & Theraulaz, G. (1994). Why Do We Need Arti?cial Life?. Arti?cial Life 1(3),303-325.  Bonabeau, E, Dorigo, M. & Theraulaz, G. (1999). Swarm Intelligence From Natural to Arti?cial Systems. Santa Fe Institute Studies in the Science of Complexity, Oxford University Press.
 Bruun, C. (2002), “Prospect for an Economics Framework for Swarm” in F. Luna and A. Perrone “Agent-Based Methods in Economics and Finance - Simulations in Swarm”, Kluwer.  Bruun, C. & Luna, F. (2000). Endogenous Growth in a Swarm Economy. F. Luna and B. Stefansson, Economic Simulations in Swarm: Agent-Based Modelling and Object Oriented Programming. Kluwer.  Clower, R & Howitt,P. (2000), The Emergence of Economic Organization. Journal of Economic Behavior and Organization. 41, 55-84.  Dawson, M.R.W. (2004), Minds and Machines: Connectionism and Psychological Modeling. Blackwell.  Epstein, J.M. & Axtell, R. (1996). Growing Arti?cial Societies - Social Science from the Bottom Up. The MIT Press.  Heiner, R.A. (1983). The Origin of Predictable Behavior. American Economic Review. 73, 560-595.  Holland, J.H. (1998). Emergence - from Chaos to Order. Oxford University Press.  Huberman, B.A. & Glance, N.S. (1993), Evolutionary Games and Computer Simulations. Proceedings of the National Academy of Sciences. 90, 7716-7718.  Keynes, J.M. (1936). The general theory of Employment, Interest and Money. The coolected writings of John Mayneard Keynes Vol. VII. Macmillan, Cambridge University Press 1973.  Kirman, A. (1992). Whom or what does the representative agent represent?. Journal of Economic Perspectives. 6(2), 117-36. Krugman, P.R.(1996). The Self Organizing Economy. Blackwell Publishing.  Lane, D.A. (1993). Arti?cial Worlds and Economics, Part I and II. Journal of Evolutionary Economics. 3, 89-107 & 177-197.  Lux, T. & Sornette, D. (2002). On Rational Bubbles and Fat Tails. Journal of Money, Credit and Banking. 34, 589-610. The Ohio State University Press.  Putnam, H. (1988). Much Ado About Not Very Much. Daedalus. 117(1), 269-281.  Rosser, J.B.Jr. (1999). On the Complexities of Complex Economic Dynamics. Journal of Economic Perspectives. 13(4), 169-192.  Rosser, J.B.Jr. (2001). Alternative Keynesian and Post Keynesian Perspectives on Uncertainty and Expectations. Journal of Post Keynesian Economics. 23(4), 545-566. 15
 Scarf, H. (1967). On the Computation of Equilibrium Prices. Ten economic studies in the tradition of Irving Fisher. Wiley, ch. 8, 207-230.  Scarf H.E. with the collaboration of Hansen,T. (1973). The Computation of Economic Equilibria. Yale University Press.  Schelling, T.C. (1978). Micromotives and Macrobehaviour. W.W.Norton & Company.  Simon, H.A.(1955). On a Class of Skew Distribution Functions. Biometrika. 4(2/3), 425-440. Biometrika Trust.  Tesfatsion, L. (2002). Agent-Based Computational Economics: Growing Economies from the bottom up. Arti?cial Life. 8(1) 55-82, MIT Press.