Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Santa Fe Institute

Agent-Based Models with Python: An Introduction to Mesa

Santa Fe Institute via Complexity Explorer

Overview

About the Tutorial: This tutorial introduces Agent-Based Modeling with the python-based libraryMesa, throughthe seminalSugarscape with Traders model fromGrowing Artificial Societiesby Joshua M. EpsteinandRobert L. Axtell (1996). This model represents an advanced beginner model and users should have some introductory experience to Python or other object oriented language syntax. This tutorial consists of 21 lessons with two introductory lessons, 18 coding lessons, and a brief conclusion. The tutorial is demonstratedthrough Google Colab, which is free to anyone witha Google account, and no installations or other environment setupis needed. Each lesson's code is available through Complexity Explorer'sGitHub pageand the entire code is available through Mesa's examples repository. About the Instructor(s): Thomas Pike has been on the Mesa developmentsince 2018, when he made his first contribution while attending the Santa Fe Institute's Complex Systems Summer School. He earned his Ph.D. in Computational Social Science from George Mason University and is a strong advocate for technical literacy and open source software as a global public good. His main areas of research are on the use of agent-based models to support policy development and using complex systems to understand the dynamics of resilient and robust democracies. Jackie Kazil is one of the creators of Mesa and a former White House Presidential Innovation Fellow. She started the project in 2015 after noticing a gap in the Python ecosystem for a library that does agent-based modeling. She is a leader in the Python community and an advocate for open source and accessibility to technology. She worked on her Ph.D. at George Mason University in Computational Social Science with a research area focused in the development of Mesa and agent-based modeling tooling in Python.

Syllabus

  • Session 1: Introduction
  • Session 2: Sugarscape with Traders Overview
  • Session 3: Start Google Colab & Initiate Classes
  • Session 4: Upload the Landscape
  • Session 5: Agentize the Landscape Part I
  • Session 6: Agentize the Landscape Part II
  • Session 7: Initialize Traders
  • Session 8: Sugar & Spice Step Functions
  • Session 9: Traders Move Part I (Initiate Move)
  • Session 10: Traders Move Part II (Identify Neighbors)
  • Session 11: Traders Move Part III (Maximize Welfare)
  • Session 12: Traders Move Part IV (Move to Best Closest Option)
  • Session 13: Traders Eat
  • Session 14: Traders Trade Part I (Get Neighbors)
  • Session 15: Traders Trade Part II (MRS & Price)
  • Session 16: Traders Trade Part III (Trade Sugar & Spice)
  • Session 17: Traders Trade Part IV (Complete Trade)
  • Session 18: Data Collector (Model Level)
  • Session 19: Data Collector (Agent Level)
  • Session 20: Batch Run
  • Session 21: Conclusion

Reviews

Start your review of Agent-Based Models with Python: An Introduction to Mesa

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.