Simulations including multiple agents are present everywhere in our daily lives, from large-scale economics policies to epidemiology.
Agent-based modeling is even more effective when merged with modern AI techniques such as Reinforcement Learning.
This folder contains experiments on this topics
- October 2019 - First attempts to create a Sugarscape experiment. Developed a framework using Dataframes for accelerated computations. Yet too many interactions to code from scratch and low performance
- December 2019 - Discovered Unity for such simulations + ML Agents
- March 2019 - Due to COVID19 outbreak, I started experiments on Multi Agent modeling and social distancing. PyGame is a good candidate for 2D simulations similar to Unity but in Python. Many possibilities and spatial O(n2) interactions are really sped up thanks to colliders embedded in PyGame. Movements are still feasible up to 10k agents at least in my first experiments. Moved experiments in the westworld repo.
- Unity
- NetLogo
- MESA - Python
- SPADE - Python
- abcEconomics
- GAMA-Platform
- Manim by the great Grant Sanderson
- PyGame
- https://www.complexity-explorables.org/
- Sugarscape https://www.youtube.com/watch?v=r_It_X7v-1E
- youtube.com/watch?v=uVpN136q7N8
- youtube.com/watch?v=Bot5_DouTWg
- Ant-based modeling
- Set and reload data -> ok
- Animation over the simulation (gif ok, ipywidgets to go)
- Action framework with delayed deferrence
- Metrics storage for each agent
- Set up geographical zones and 2D maps with impossible moves
- Find closest agent method
- Wander method
- Launch simulation until certain time + early stopping
- Circle collider
- Optimizing tutorial towardsdatascience.com/speeding-up-python-code-fast-filtering-and-slow-loops-8e11a09a9c2f for more optimization
- A* algorithm for shortest path
- Heatmaps of navigation presence for retail use cases