Course topics
Topics are subject to change and rearrangement! (We may also not get through all the topics listed)
Lecture slides, links to assignment instructions, and readings will be posted in each topic as we get to them.
1. Introduction to agent-based models (ABMs)
Topics covered: overview of basic concepts, coding intro, why model?, intro to ABMs and their pros/cons, philosophy of complex systems, emergent behavior/phenomena, classic examples in biological, social, and physical systems, etc.
- Lecture 1: Introduction and overview (1/9/20)
- Slides - what are models, why model, emergent behavior, complex systems
- Readings
- Lecture 2: Introduction to Agent-Based Models (1/14/20)
- Lecture 3/Lab 1: Examples & Features of Agent-Based Models (1/16/20)
- Lecture 4/Lab 1: Case study: Modeling the Ancestral Puebloan communities of Long House Valley (the Artificial Anasazi Project (AAP)) / Continue Lab 1 (1/21/20)
- Slides
- Continue Lab 1
- Readings
- Papers on the AAP (see also the references in the slides)
- Broader reading on ABMs (for Lab 1): Wilensky and Rand, Chp. 3-4
- Intro to the PyCX library for simulating complex systems models in Python (1/23/20)
2. Cellular automata
Topics covered: overview of basic cellular automata (CA) concepts, emergent behavior, classes of CA, examples of CA (e.g. Conway’s Game of Life), coding and analysis methods for CA, applications
- Lecture 5: Intro to cellular automata (1/28/20)
- Lecture 6: Cellular automata dynamics (1/30/20, wrap up 2/4/20)
- Lab 2 (Posted 2/6/20, due 2/18/20)
3. Networks
- Lecture 7: Introduction to Networks (2/4/20, finish up 2/11/20)
- Lab 2 (posting here also, since it includes networks – posted 2/6/20, due 2/18/20)
- Lecture 8: Random networks, dynamics on networks and of networks (2/13/20 and 2/18/20)
- Lecture 9: Adaptive networks, mean-field approximation of networks (2/20/20 and 2/25/20)
- Lab 3 (Posted 2/27/20, due 3/10/20)
4. Parameter sweeps, sampling, and sensitivity analysis
- Lecture 10: Sampling, visualization, uncertainty (3/10/20)
- Slides
- Readings
- PARTE (Properties, Actions, Rules, Time, Environment) framework
- ODD (Overview, Design concepts, and Details) Protocol
- Yang Y, Roux AV, Auchincloss AH, Rodriguez DA, Brown DG. A spatial agent-based model for the simulation of adults’ daily walking within a city . American journal of preventive medicine. 2011 Mar 1;40(3):353-61.
- Lecture 11: Sensitivity analysis (3/12/20)
- Lab 4 (Posted 3/31/20, due 4/9/20)
5. Advanced/additional topics
Topics: Uncertainty, inference robustness, model comparison, MCMC, working with micro- and macro-level data and ABMs, more advanced environments (e.g. GIS), game theory
- Lecture 12: Model Analysis (3/24/20)
- Lecture 13: Game & decision theory (3/26/20)
- Lecture 14: Introduction to parameter estimation (4/2/20)
- Thinking about the challenges of linking data with highly complex models, and what these approaches can (and can’t) tell you
- Slides
- Lecture 15: Parameter estimation with ABMs and complex systems models
- Sampling based methods, including basics of approximate Bayesian computation, sample importance resampling, MCMC (Markov Chain Monte Carlo), etc.
- Slides
- Readings
- Example code
- Lecture 16: ABM Environments
- Slides
- Mapping tutorials
- Making 3 Easy Maps in Python - the point map example here may be particularly useful for visualizing agents on a map (where you can define their x,y locations in terms of e.g. latitude and longitude). This uses the module
folium
, which is one of the common mapping packages.
- Making maps in Basemap This is another package for mapping, and you can similarly do point maps and plot other features on the map. The syntax for
basemap
seems pretty straightforward, so this may be a useful package to consider also. There’s an additional tutorial for Basemap here also.
Additional useful info
Useful links and extra readings will be posted here.
Coding and typesetting resources
Overall Coding Resources
ABM Resources
- Modules/packages for agent-based modeling
Math Resources
Books used in the course
Interesting papers and extra readings