Paul Johnson firstname.lastname@example.org http://pj.freefaculty.org
Office: 518 Blake Hall 864-9086
Office Hours: T&W 1:30-3:00 (except when meetings conflict) & by
Course Objective: To introduce the philosophy
and technology that support agent-based modeling. Examples will be
drawn from many disciplines. The course will introduce computing approaches
in a free/open/GNU software environment.
Many graduate students in social science have never
written a computer program. It is necessary for everybody to learn,
if not for the purposes of a research paper, then for the development
of personal skills and knowledge. All students will learn the basics
of the C language in this course. The Swarm Simulation Toolkit is
written in Objective-C, which is C with some additional commands.
People who learn C and Objective-C will find Java quite easy to learn,
and C++ will also be easily within reach.
(80%) Everybody is required to write a research
paper. The paper must be distributed to the teacher and all students
and there will be an in class (10-30 minute) presentation. There are
2 options for the research paper:
- Create a simulation model and write a research report about it. Papers
will be presented to the class at the end of the semester. Papers
of this sort have, in the past, been submitted to journals, and some
have been published! The model need not be done in Swarm. Any language,
C, SAS, Matlab, Mathematica, or any pre-packaged kit, like StarLogo
can be used. We should discuss it.
- Write a comprehensive literature review that includes every article
or book about simulation in some subfield in any science.
(10%) Weekly exercises/tutorials
(10%) Class discussion/participation.
If you want to create a new model
There are 2 recipes for success.
- Create some kind of theory and build a model of it and write it up.
This may be the most satisfying over the long run, but it is also
the most painful in the short run.
- Find some model that has already been done, then get the code for
it, or write code for it, and then add some features and write a paper
about your modeling experience. During the past 2 years, I've accumulated
a pretty good set of code that you can use for this purpose. I have
code that can allow you to replicate and explore some classic models,
- The Santa Fe Artificial Stock Market (described in my SSCORE article)
- The Axelrod Culture Model (several chapters on that)
- The Social Impact Model of Public Opinion (code available)
- Thomas Schelling's neighborhood segregation model
- Conway's game of life
- The El Farol Model (with Katie Lofton)
- A Swarm version of the SugarScape model (originally by Nelson Minar)
- Arborgames: (forest fires and generational composition of forests)
I have code for other models that you can explore
and play with, including
- The Protest model described in Brichoux&Johnson, 2002 JASSS
- A model of parliamentary elections in ``mixed electoral systems''
(an MPSA paper done with Erik Herron in 2005)
- A model of ballet dancing
- ``The American Candidate,'' a model of an American Idol style
presidential election that I wrote with Micheal Struemph.
I have partially-done models that might be interesting
to work on, including
- a model of dynamics of opinion within marriage
I suggest that we might work together on the programming
part of the exercise and then co-author at the end if that seems appropriate.
E-mail List: Please join the KU email list
swarm-l. Address an email to email@example.com and in the body of your
email put this, and only this:
subscribe SWARM-L Your-Name-Here
For example, for me it was
subscribe SWARM-L Paul Johnson
Unless you are named Paul Johnson, you will have to adjust this a
bit :)! You need to send that email from your regular email setup
(I mean whatever program or "client" you use to
read and send mail) because the listproc program reads your reply-to
address from your email's header information.
For Background, you might make a mental note to check these out at
Paul Johnson, ``Simulation Modeling in Political Science,'' American
Behavioral Scientist, 42,10, August, 1999.
Robert Axelrod. 1997. Advancing the Art of Simulation in the Social
Sciences. In Rosaria Conte, et al., eds. Simulating Social Phenomena,
Berlin: Springer, pp. 21-40.
Thomas Schelling, Macromotives and Microbehavior. The vital
chapters are 1 and 4, but you might skim over 2 & 3 on the way, and
chapter 7 is a classic on N-person Prisoner's Dilemmas. (Avid readers
might look at Thomas C. Schelling. 1973. ``Dynamic Models of Segregration.''
Journal of Mathematical Sociology, 1:143-186.)
Mark Granovetter. 1978. "Threshold Models of Collective Behavior."
American Journal of Sociology, 83 (May): 1420-1443.
- In Class:
- demonstration of Swarm model of Schelling's segregation
- The Cellular Automaton (CA) is the ``basic framework''
from which many approaches/metaphors flow. The most famous of these
is Conway's ``Game of Life''. Schelling's tipping model of segregation
can also be viewed as a CA.
- BEFORE CLASS
- Read this:
- Game of life: John Sprague. 1974. Class notes on John Conway's Game
- Nigel Gilbert and Klaus G. Troitzsch. 1999. Chapter 7, ``Cellular
Automata''. Simulation for the Social Scientist. Buckingham:
Open University Press. pp. 120-141. (the last part on Lisp is not
- Andrzej Nowak and Maciej Lewenstein. Modeling Social Change With Cellular
Automata. In Modeling and Simulation in the Social Sciences
from a Philosophical Point of View. Hegselmann et al., eds. Kluwer,
Boston, pp. 249-285
- Do the ``ConwayTutorial'' exercise I've written up. It gives the
exact commands you can use to build and run a Conway model for yourself
in Swarm. Look on the course homepage. Snoop about on the internet
for references to Conway's game of life.
Optional: (There are many articles by these
Andrzej Nowak, Jacek Szamrej, and Bibb Latane, ``From
Private Attitude to Public Opinion: A Dynamic Theory of Social Impact.''
1990. Psychological Review 97(3): 362-376.
Measuring Emergent Social Phenomena: Dynamism Polarization,
and Clustering as Order Parameters of Social Systems. Latane, Bibb,
Nowak, Adrzej and Liu, James H. (1994) Behavioral Science,
Social dilemmas exist in space. Nowak, Adrzej, Latane,
Bibb and Lewenstein, Maciej. (1994) Pp 269-289 in Social Dilemmas
and Cooperation. Schulz, U., Ablers, W. and Mueller, U. (eds). Springer-Verlag.
Clustering processes in economic transition. Nowak,
Adrzej, Urbaniak, Jakub and Zienkowski, Leszek. (1996) Pp 42-61.
- In Class:
- Demonstration of the Social Impact model I've prepared
with Swarm. I've made a number of enhancements to the model that incorporate
features that cannot be incorporated into the CA representation of
the model, so you can see the limitations and the strengths of the
- In Class:
- Introduction to the C language and the GCC compiler
- Before Class:
- Read Resnik's Turtles... book:
Mitchel Resnik. 1997. Turtles, Termites, and Traffic Jams: Explorations
in Massively Parallel Microworlds. MIT Press/Bradford Books.
Then try out Starlogo on a computer. It is always exciting to see
if Starlogo will work at a given time. Hopefully, I will have Starlogo
available on the Linux systems in the Political Science Labs. In the
Lab, I will make it so that Starlogo runs if you open a terminal and
type ``starlogo-unix.'' It can be easily installed on your own
computers. It does require the free (but large) Sun Java Runtime Environment,
which you may already have. I've found the instructions do not exactly
match the actual ``how to'' run this, but it does seem to work
(after investing only 30 minutes!)
- In Class:
- Demo of StarLogo
- In Class:
- Conditional expressions and mathematical calculations
- Before Class:
- See Lou Gross's excellent notes which overview the field of agent-based
modeling. This is extremely useful.
- Mitchell Waldrop, Complexity.
This is the story of Santa Fe Institute legends Chris Langton, Stuart
Kauffman, & Brian Arthur. It will introduce you to a lot of the jargon
that goes on with the ``complex adaptive systems'' material. Everybody
should choose one of these authors and try to really understand
what they were working on and why it is important.
- In Class:
- Functions in C
- In Class:
- Arrays, Pointers, and data structures in C
Chapter 6: Modeling Examples
- Before Class:
- Read Volker Grimm and Steven F. Railsback. Forthcoming.
Individual-based Modeling and Ecology:
Chapter 7: Formulating Individual-based Models
Chapter 8: Software for Individual-based Models
Many of these themes are echoed in this fine essay:
Glen E. Ropella, Steven Railsback, and Steven Jackson,
``Software Engineering Considerations for Individual-based Models,''
Natural Resource Modeling, V. 15(1) Spring 2002. (There's a pdf available
Starlogo fans could get a copy of the play-along workbook, Vanessa
Stevens Colella, Erik Klopfer, and Mitchel Resnik, Adventures
in Modeling: Exploring Complex, Dynamic Systems with StarLogo. Teachers
College Press (Columbia University)
- In Class:
- Objective-C (extensions of the C language)
- Before Class:
- Read Joshua Epstein and Robert Axtell. 1996. Growing
- Swarm Sugar Scape in detail, adding a predator.
- Before Class:
- Read about Objective C as an example of Object-Oriented
Reading 1. Larkin, Don and Greg Wilson, 1993. Object-Oriented
Programming and the Objective-C Language. Redwood City: NeXT Software,
chapters 1-3. You can read this online, in html or Adobe pdf format.
See the SwarmOnlineFaq for current links. If you have the printed
book, that refers to pp. 1-88. If you are reading online in HTML,
I mean the chapters called ``Introduction'', ``Object-Oriented
Programming'' and ``The Objective-C Language''.
Exercise: Swarm Tutorial
simpleSwarmBug, parts 1-3
simpleObserverBug, parts 1-2
simpleBatchBug, parts 1-3
Recommendation. Download a copy of the Swarm
Documentation in html format, or some other format you like.
1. Nelson Minar, Roger Burkhart, Chris Langton, Manor
Askenazi. 1996. The Swarm Simulation System: A Toolkit for Building
Multi-agent Simulations. http://www.swarm.org
2. Paul Johnson, Alex Lancaster, Benedikt Stefansson.
Swarm User Guide. Available at http://pj.freefaculty.org/Swarm/Beta/SwarmUserGuide.
There is an html version ``userbook.html'' and a postscript version
3. Swarm Development Group, ``Brief Overview of
Swarm''. That's the first part of the Swarm Documentation Set.
Swarm UserGuide Part II (Scheduling) and III Batch Swarm and Model
Here are some example applications you could consider
- Ginger Booth. 1997. Gecko: A Continuous 2D World for Ecological Modeling.
Artificial Life 3: 147-163.
This extends the previous article, that you might also consider:
Oswald Schmidt and Ginger Booth. 1997. Modelling food web complexity:
The consequences of individual based, spatially explicit behavioural
ecology on trophic interactions. Evolutionary Ecology 11: 379-398.
- Jan-Ulrich Kreft, Ginger Booth, and Julian W.T. Wimpenny. 1998. BacSim,
a simulator for individual-based modeling of bacterial colony growth.
Microbiology 144: 3275-3287.
- Doug Donalson and R. M. Nisbet. 1999. Population dynamics and spatial
scales: effects of system size on population persistence. Ecology.
Please see http://artstkmkt.sourceforge.net.
Paul E. Johnson, ``Agent-Based Modeling: What I Learned From the
Artificial Stock Market,'' Social Science Computer Review,
V 20(2) Summer 2002, p. 174-186.
W.Brian Arthur, John H. Holland, Blake LeBaron, Richard Palmer, and
Paul Tayler. Asset Pricing Under Endogenous Expectations in an Artificial
Stock Market. SFI working paper.
- In Class:
- The ASM code base and possible extensions
- Axelrod, Robert. 1997. ``Chapter 7: Dissemiating Culture'' and
``Appendix A: Replication of Agent Based Models'' In Robert Axelrod,
The Complexity of Cooperation. Princeton, NJ: Princeton University
- Chapters 6 & 7 in Robert Huckfeldt, Paul Johnson, and John Sprague.
2004. Political Disagreement. New York: Cambridge University
Reading 1. (If you have not read this yet, do it now) Robert Axelrod.
1981. The Evolution of Cooperation among Egoists. American Political
Science Review 75 306-318.
If you find that article too forbidding, it was given a book-length
Axelrod, Robert. 1984. The Evolution of Cooperation. New York:Basic
Here are a some of short articles on the PD. This is a truly massive
field of study:
- Nowak, M. and K. Sigmund. 1992. Tit for tat in heterogeneous populations.
Nature, 355: 250-253.
- Nowak M. and K. Sigmund. 1993. A strategy of win-shift, lose-stay
that outperforms tit-for-tat in the Prisoners' Dilemma game. Nature,
- Ken Binmore. Review of The Complexity of Cooperation by Robert Axelrod.
Journal of Artificial Societies and Social Simulation, I. This is
- Martin Nowak and Robert May. 1992. Evolutionary games and spatial
chaos. Nature, vol 359 (Oct. 29): 131-134.
- Bernardo Huberman and Natalie Glance. 1993. Evolutionary Games and
Computer Simulations. Proc. Natl. Acad. Sci. USA, 90 (August): 7716-7718.
- Nowak, Martin, Bonhoeffer, S. and May, R.M. 1984. Spatial games and
the maintenace of cooperation. Proc. Natl. Acad. Sci. (USA), v91,
I wish somebody who has seen the PD material before
would do some ``reading up'' on the spatial Prisoner's Dilemma
literature. Here is a little list of things that I'm aware of:
Nowak, M.A. and R. May. 1993. The spatial dilemmas of evolution. International
Journal of Bifurcation and Chaos, 3: 35-78. (I have a copy of this,
our library does not)
Lindgren, Kristian. 1991. Evolutionary Phenomena in Simple Dynamics.
In Christopher G. Langton, J. Doyne Farmer, S. Rasmussen and C. Taylor,
eds. Artificial Life II. Reading, Mass.: Addison-Wesley, pp.
Lomberg, Bjorn. 1996. Nucleus and Shield: The evolution of social
structure in the iterated Prisoner's Dilemma. American Sociological
Review 61: 278-307.
Steven Majeski, Greg Linen, COrina Linden, and Aaron SPitzer. 1999.
Agent Mobility and the Evolution of Cooperative Communities'' Complexity
Steven Majeski, Greg Linden, Corina Linden, and Aaron Spitzer. 1999.
A Spatial Iterated Prisoners Dilemma Game Simulation with Movement.
In R Conte, R Hegselman, and P. Terna, eds. Simulating Social
Phenomena. Berlin: Springer-Verlag, 161-167.
Ken Kollman, John H. Miller, and Scott E. Page. 1992. Adaptive Parties
in Spatial Elections. American Political Science Review 86: 929-937.
Kollman, Ken, John H. Miller, and Scott E. Page. 1998. Political parties
and electoral landscapes. BritishJournal of Political Science 28:
Johnson, Paul E. 1996. Unraveling in a Variety of Institutional Settings.
Journal of Theoretical Politics 8(3): 299-300.
Kollman, Ken, John H. Miller, and Scott E. Page. 1997b. Political
Institutions and Sorting in a Tiebout Model. American Economic
Review 87 (December): 977-992.
Kollman, Ken, John H. Miller, and Scott E. Page. 1997a. Computational
Political Economy. In W. Brian Arthur, Steven N. Durlauf, and David
A. Lane (eds.) The Economy as an Evolving Complex System II. Reading,
MA: Addison-Wesley, pp. 461-490.
Outlooks on Computer Modeling.
(This is a reading week to allow a ``catch-up''
period on the programming issues)
Reading 1. Paul Johnson, Rational Actors Versus Adaptive
Agents. 1998. I have copies available online at http://lark.cc.ku.edu/ pauljohn/ResearchPapers/APSA98-MTHDS.
Reading 2. John Casti. 1997. Would Be Worlds, pp. 13-30.
Reading 3. Steve Bankes, 1993. Exploratory Modeling
For Policy Analysis. Operations Research. 41: 435-449.
Reading 4. John Holland and John Miller. 1991. Artificial
adaptive agents and economic theory. American Economic Review. 81:
Reading 4-alternate. Richard K. Belew, Melanie Mitchell,
and David H. Ackley. 1996. Computation and the Natural Sciences. In
R.K.Belew and M. Mitchell, eds. Adaptive Individuals in Evolving Populations.
(Addison-Wesley), pp. 431-440.
Reading 6. Robert Axelrod. 1997. The Complexity of
Cooperation, pp. 3-6.
Reading 7. John L. Casti. 1996. Seeing the Light
at the El Farol. Complexity. pp. 7-10.
In case you are interested, there is much more on
W. Brian Arthur. 1994. Inductive Reasoning and Bounded
Rationality. American Economic Review 84: 406-411
(and the related ``minority game'') D.Challet
and Y.-C. Zhang. Emergence of Cooperation and Organization in an Evolutionary
Game. This and more can be found at this web site: http://www.unifr.ch/econophysics.
Look for the link to the Minority Game, and then to Damien Challet's
site. He has preprints of everything. Get a postscript reader for
.ps files. (There's a free reader called GhostView if you are on a
Nicholaas J. Vriend. 1995. Self-Organization of Markets:
An Example of a Computational Approach. Computational Economics 8:
Peter Albin and Duncan K Foley. 1992. Decentralized,
Dispersed Exchange Without an Auctioneer. Journal of Economic Behavior
and Organization. 18: 27-51.
Robert Hoffmann and Nigel Waring. The Localization
of Interaction and Learning in the Repeated Prisoner's Dilemma. SFI
Working Paper 96-09-xx.
14. Topics of student interest/ Presentations
15. Topics of student interest/ Presentations Watts,
Duncan and Strogatz, Steven H. Collective dynamics of 'small-world'
networks. Nature, v393, 440-443. 1998. Reality Rules: picturing the
world in mathematics. Casti, J. L. New York : J. Wiley, c1992. Would-Be
Worlds: How Simulation is Changing the Frontiers of Science. Casti,
John. Wiley, NY. 1997. Abbrev: WBW Hidden Order: How Adaptation Builds
Complexity. Holland, John H. The MIT Press, 1995. Emergence: From
Chaos to Order. Holland, John H. Addison Wesley, Reading MA. 1998.
Out of Control Kelly, Kevin. Addison Wesley. 1996. How Nature Works:
the science of self-organized criticality. Bok, Per. Springer-Verlag.
This document was generated using the
LaTeX2HTML translator Version 2002-2-1 (1.71)
Copyright © 1993, 1994, 1995, 1996,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999,
Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html -no_navigation -contents_in_navigation -no_subdir -split 0 -show_section_numbers /tmp/lyx_tmpdir25366V7kMyA/lyx_tmpbuf0/syllabus07.tex
The translation was initiated by Paul Johnson on 2007-02-08