Pols 905: Complex adaptive systems

Spring 2007

Paul Johnson pauljohn@ku.edu http://pj.freefaculty.org

Office: 518 Blake Hall 864-9086
Office Hours: T&W 1:30-3:00 (except when meetings conflict) & by appointment

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.

Technical Content:

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:

  1. 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.
  2. 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.

  1. 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.
  2. 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, like
I have code for other models that you can explore and play with, including

I have partially-done models that might be interesting to work on, including

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 listproc@ku.edu 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.

Pols 909 Weekly Schedule

1 (Jan 25) Introduction

For Background, you might make a mental note to check these out at some point

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.

2 (Feb. 1) Complexity before there was complexity theory

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 theory.

3 (Feb. 8) Cellular Automata: The Grand-daddy of 'em all.

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.
  1. Read this:

    1. Game of life: John Sprague. 1974. Class notes on John Conway's Game of Life.
    2. 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 needed)
    3. 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
  2. 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 same folks)

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, v39, pp1-24.

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 CA framework.
In Class:
Introduction to the C language and the GCC compiler

4 (Feb. 15) Maybe you like Turtles!

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 in C

5 (Feb. 22) The Big/Small Comlexity Picture

Before Class:
  1. See Lou Gross's excellent notes which overview the field of agent-based modeling. This is extremely useful.
    http://lark.cc.ku.edu/ pauljohn/ps905/GrossLectureNotes.fmt
  2. 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

6 (Mar. 1). How do get started with computer modeling?

Before Class:
Read Volker Grimm and Steven F. Railsback. Forthcoming. Individual-based Modeling and Ecology:
Chapter 6: Modeling Examples

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 called RopellaEtAl_NRM.pdf).

Play Around with Swarm, RePast, Ascape, Starlogo or any of the other Simulation libraries

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)

7 (Mar. 8) Artificial Societies

Before Class:
Read Joshua Epstein and Robert Axtell. 1996. Growing Artificial Societies
Swarm Sugar Scape in detail, adding a predator.

8 (March 15) Object-Oriented Programming

Before Class:
Read about Objective C as an example of Object-Oriented Programming
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.

9 (March 29) Swarm

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 (userbook.ps).

3. Swarm Development Group, ``Brief Overview of Swarm''. That's the first part of the Swarm Documentation Set.

10 (April 5)More Swarm if necessary

Swarm UserGuide Part II (Scheduling) and III Batch Swarm and Model Presentation

Here are some example applications you could consider

  1. 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.
  2. 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.
  3. Doug Donalson and R. M. Nisbet. 1999. Population dynamics and spatial scales: effects of system size on population persistence. Ecology. 80: 2492-2507.

11 (April 12) Artificial Stock Market and other ``how to'' advice

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

12 (April 19)The Opinion Formation Model

  1. 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 Press.
  2. Chapters 6 & 7 in Robert Huckfeldt, Paul Johnson, and John Sprague. 2004. Political Disagreement. New York: Cambridge University Press.

13 In Praise of the Prisoner's Dilemma

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 treatment in
Axelrod, Robert. 1984. The Evolution of Cooperation. New York:Basic Books.

Here are a some of short articles on the PD. This is a truly massive field of study:

  1. Nowak, M. and K. Sigmund. 1992. Tit for tat in heterogeneous populations. Nature, 355: 250-253.
  2. Nowak M. and K. Sigmund. 1993. A strategy of win-shift, lose-stay that outperforms tit-for-tat in the Prisoners' Dilemma game. Nature, 364: 56-57.
  3. Ken Binmore. Review of The Complexity of Cooperation by Robert Axelrod. Journal of Artificial Societies and Social Simulation, I. This is ON-LINE: http://www.soc.surrey.ac.uk/JASSS/1/1/review1.html.
  4. Martin Nowak and Robert May. 1992. Evolutionary games and spatial chaos. Nature, vol 359 (Oct. 29): 131-134.
  5. Bernardo Huberman and Natalie Glance. 1993. Evolutionary Games and Computer Simulations. Proc. Natl. Acad. Sci. USA, 90 (August): 7716-7718.
  6. Nowak, Martin, Bonhoeffer, S. and May, R.M. 1984. Spatial games and the maintenace of cooperation. Proc. Natl. Acad. Sci. (USA), v91, pp4877-4881. 1994.
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. 295-312.

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 5(1): 16-24.

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.

14 Voting Models.

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: 139-158.

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.

15 Killing time to fill up the semester

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: 365-70.

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 ElFarol:

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 Windoze machine).

16 Alternative Time Killing Material

Nicholaas J. Vriend. 1995. Self-Organization of Markets: An Example of a Computational Approach. Computational Economics 8: 205-231.

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. 1996.

About this document ...

This document was generated using the LaTeX2HTML translator Version 2002-2-1 (1.71)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, 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

Paul Johnson 2007-02-08