Multiagent simulation methods: pyNetlogo+Netlogo or mesa or VMAS

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

VMAS

mesa

A recent youtube content. Try it later.

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.

Reference:

https://github.com/topics/multi-agent-simulation