Skip to content

Python ports of popular NetLogo models for MARL experiments

Notifications You must be signed in to change notification settings

smarianimore/RL-swarms

 
 

Repository files navigation

Slime environment for MARL

This project is a porting of NetLogo "Slime" simulation model to Python, and to Farama Foundation Gymnasium. The goal is to make such model available to 3rd party (MA)RL libraries such as stable-baselines3 and Ray RLlib. The motivation is to experiment with (MA)RL applied to communication actions for achieving coordination amongst agents.

Project structure

The project is under development, hence everything is provisional and subject to change, nebertheless any meaningful change will be reported here. The most advanced development branch is sm-baselines-api, where the single agent environment is compatible with Gym (still need to check Gymnasium) and on its way to be compatible with stable-baselines3.

There, the project is structured as follows:

slime_environments
|__environments
   |__SlimeEnvSingleAgent.py         # single agent learning environment
   |__SlimeEnvMultiAgent.py          # multi-agent learning environment
|__agents
   |__MA_QLearning.py                # independent Q-learning
   |__SA_QLearning.py                # single agent Q-learning
   |__multi-agent-params.json        # multi-agent environment params
   |__single-agent-params.json       # single agent environment params
   |__ma-learning-params.json        # multi-agent learning params
   |__sa-learning-params.json        # single agent learning params

About

Python ports of popular NetLogo models for MARL experiments

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.5%
  • Shell 0.5%