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
- Lecture 2: Introduction to Agent-Based Models
- Slides - how to choose a
modeling framework, intro to ABMs
- Readings
- Lecture 3: Case study: Modeling the Ancestral Puebloan communities
of Long House Valley (the Artificial Ancestral Puebloan Project (AAP))
- Slides
- Readings
- Papers on the AAP (see also the references in the slides)
- Lab 1: Introduction to ABMs, NetLogo, and Python
- Intro to the PyCX library for simulating complex systems models in
Python
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 4: Intro to cellular automata
- Slides
- Readings
- Miscellaneous interesting things
- Lecture 5: Cellular automata dynamics
- Lab 2: Cellular Automata and Intro to Networks
3. Networks
- Lecture 6: Introduction to Networks
- Lecture 7: Random networks, dynamics on networks and
of networks
- Lecture 8: Adaptive networks, mean-field approximation of networks
4. Parameter sweeps, sampling, and sensitivity analysis
- Lecture 9: Sampling, visualization, uncertainty
- 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 10: Sensitivity analysis
- Jeff Dunworth Guest Lecture - Computational neuroscience: how
network structure impacts function
- Lecture 11: Analyzing Model Outputs
- Lab 4: Parameter sampling and sensitivity
- Lecture 12: Parallel Computing
5. Parameter estimation from data
Topics covered: parameter estimation, MCMC, parameter identifiability
& uncertainty, model comparison (e.g. AIC/BIC/etc)
- Lecture 13: Introduction to parameter estimation
- Lecture 14: Introduction to Bayesian parameter estimation & MCMC
- Lecture 15: Identifiability
- Lecture 16: Model selection and the AIC
6. Advanced/additional topics
- Potential Topics:
- decision/game theory
- chaos and fractals
- classic example complex systems models (Kuramoto oscillators,
Sugarscape, etc.)
- more advanced environments (e.g. putting ABMs on GIS)
- active subspaces, dimension reduction
- model selection
- clustering, PCA
- machine learning and complex systems
- webpage scraping, basics of API’s, pulling data from various places
(social media, google, government sources)
- Lecture 17: Machine learning and AI
- Lecture 19: Game & decision theory
- Lecture 20: Machine learning and AI
- Additional Materials: ABM Environments and Mapping/GIS
- Intro
to mapping with Folium
- Predator-prey
bubble tea example
- 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