Government 2015. Introduction to computational modeling for social
scientists
Time: Spring 2003, Wed. 2:00-4:00pm Room: WCFIA, 1033 Mass. Ave. Rm. 331
Course web site: http://www.courses.fas.harvard.edu/~gov2015/
Instructor:
Lars-Erik Cederman WCFIA, 1033 Mass Ave Rm 318A, 495-8923
Office hours: Wed. 10-12am cederman@wcfia.harvard.edu
Short description: This seminar provides an introduction to Java programming using a package called RePast. Basic agent-based models will be covered. Programming experience desirable but not required.
Thanks to advances in the natural sciences and the decreased cost of computer technology, computational modeling is becoming increasingly popular as a tool in the social sciences. This seminar focuses on agent-based modeling, which is a particular type of computational methodology that allows the analyst to create, analyze, and experiment with, artificial worlds populated by agents that interact in non-trivial ways. In these Òcomplex adaptive systems,Ó computation is used to simulate agentsÕ cognitive processes and behavior in order to explore emergent macro phenomena, i.e. structural patterns that are not reducible to, or even understandable in terms of, properties of the micro-level agents. Such Òbottom upÓ models typically feature local and dispersed interaction rather than centralized control. Moreover, as opposed to traditional models that either assume either a small number of dissimilar or numerous identical actors, agent-based models normally include large numbers of heterogeneous agents. Rather than studying equilibrium behavior, the focus is often on dynamics and transient trajectories far from equilibrium. Finally, instead of assuming the environment to be fixed, many agent-based models let the agents constitute their own endogenous environment. Thus, agent-based modeling should be seen as a complement to rational-choice techniques, which has the potential to bridge the gap between conventional formal tools and qualitative theorizing of complex settings.
While no previous programming experience is required, it is expected that at the end of this seminar the students will be able to create a simple model or modify a more complex system. The course starts with an introduction to the rationale and principles of agent-based modeling, followed by a number of sessions on Java programming. The remainder of the schedule centers on a Java-based simulation package called RePast, which offers a software library of computational tools: see http://repast.sourceforge.net/. While primarily a methodological course, numerous examples of substantive applications drawn from the literature will also be discussed.
Summary
of the contents:
á Introduction to the principles of agent-based modeling.
á Introduction to Java programming.
á Introduction to RePast modeling.
The students will be evaluated based on weekly homework exercises, usually requiring hands-on programming. There will also be a programming project at the end of the course that requires the participants either to extend an existing RePast model, or to build their own models.
Recommended
readings about agent-based modeling:
Axelrod, Robert. 1997. The Complexity of Cooperation: Agent-Based Models of Competition and Collaboration. Princeton: Princeton University Press.
Casti, John L. 1997. Would-Be Worlds: How Simulation Is Changing the Frontiers of Science. New York: Wiley.
Cederman, Lars-Erik. 1997. Emergent Actors in World Politics: How States and Nations Develop and Dissolve. Princeton: Princeton University Press.
Epstein, Joshua M. and Robert Axtell. 1996. Growing Artificial Societies: Social Science From the Bottom Up. Cambridge, Mass.: MIT Press.
Holland, John H. 1995. Hidden Order: How Adaptation Builds Complexity. Reading, Mass.: Addison-Wesley.
Recommended web pages on complexity and computational modeling
The Santa Fe Institute, the ÒMecca of complexity studiesÓ: http://www.santafe.edu/
The Center for the Study of Complex Systems at the University of Michigan: http://www.pscs.umich.edu/ See especially Rick RioloÕs home page: http://www.pscs.umich.edu/PEOPLE/rlr-home.html for details on agent-based modeling, and Robert AxelrodÕs page: http://www-personal.umich.edu/~axe/ for general references to complexity.
The Center on Social and Economic Dynamics, Brookings Institution (follow link to Òagent based modelingÓ): http://www.brook.edu/ES/dynamics/models/ascape/
The European web sites on ÒComputer simulation of societiesÓ http://www.soc.surrey.ac.uk/research/simsoc/ and the ÒEuropean Social Simulation AssociationÓ http://essa.cfpm.org/ offer interesting links.
Leigh Tesfatsios provides a comprehensive web page on computational economics:
http://www.econ.iastate.edu/tesfatsi/ace.htm
See also the Journal of Artificial Societies and Social Simulation: http://jasss.soc.surrey.ac.uk/JASSS.html
and the Journal for Computational and Mathematical Theory (CMOT)
http://www.kluweronline.com/issn/1381-298X (from where PDF files can be downloaded)
Java resources:
We will rely extensively on the following textbook, which offers the best introduction to Java programming for beginners:
Schildt, Herbert. 2001. Java2: A BeginnerÕs Guide. Osborne McGraw Hill.
Should be available at the MIT Bookstore and Quantum Books (on Broadway by Kendall Square; do mention that youÕre taking this course which should guarantee a discount)
Those who already have previous programming experience, especially in C and C++, may want to consult:
Eckel, Bruce. 1998. Thinking in Java. Upper Saddle River, NJ: Prentice Hall.
See also http://www.mindview.net/
See also SunÕs New to Java Programming Center:
http://developer.java.sun.com/developer/onlineTraining/new2java/
and their Java Tutorial: http://java.sun.com/docs/books/tutorial/index.html
Virtually
all readings are on line. PDF indicates that they can be downloaded from the
URL given, or from CWP (the course web page) or from JSTOR (see Hollis
e-resources).
Course
schedule
January
29: Introduction
Course logistics including tools and readings. Overview of the contents.
February
5: The principles of agent-based modeling
Conceptual introduction to agent-based modeling. Installation of Java, RePast, and development environment.
Axelrod, Robert. 1997. ÒAdvancing the Art of Simulation in the Social
Sciences.Ó In Simulating Social Phenomena,
ed. Rosaria Conte, Rainer Hegselmann, and Pietro Terna. Berlin: Springer
Verlag.
PDF http://www-personal.umich.edu/~axe/research/AdvancingArtofSim.pdf
The Political Methodologist. 2001. Special issue on computational modeling (Number 1, Fall), pp. 12-27. PDF CWP.
Cederman, Lars-Erik. ÒComputational Models of Social Forms: Advancing Generative Macro Theory.Ó Ms. Harvard University. PDF CWP.
Also recommended:
Johnson, Paul E. 1999. ÒSimulation Modeling in Political Science.Ó American Behavioral Scientist 42: 1509-1530. PDF JSTOR.
Axtell, Robert. 2000. ÒWhy Agents? On the Varied Motivations of Agent Computing in the Social Sciences.Ó Brookings Institute. Center on Social and Economic Dynamics. Working Paper 17. PDF http://www.brook.edu/es/dynamics/papers/agents/agents.htm
Rosser, J. Barkley Jr. 1999. ÒOn the Complexities of Complex Economic Dynamics.Ó Journal of Economic Perspectives 13: 169-192. PDF JSTOR.
February
12: Java I
The history of Java. Overview of the language. Simple data types and program control.
Schildt Modules 1, 2, 3.
February
19: Java II
Object-orientation. Arrays and constants.
Schildt Module 4, 5 (pp. 169-182)
February 26: Java III
More on object-orientation (inheritance; interfaces etc). Collections.
Schildt Modules 6, 7
Eckel Chap. 8 or Sun Tutorial on collections
March 5: Introduction to RePast and Tutorial I
History of RePast; its main features. Introduction to the tutorial and the template mechanism. How to create and run a simple RePast model. The control panel.
RePast web page.
Cohen, Riolo, and Axelrod. 1999. ÒThe Emergence of Social Organization in the Prisoner's DilemmaÓ (SFI Working Paper). See http://www.santafe.edu/ (follow publications link).
Guide to the Tutorial. TBA.
RePast web page: ÒHow to build a modelÓ, ÒHow to use the GUIÓ
March
12: RePast Tutorial II
Using collections and random numbers in a simple evolutionary model.
RePast web page: ÒHow to work with random numbersÓ
March
19: RePast Tutorial III
Graphical user interfaces. Charts.
RePast web page: ÒHow to create chartsÓ
=== Spring Recess ===
April
2: RePast Tutorial IV
Graphical displays. Grids. Probes.
RePast web page: ÒHow to create displaysÓ
April
9: RePast Tutorial V
Batch runs. Parameter files. Output files. Advanced topics: schedules; customization.
RePast web page: ÒHow to use parameters and parameter filesÓ, ÒHow to collect dataÓ, ÒHow to use a scheduleÓ, ÒHow to create custom actionsÓ, ÒHow to create Property descriptorsÓ
April
16: Emergent-structure models
Schelling, Thomas C. 1978. Micromotives and Macrobehavior. New York: W. W. Norton. Chaps. 1, 5. HARD COPY.
Axelrod, Robert. 1997. The Complexity of Cooperation, Chap. 7. First published in the Journal
of Conflict Resolution 41 (1997): 203-226.
PDF JSTOR.
April 23: Emergent-network models
Albert, RŽka and Alert-L‡szl— Barab‡si. 2001. ÒStatistical Mechanics of Complex Networks.Ó In preparation. PDF http://www.nd.edu/~networks/Papers/review.pdf
Strogatz, S.H. 2001. ÒExploring complex networks.Ó Nature 410: 268-276.
PDF http://tam.cornell.edu/SS_exploring_complex_networks.pdf
April 30: Emergent-actor models
Bremer, Stuart A. and Michael Mihalka. 1977. ÒMachiavelli in Machina:
Or Politics Among Hexagons.Ó In Problems of World Modeling, ed. Karl W. Deutsch. Boston: Ballinger. HARD COPY.
Cederman,
Lars-Erik. 2002. ÒEndogenizing Geopolitical Boundaries with Agent-Based
Modeling.Ó Proceedings of the National Academy 99: 7796-7303. PDF Hollis e-resources.
Cederman, Lars-Erik. 2003. ÒModeling the Size of Wars: From Billiard Balls to Sandpiles.Ó American Political Science Review forthcoming in February. PDF CWP.