Why use agent-based computational laboratories for analyzing economic
processes? What
are the strengths and weaknesses of this approach?
Should we strive for one common platform or many specialized platforms?
Is there a "best" programming language for constructiong ACE labs?
How to ensure that findings reflect fundamental aspects of a
problem application and not simply peculiarities of the hardware or software
used to implement the application?
What are the basic requirements of a good experimental design?
How can findings be effectively summarized? visualized? reported to others?
How can findings be validated by comparisons with data obtained by other
means?
Strengths and weaknesses of existing agent-based
computational laboratories (e.g.,
TNG Lab, Sugarscape, Echo, ...)?
Robert Axelrod, Advancing the Art of Simulation in the Social
Sciences(pdf,119KB),
Japanese Journal for Management Information System, Special Issue on Agent-Based Modeling, Vol. 12, No. 3, December 2003.
Abstract: The author offers advice for doing social science
simulation research, focusing on the programming of a simulation model,
analyzing the results, and sharing the results with others. The essay is
scheduled to appear in a special issue on agent-based modeling in the
Japanese Journal for Management Information Systems.
Robert Axtell, Robert Axelrod, Joshua M. Epstein, and Michael Cohen,
"Aligning Simulation Models: A Case Study and Results",
Computational and Mathematical Organization Theory 1 (1996), 123--141.
Catherine Dibble,
"Computational Laboratories for Spatial Agent-Based Models",
in Leigh Tesfatsion and Kenneth L. Judd (editors),
Handbook of Computational Economics, Vol. 2: Agent-Based Computational
Economics, Handbooks in Economics Series, North-Holland/Elsevier, Amsterdam,
Spring 2006.
Abstract:
An agent-based model is a virtual world comprising distributed
heterogeneous agents who interact over time. In a spatial
agent-based model the agents are situated in a spatial environment and
are typically assumed to be able to move in various ways across this
environment. Some kinds of social or organizational systems may also
be modeled as spatial environments, where agents move from one group
or department to another and where communications or mobility among
groups may be structured according to implicit or explicit channels
or transactions costs. This chapter focuses on the potential
usefulness of computational laboratories for spatial agent-based
modeling. A computational laboratory is a computational
framework permitting the exploration of the behaviors of complex
systems through systematic and replicable experiments. More
precisely, a computational laboratory is a suite of software tools
that supports many complementary tasks. These tasks include model
development, model evaluation through controlled experimentation,
and both the descriptive and normative analysis of model outcomes.
This chapter examines how computational laboratories facilitate the
systematic exploration of spatial agent-based models embodying
complex social processes critical for social welfare. Examples
include the evolution of economic inequality, the emergence of
innovations and of behavioral norms, and the spread of infectious
diseases.
Joshua M. Epstein and Robert Axtell, Growing Artificial
Societies: Social Science from the Bottom Up, MIT Press,
Cambridge, MA 1996. [Sugarscape]
Nigel Gilbert and Pietro Terna, "How to Build and Use Agent-Based
Models in Social Science"(pdf,57KB),
Discussion Paper, May 18, 1999.
Abstract: This essay discusses computational modelling as a third way of
building social science models. Specific advice is given regarding how to
build environments, represent agents, and specify agent behavioral rules. An
object-oriented programming approach is stressed.
Nigel Gilbert and Klaus G. Troitzsch, Simulation for the Social
Scientist, Open University Press, Second Edition, 2005, ISBN 0-33-519744-2 (Paperback).
Abstract: From the publisher: "(This) is a practical textbook on the
techniques of building computer simulations to help with understanding issues
and problems in social science. Interest in social simulation has been
growing very rapidly world-wide, as a result of increasingly powerful
hardware and software, and rising interest in the application of ideas such
as complexity, evolution, adaptation and chaos in the social sciences. This
authoritative book outlines all the common approaches to simulation at a
level of detail that gives social scientists an appreciation of the
literature and allows those with some programming skills to create their own
simulations."
John Holland, Hidden Order: How Adaptation Builds Complexity,
Addison-Wesley, 1995. [Echo framework]
Abstract: "Agent-based computing represents an exciting new
synthesis both for Artificial Intelligence (AI) and, more generally, Computer
Science. It has the potential to significantly improve the theory and the
practice of modeling, designing, and implementing computer systems... The
standpoint of this analysis is the role of agent-based software in solving
complex, real-world problems. In particular, it will be argued that the
development of robust and scalable software systems requires autonomous
agents that can complete their objectives while situated in a dynamic and
uncertain environment, that can engage in rich, high-level social
interactions, and that can operate within flexible organizational
structures."
Michael W. Macy and Robert Willer, "From Factors to Actors:
Computational Sociology and Agent-Based Modeling", Annual Review of
Sociology, Vol. 28, 2002, pp. 143-166.
Abstract: While written for sociologists, this review article should be of
value to all agent-based modelers. It places agent-based modeling in its
historical context, explains its meaning and goals, provides many good
examples, and offers useful advice to those who want to try it for
themselves.
David McFadzean, Deron Stewart, and Leigh Tesfatsion, "A Computational
Laboratory for Evolutionary Trade Networks", IEEE Transactions on
Evolutionary Computation, Volume 5, Number 5, October 2001, pages
546-560
(pdf preprint,244KB).
Abstract: This report presents, motivates, and illustrates
the use of a computational laboratory for the investigation of evolutionary
trade network formation among strategically interacting buyers, sellers, and
dealers. The computational laboratory, referred to as the Trade Network Game
Laboratory (TNG Lab), is targeted for the Microsoft Windows desktop. The
TNG Lab is both modular and extensible and has a clear, easily operated
graphical user interface. It permits visualization of the formation and
evolution of trade networks by means of real-time animations. Data tables
and charts reporting descriptive performance statistics are also provided in
real time. The capabilities of the TNG Lab are demonstrated by means of
labor market experiments.
See the
TNG Homepage
for information regarding the online availability of the TNG Lab and TNG Lab
tutorials.
Pietro Terna, "Economic Simulations in Swarm: Agent-Based Modelling and
Object Oriented Programming" (by Benedikt Stefansson and Francesco Luna): A
Review and Some Comments About `Agent-Based Modeling'", The Electronic
Journal of Evolutionary Modeling and Economic Dynamics, No. 1013, Issue
1, January 15, 2002.
Gerd Wagner and Florin Tulba, Agent-Oriented Modeling and Agent-Based
Simulation.
In P. Giorgini and B. Henderson-Sellers (eds.), Proceedings of the Fifth
International Workshop on Agent-Oriented Informatino Systems (AOIS-2003),
ER2003 Workshops, Springer-Verlag, LNCS, 2003.
Abstract: The authors argue that a sufficiently expressive agent-oriented
modeling language for information systems analysis and design should -- with
some minor extensions -- also be usable for specifying simulation models that
can be executed by an agent-based simulation system. To support their
assertions, the introduce and investigate the suitability for agent-based
simulation of an Agent-Object-Relationship modeling language.
Matt Weisfeld, The Object-Oriented Thought Process, SAMS
Publishing (Division of Macmillan), Indianapolis, Indiana, Third Edition, 2008 (paperback).
Abstract: Agent-based modeling is increasingly being implemented using
languages with object-oriented programming (OOP) capabilities, such as Java,
C++, and C#. This book is a good introduction to OOP. It is designed to
help newcomers learn OOP guidelines for solid class design and master the
major OOP concepts of inheritance, composition, interfaces, and abstract
classes. The author motivates and illustrates his points by taking readers
step by step through simple concrete examples.
Verification and Empirical Validation of Computational Models. This resource site provides extensive annotated pointers to introductory verification and validation (V&V) materials, V&V research articles, and articles on the design of computational experiments.
Steven F. Railsback, Steven L. Lytinen, and Stephen K. Jackson have developed
StupidModel: A Template Model for ABM Platforms.
The template model is implemented in five different platforms: NetLogo; RepastJ; MASON; Java Swarm; and Objective C Swarm. Although relatively simple, StupidModel includes many commonly used features of agent-based modeling (ABMB) platforms. Sixteen versions of StupidModel are implemented for each platform, beginning with a bare bones version and ending with a relatively sophisticated version that involves two agent types,
a full agent life cycle (birth, reproduction, predation, and death), and a habitat with data read from an input file. Each implementation is made available as freeware with accompanying implementation notes. In addition, the authors include at this site a pointer to a paper titled
"Agent-Based Simulation Platforms: Review and Development Recommendations"
that reviews and compares the five ABM platforms and seeks to identify key development priorities both
for these specific ABM platforms and for ABM platforms in general.
Important Update to Railsback et al.
Alan G. Isaac, "The ABM Template Models: A Reformulation with Reference Implementations"(html),
Journal of Artificial Societies and Social Simulation 14 (2) 5, March 2011.
Abstract: The author refines the Railsback et al. template models for agent-based modeling and offers new reference implementations. He also addresses some issues of design, flexiblility, and ease of use that are relevant to the choice of an agent-based modeling platform.
Karl Beck, Test-Driven Development: By Example, Addison-Wesley Professional, MA, 240pp., 2002. ISBN: 0-321-14653-0.
Abstract: This text discusses a software engineering methodology
for code verification called Test-Driven Development that derives from the Extreme Programming (XP)
approach to programming. The basic idea is to write short pieces of code ("unit tests") in parallel with segments
of regular program code that tests these segments to ensure they are running properly. (One example discussed by Beck in the first section of his book is the JUnit facility for Java.) Each time the regular
program code is modified, the unit tests are rerun to help ensure that the modification has not introduced bugs into the existing code.
Unit testing would appear to be particularly important for the kind of iterative program development common in agent-based
modeling due to the complexity of the systems under study.