Hi, Welcome to ABM4ALL!
ABM4ALL is a developing community among agent-based modelers for sharing ideas and resources. Currently, the projects are created and maintained by Songmin Yu and Zhanyi Hou.
- Melodie - a general framework for developing agent-based models (ABMs) in Python.
- MelodieStudio - a package developed in parallel with Melodie which interacts with the
Melodie.Visualizermodule and visualizes the simulation results in the browser in real-time. - tab2dict - a detailed package for managing input data in ABMs.
- melodie_spec - a structural prompt kit that empowers AI agents to bootstrap Melodie Agent-Based Models from a simple story.
To start, our documentation is the best option. The tutorial section gives you a detailed explanation of the covid_contagion model, which is a minimum example containing all the core modules provided by Melodie for developing agent-based models.
- Then, for those who are familiar with Mesa or AgentPy, we also provide a comparison between Melodie and the two packages. We prepared the code implementing the tutorial model with Mesa and AgentPy.
- Furthermore, starting from the tutorial model covid_contagion, following models are also provided with code and documentation to showcase the use of other optional modules in Melodie:
Grid[code, doc]: supports simulations where agents move and interact on a 2D discrete space.Network[code, doc]: supports simulations where agents interact based on a graph topology.VisualizerandMelodieStudio: visualizes the simulation results in the browser in real-time.Calibrator[code, doc]: auto-calibrates the model parameters to match the empirical data using Genetic Algorithm.Trainer[code, doc]: searches strategies for agents to maximize their utility using evolutionary reinforcement training.
Finally, apart from the examples in the Melodie repo, we will also share other (probably more complicated) models developed with Melodie. At the moment, we have DatingMarket, which showcases how tab2dict can be used in Melodie.
We really hope ABM4ALL is useful for you, and most importantly, inspires you to join the ABM community!