Based on a specific NetLogo program, I plan to develop it further with reinforcement learning, consisting of a preliminary survey for suitable methods of multiagent simulation in a Python 3.8+ environment. Meanwhile, my plan includes continuing to update the experiments of the candidate methods.
2022-12-2 Updated.
I tested pyNetlogo
and mesa
in the last few days. Though the both worked. pyNetlogo
is no GUI on my mac environment; mesa
lacks rich examples to study. The recently found item, VMAS, is a SOTA tool developed by the Cambridge team.
The description from VMAS github site.
VMAS has wrappers for RLlib and OpenAI Gym. RLlib has a large number of already implemented RL algorithms.
2022-22-26 Original contents
Why multiagent simulation?
Multiagent simulation is a visual technology assisting in understanding natural or systemic dynamics. The such simulation consists of action rules and agent strategies in a designed environment. The interactions of agent-environment and agent-agent as markovian processes provide observation or insight into system dynamics. The essence of the art of multiagent simulation is the abstraction and simplification of the real world.
A preliminary survey for suitable methods of multiagent simulation
My standards of suitable methods:
- Open source with detailed description
- Python 3.8+
- Reinforcement learning compatible
- PyTorch based prefer
VMAS
PyTorch based high ranked multiagent simulation tool with the latest updates.
Points:
- VMAS is a vectorized framework designed for efficient MARL benchmarking.
- Vectorization in PyTorch allows VMAS to perform simulations in a batch, seamlessly scaling to tens of thousands of parallel environments on accelerated hardware.
- VMAS has an interface compatible with OpenAI Gym and with the RLlib library, enabling out-of-the-box integration with a wide range of RL algorithms.
- Paper: https://arxiv.org/abs/2207.03530
mesa
A recent youtube content. Try it later.
pyNetlogo
The official site: https://pynetlogo.readthedocs.io/en/latest/install.html
Note:
- Not competible for Python 3.9, but 3.8 is fine, according to the following youtube contents.
- Need to install JDK. JDK 17 confirmed. Not the latest version of JDK 19.
On a Mac, only headless mode (without GUI) is supported.
, the comment in its official document.